layout: post
title: 美团点评技术沙龙
tags: 开源 高可用 分享 中间件
一、高可用主题
- CASE STUDY
二、美团云
高可用基础设施
数据中心
网络
稳定,冗余,自愈,效率
- ecmp
- 裸光纤+OTN
基础服务
- MGW
- NAT
基础设施
-
资源之间的关系
- CMDB
-
监控
- 内网延时监控
- 机房环境
-
可视化交付
- 网络大盘
- (机柜与服务器)
- 数据化运营
三、中间件
稳定 性能 扩展性 效率 成本
微服务
一个service对应一个DB、CACHE
- 组织结构
- 架构真经
-
微服务?RPC?
- 接入层: 反向代理
- SERVICE: 之间通过RPC,MQ通讯
- 负载均衡 慢启动
- zebra ? DBproxy??
四、德比数据
SLA
提高MTBF,降低MTTR
- 序列化 PB
- Java --》GO
-
单元测试
- 我拿了工资是要去写运行良好的程序,而不是为了测试。所以我的观点是,在可信任的范围内,测试得越少越好 -- KENT BECK
- 发布回滚 ?? 灰度发布、多版本共存。
- 业务层面监控报警 (大数据历史对比)
五、流量复制与故障演练
线上
在影子集群做压测
- TCPCOPY ?
- dubbo-copy
-
thriftcopy
- 包装TB协议
- 染色 coPY CLIENT -->COPY SERVER
-
故障演练平台
- 探针 流量copy
- 可视化管理平台
-
链路+日志
- mtrace ? skywalking
- slf4j 异步appender
六、CAT
监控分层
- 端到端响应 与 成功率
实时系统
- 客户端不落地
- 服务端实时处理
APM
- 线上问题,5分钟内解决 !!!!
- 性能排查
- problem 报表
- business 报表
cat设计
-
客户端
- 自定义二进制协议
- httpthread --> ThreadContext
- 队列 异步
-
重点
- 内存
- CPU
- 不做压缩
- netty传输
建模
-
报表建模
- 通常,InfluxDB
- 优化 CPU
存储
- 批量压缩
- 顺序写,随机读
- 索引与数据分开
MVP版本
单机开发环境
- jetty
- HDFS
- MYSQL
开放生态
- 关注客户,快速响应
- 先做小而精,在做大全
七、系统稳定性建设
Availability = MTTF/(MTTF+MTTR)
高可用方案
- 设计
- 巡检
- 监控
- 处理
隔离、限流、熔断、降级
- 雪崩
-
如何避免
-
隔离
系统隔离 负载均衡 线程隔离
限流
-
熔断
过载保护
-
降级
写降级比较难
hystrix
-
全链路压测
流量标识&数据隔离
-
压测流量特殊标识
- 全链路透传
- 影子表
- 参数偏移