Post on 23-Jan-2018
Kv-Tair best practise
� Nosql 域
� 美 集群 状
� 物理架构
� 技
� idc多机房
� sla
� 典案例
� 系 演
Nosql 域
CAP 数据模型
离VS在
迁移
数据冗灾 Vs故障恢复
保
数据分区
分布式算法
硬件施
中心vs去中心
数据完整性
内存形vs磁
形
4高原
模型
程模型
数据
兼容
启延 控 运
冷数据
美 集群 状
物理架构
Client
Master Slave ConfigServer
DataServer
heartbeat
技
oct
Kv
tsdb
zabbix
Kv port
databus
Redis-trasfer
mysql redis
Gtest gcover valgrind
Bench mark
Profile gprofile
systemtap
tair
client
片
多机房-背景&关 点� 域
数据量大、无 迁移、 故障、 写并 大、本地加速
� 技 关 点 � Snapshot + redolog 和 snapshot + w = snapshot’ � Pipline � Data relay � 断点重 � 限速migrate � 智能客 端 � Check 一致性 � 并 回放
idc多机房架构
sla
� 可用性 � 99.95% vs 99.99%
� 定性 � 超出系 界的 提供系 界内的 (集群0故障) � 系 界内曲 平滑(tp90、tp99)
� Fast fail&recover � 快速 � 系 , 列 弃
� 可靠性
� 一致性
Qps vs latency
� Qps越高越好? � 5wqps 100ms(千分之一) vs 3wqps 100ms(万分之一)
� Qps作用 � 省机器 源
� Qps衡量粒度 � 1s衡量是不 的 (2微秒(50w qps)内1w 求同 达到) � 1ms 位
� 延 � 可用性生命
5.1 sla-模型分析 估� 物理 源:cpu、内存、disk、网 、跨idc
� 模型:低延 、高吞吐、 易 value、 qps、高并 、冷数据
� 源模型: 接池、 程池( 程角色)、内存池、 象池
� 系 用:malloc、mmap、mutex、disk io & netio、程上下文切
� 数据格式:jason、序列化、数据交
1.3 sla 化-工具集
� Profile � 分析
� 置 � 宏 slice耗 比率分析
� Systemtap � 分析系 用耗
� 程挂起耗
� Gprofile � Cpu耗
profile
� Profile � 分析
� 置 � 宏 slice比率分析
� Systemtap � 分析系 用耗
� 程挂起 度耗
� Gprofile � Cpu耗
systemtap
gprofile
案例分析-名店 (25w)
2.2 名店 峰 超
原因� 网 慢?
� 虚 机器 ?
� Dataserver?
� 是?
Reason & deal & � Reason:
大量 接 & 系 用 ---》 kernel 内核事件堆
� Deal:
接分 多epoll接入
�
高并 情况下,一个epoll 500个 接
5.2 外 峰 集群不可用� Client?
� 网 ?
� Mdb?Ldb?
� Lock?
� ?
� 程 程切 ?
� 虚 机器
Reason & deal&最佳 践� Reason:
(1)Timeout 加 数据,tps急 上升
(2)写hung住
� Deal:
(1) code 化
(2)databus上
(3) 写分离
(4) 保
� 最佳 践
列 度1w、内存操作1个核2~4个 程
系 的演 方向
� 1.0:版本:Feature开
� 2.0:版本:开 、 控、运
� 3.0:系 自治
� 4.0:系 生 圈