1. 程式人生 > >高負載微服務架構學習

高負載微服務架構學習

師夷長技以自強
– 魏源 曾經曰過類似的話

文章中提到的產品是:負責30w併發使用者的視訊傳輸工作,每小時傳輸300TB的內容,每分鐘5TB的併發資料傳輸。

從文中學習到以下幾點設計理念,雖然有些是以前專案中就用過的,但是在此次學習中,可能有些更好的改良方法一併記錄下來,幫助加深印象:

監控

儘早進行統一日誌規劃。

業務流程增加流程監控,可以用tweet的Zipkin 監控每個流程的執行狀態,再結合OpenTracing,就能夠監控到一個完整的業務流程走勢
流程監控

日誌系統有很多種方法,市面流行的Elasticsearch、Logstash 和 Kibana(ELK)很不錯,只需要簡單的配置,就能夠滿足初期的系統監控使用。

服務的自動伸縮:

獨立服務:最方便處理,伸縮僅與服務的數量相關,但是需要壓測得出規格。

服務依賴了外部的資源:比如使用了資料庫的服務,資料庫有它自己的容量上限。如果系統性能出現衰退,就進行告警,對流程進行評估分析,然後進行架構優化或者資源調整,提升整體效能。

服務受到外部系統的牽制:比如微信api每分鐘允許的請求次數是500次(舉例),需要考慮到這些限制規格。

其他

每一個度量的指標,確保其有意義

不要求在半夜跑去修復的問題,就不算是一個告警。是警告,可以當成一般的問題來處理。