微服務,雲原生,分散式
阿新 • • 發佈:2021-07-13
微服務
微服務是一種架構風格
一個應用拆分成一小組服務
每個服務執行在自己的程序內,也可以獨立部署和升級
每個小模組都可以部署在某一個伺服器上
服務之間輕量級http互動
把一個應用拆分成小模組上,如果模組需要互動資訊,可以使用http互動
服務圍繞業務拆分
可以根據業務功能拆分微服務
可以由全自動部署機制獨立部署
模組多可以使用自動部署
去中心化 ,服務自治。服務可以使用不同的語言,不同的儲存技術
每一個服務可以用不同的語言 不同的儲存技術
分散式
- 遠端呼叫
- 服務部署在不同的伺服器上呼叫
- 服務發現
- 服務呼叫服務時使用
- 負載均衡
- 如果服務出現問題 就用負載均衡機制
- 服務容錯
- 不同的伺服器 如果因為網路原因造成程式碼出現問題 則使用服務容錯機制
- 配置管理
- 不同伺服器同意修改配置時將配置放到配置中心,需要時服務自己調取配置中心服務
- 服務監控
- 監控各個服務的狀態
- 鏈路追蹤
- 不同服務之間出現問題,需要鏈路追蹤機制來檢視哪裡出了問題
- 日誌管理
- 任務排程
- 設定任務 比如一個任務觸發時是多臺伺服器觸發還是單個觸發,是序列還是並行的觸發
- 服務自愈
- 服務出現問題時,重新構建一個服務
- 彈性伸縮
- 流量高峰期時自動擴充服務,不需要是自動下線
- 服務隔離
- 一個服務出現問題時,不影響別的服務
- 自動化部署
- 灰度釋出
- 版本更新時 使用 灰度釋出 多個同樣的服務 更新其中一個 使用負載均衡機制可以呼叫新版本服務
- 流量治理
- 如果大量流量進入某個伺服器時 伺服器承受不住時 使用流量治理 限制伺服器流量