雲計算

實現業務高可用一些關鍵點


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

全鏈路壓測

流量標識&數據隔離

  • 壓測流量特殊標識

    • 全鏈路透傳
  • 影子表
  • 參數偏移

Leave a Reply

Your email address will not be published. Required fields are marked *