微服務治理策略

微服務治理策略

  • Author: HuiFer
  • Description: 該文簡單介紹微服務的治理策略以及應用技術

服務的註冊和發

解決問題: 集中管理服務

解決方法: eureka 、zookeeper

負載均衡

解決問題: 降低服務器硬件壓力

解決方法: nginx 、 Ribbon

通訊

解決問題: 各個服務之間的溝通橋樑

解決方法 :

  • 同步消息
    1. rest
    2. rpc
  • 異步消息
    1. MQ

配置管理

解決問題: 隨着服務的增加配置也在增加,如何管理各個服務的配置

解決方法: nacos 、 spring cloud config 、 Apollo

容錯和服務降級

解決問題: 在微服務當中,一個請求經常會涉及到調用幾個服務,如果其中某個服務不可以,沒有做服務容錯的話,極有可能會造成一連串的服務不可用,這就是雪崩效應.

解決方法: hystrix

服務依賴關係

解決問題: 多個服務之間來回依賴,啓動關係的不明確

解決方法:

  1. 應用分層: 數據層,業務層 數據層不需要依賴業務層,業務層依賴數據,規定上下依賴關係避免循環圈

服務文檔

解決問題: 降低溝通成本

解決方法: swagger 、 java doc

服務安全問題

解決問題: 敏感數據的安全性

解決方法: oauth 、 shiro 、 spring security

流量控制

解決問題: 避免一個服務上的流量過大拖垮整個服務體系

解決方法: Hystrix

自動化測試

解決問題: 提前預知異常,確定服務是否可用

解決方法: junit

服務上線,下線的流程

解決問題: 避免服務隨意的上線下線

解決方法: 新服務上線需要經過管理人員審覈.服務下線需要告知各個調用方進行修改,直到沒有調用該服務纔可以進行下線.

兼容性

解決問題: 服務開發持續進行如何做到兼容

解決方法: 通過版本號的形式進行管理,修改完成進行迴歸測試

服務編排

解決問題: 解決服務依賴問題的一種方式

解決方法: docker & k8s

資源調度

解決問題: 每個服務的資源佔用量不同,如何分配

解決方法: JVM 隔離、classload 隔離 ; 硬件隔離

容量規劃

解決問題: 隨着時間增長,調用逐步增加,什麼時候追加機器

解決方法: 統計每日調用量和響應時間, 根據機器情況設置閾值,超過閾值就可以追加機器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章