美团技术沙龙04 - Kv Tair best practise

22
Kv-Tair best practise Nosql 集群 物理架构 idc多机房 sla 典案例
  • date post

    23-Jan-2018
  • Category

    Engineering

  • view

    801
  • download

    12

Transcript of 美团技术沙龙04 - Kv Tair best practise

Page 1: 美团技术沙龙04 - Kv Tair best practise

Kv-Tair best practise

�  Nosql 域

�  美 集群 状

�  物理架构

�  技

�  idc多机房

�  sla

�  典案例

�  系 演

Page 2: 美团技术沙龙04 - Kv Tair best practise

Nosql 域

CAP 数据模型

离VS在

迁移

数据冗灾 Vs故障恢复

数据分区

分布式算法

硬件施

中心vs去中心

数据完整性

内存形vs磁

4高原

模型

程模型

数据

兼容

启延 控 运

冷数据

Page 3: 美团技术沙龙04 - Kv Tair best practise

美 集群 状

Page 4: 美团技术沙龙04 - Kv Tair best practise
Page 5: 美团技术沙龙04 - Kv Tair best practise

物理架构

Client

Master Slave ConfigServer

DataServer

heartbeat

Page 6: 美团技术沙龙04 - Kv Tair best practise

oct

Kv

tsdb

zabbix

Kv port

databus

Redis-trasfer

mysql redis

Gtest gcover valgrind

Bench mark

Profile gprofile

systemtap

tair

client

Page 7: 美团技术沙龙04 - Kv Tair best practise

多机房-背景&关 点�  域

数据量大、无 迁移、 故障、 写并 大、本地加速

�  技 关 点 �  Snapshot + redolog 和 snapshot + w = snapshot’ �  Pipline �  Data relay �  断点重 �  限速migrate �  智能客 端 �  Check 一致性 �  并 回放

Page 8: 美团技术沙龙04 - Kv Tair best practise

idc多机房架构

Page 9: 美团技术沙龙04 - Kv Tair best practise

sla

�  可用性 �  99.95% vs 99.99%

�  定性 �  超出系 界的 提供系 界内的 (集群0故障) �  系 界内曲 平滑(tp90、tp99)

�  Fast fail&recover �  快速 �  系 , 列 弃

�  可靠性

�  一致性

Page 10: 美团技术沙龙04 - Kv Tair best practise

Qps vs latency

�  Qps越高越好? �  5wqps 100ms(千分之一) vs 3wqps 100ms(万分之一)

�  Qps作用 �  省机器 源

�  Qps衡量粒度 �  1s衡量是不 的 (2微秒(50w qps)内1w 求同 达到) �  1ms 位

�  延 �  可用性生命

Page 11: 美团技术沙龙04 - Kv Tair best practise

5.1 sla-模型分析 估�  物理 源:cpu、内存、disk、网 、跨idc

�  模型:低延 、高吞吐、 易 value、 qps、高并 、冷数据

�  源模型: 接池、 程池( 程角色)、内存池、 象池

�  系 用:malloc、mmap、mutex、disk io & netio、程上下文切

�  数据格式:jason、序列化、数据交

Page 12: 美团技术沙龙04 - Kv Tair best practise

1.3 sla 化-工具集

�  Profile �  分析

�  置 �  宏 slice耗 比率分析

�  Systemtap �  分析系 用耗

�  程挂起耗

�  Gprofile �  Cpu耗

Page 13: 美团技术沙龙04 - Kv Tair best practise

profile

�  Profile �  分析

�  置 �  宏 slice比率分析

�  Systemtap �  分析系 用耗

�  程挂起 度耗

�  Gprofile �  Cpu耗

Page 14: 美团技术沙龙04 - Kv Tair best practise

systemtap

Page 15: 美团技术沙龙04 - Kv Tair best practise

gprofile

Page 16: 美团技术沙龙04 - Kv Tair best practise

案例分析-名店 (25w)

Page 17: 美团技术沙龙04 - Kv Tair best practise

2.2 名店 峰 超

Page 18: 美团技术沙龙04 - Kv Tair best practise

原因�  网 慢?

�  虚 机器 ?

�  Dataserver?

�  是?

Page 19: 美团技术沙龙04 - Kv Tair best practise

Reason & deal & �  Reason:

大量 接 & 系 用 ---》 kernel 内核事件堆

�  Deal:

接分 多epoll接入

� 

高并 情况下,一个epoll 500个 接

Page 20: 美团技术沙龙04 - Kv Tair best practise

5.2 外 峰 集群不可用�  Client?

�  网 ?

�  Mdb?Ldb?

�  Lock?

�  ?

�  程 程切 ?

�  虚 机器

Page 21: 美团技术沙龙04 - Kv Tair best practise

Reason & deal&最佳 践�  Reason:

(1)Timeout 加 数据,tps急 上升

(2)写hung住

�  Deal:

(1) code 化

(2)databus上

(3) 写分离

(4) 保

�  最佳 践

列 度1w、内存操作1个核2~4个 程

Page 22: 美团技术沙龙04 - Kv Tair best practise

系 的演 方向

�  1.0:版本:Feature开

�  2.0:版本:开 、 控、运

�  3.0:系 自治

�  4.0:系 生 圈