微服務架構下,如何高效運維?


一. 微服務架構面臨的挑戰

1 微服務核心價值:3S

2 微服務架構帶來的運維挑戰

1)單服務流量激增時擴容
2)調用鏈條變長,調用關系更加復雜
3)微服務拆分導致故障點增多

 

1)單服務變更性能影響如何評估?
2)性能瓶頸在各微服務間漂移,如何做好性能測試?
3)應對突發流量需求,擴容能否解決問題,如何擴容?
4)服務實例數量眾多,如何收集信息,快速定位性能問題?

二. 華為雲微服務性能保障解決方案設計

華為雲微服務性能保障解決方案介紹

1 什么是ServiceMesh

  • 一種基礎設施層,服務間通信通過Service mesh轉發
  • 一種TCP/IP之上的網絡模型
  • 一個輕量的網絡代理,與業務部署在一起
  • 可靠的傳輸復雜網絡拓撲中的服務請求,將服務變為現代的雲原生服務

2 華為ServiceMesh整體架構

3 管理面服務治理能力


可人工介入,未運行時的mesher和侵入式框架提供配置下發

  • 注冊中心
  • 下發配置
  • 監控服務
  • 調用引擎

4 數據面支持侵入式與非侵入式Mesher


即侵入式框架與非侵入式mesher

  • 注冊發現
  • 執行路由策略
  • 負載均衡
  • 透明TLS傳輸
  • 生成監控數據

5 微服務架構的關鍵性能瓶頸點

1)Mesher的性能損耗(1ms)
2)單服務的接口性能
3)全鏈路調用性能
4)服務伸縮能力

 

6 關於性能我們需要做哪些

  • 開展分層驗證,掌握服務的能力基線
    1)單服務接口測試
    驗證單服務的各個接口能力基線以及組合接口的能力基線
    2)全鏈路測試
    驗證全鏈路場景以及多鏈路組合場景的性能,優化鏈路中性能不足的服務
    3)伸縮能力驗證
    驗證單服務的水平擴容能力,驗證既定模型下的多鏈路組合場景的資源模型

  • 性能測試服務化,提升驗證體驗

    關鍵設計1:模塊化管理,事務靈活組合與復用
    抽象性能測試所需的元素並模塊化,實現靈活復用和配置修改

 

          關鍵設計2:可擴展的高性能執行集群

 

三. 性能測試實施策略

1 關鍵度量指標

1)制定測試目標,要求測試指標結果達到用戶預期目標。
2)指標數據一般包括並發用戶數、Response Time、TPS、通過率等。
3)系統的吞吐量要和響應時間關聯(SLA),如至少90%以上的請求在正常合理響應時間內。

2 全鏈路調優測試策略

性能是一個逐步提升的過程,測試過程中需要找到擴容的模型,從不足50的TPS提升至萬級。

3 測試報告分析解讀

如何從測試工具側快速分析被測對象可能存在的問題

  • 存在部分響應超時:
    a) 服務器繁忙,如某個服務節點CPU利用率高
    b) 網絡IO超過VM/EIP帶寬
    c) 等待后端微服務、數據庫的超時時間設置過長
  • 運行一段時間后全部響應超時或者檢查點校驗不通過:
    a) 大壓力導致系統中某個微服務奔潰
    b) 后端數據庫無響應
  • TPS未隨着並發數增長而上升:
    a) 系統性能到達瓶頸,持續並發加壓過程中響應時延增加(可觀察響應區間統計)
    b) 可通過進一步加壓是否會出現非正常響應驗證
  • TP90響應時延較短,TP99時延高:
    a) 系統性能接近瓶頸
    b) 可通過進一步加壓是否會出現非正常響應驗證

4 一些常見的性能優化手段

1)擴容,鏈路中的某一應用可能出現cpu使用率較高或者連接池資源不夠用(rpc、jdbc、redis連接池等)但本身對於拿到連接的請求處理又很快,這一類需要橫向擴展資源。

2)應用邏輯優化,比如存在慢sql、 邏輯的不合理如調用db或者redis次數過多、沒有做讀寫分離造成寫庫壓力過大。

3)超時時間的合理設置,對於應用之間的rpc調用或者應用與其他基礎組件之間的調用,均需要設置合理的超時時間,否則過長的等待將造成整個鏈路的故障。

4)緩存的應用,請求盡可能從前端返回,而不是每一個都要讓后端應用處理后再返回,減輕后端應用及數據庫壓力,提高系統吞吐能力。

5)限流,對於超出承載能力的QPS或並發,可以進行攔截並直接返回提示頁面。
降級,對於非核心鏈路上的應用,允許故障關閉而不影響核心鏈路

6)擴容和優化也是有限度的,在評估容量內,保障核心交易鏈路正常是重中之重,對於非核心功能模塊考慮降級場景

5 面對復雜網絡架構如何做性能測試

一個典型的互聯網平台:突發事件高流量突發,如瞬間由百級用戶增長到萬級
性能測試工具:雲性能測試服務

對於網絡架構復雜的應用,可以拆分壓力的入口點,進行分段驗證,屏蔽對應網元帶來的性能影響,如分別從最外端的CDN入口(1)、中間的ELB(2)、業務層(3)分別做測試,驗證復雜網絡架構情況下,各網元的瓶頸和影響

6 應用內部的性能瓶頸如何提升定位效率?

  • 資源、應用、業務一站式監控與分析

立體運維全圖

  • 應用拓撲與異常展示、故障下鑽

1)應用發現與依賴關系:非侵入采集應用KPI數據,並通過服務間接口自動生成依賴關系,展現應用拓撲。
2)應用KPI匯聚:微服務實例匯聚到應用(數字表示XX個實例),KPI數據自動匯聚到應用。
3)調用鏈跟蹤:下鑽獲取應用調用鏈,定位到具體出錯方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM