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
-
全鏈路壓測
流量標識&數據隔離
-
壓測流量特殊標識
- 全鏈路透傳
- 影子表
- 參數偏移