1. 程式人生 > 其它 >微服務,雲原生,分散式

微服務,雲原生,分散式

微服務

微服務是一種架構風格

一個應用拆分成一小組服務

每個服務執行在自己的程序內,也可以獨立部署和升級

每個小模組都可以部署在某一個伺服器上

服務之間輕量級http互動

把一個應用拆分成小模組上,如果模組需要互動資訊,可以使用http互動

服務圍繞業務拆分

可以根據業務功能拆分微服務

可以由全自動部署機制獨立部署

模組多可以使用自動部署

去中心化 ,服務自治。服務可以使用不同的語言,不同的儲存技術

每一個服務可以用不同的語言 不同的儲存技術

分散式

  • 遠端呼叫
  • 服務部署在不同的伺服器上呼叫
  • 服務發現
  • 服務呼叫服務時使用
  • 負載均衡
  • 如果服務出現問題 就用負載均衡機制
  • 服務容錯
  • 不同的伺服器 如果因為網路原因造成程式碼出現問題 則使用服務容錯機制
  • 配置管理
  • 不同伺服器同意修改配置時將配置放到配置中心,需要時服務自己調取配置中心服務
  • 服務監控
  • 監控各個服務的狀態
  • 鏈路追蹤
  • 不同服務之間出現問題,需要鏈路追蹤機制來檢視哪裡出了問題
  • 日誌管理
  • 任務排程
  • 設定任務 比如一個任務觸發時是多臺伺服器觸發還是單個觸發,是序列還是並行的觸發
雲原生
  • 服務自愈
  • 服務出現問題時,重新構建一個服務
  • 彈性伸縮
  • 流量高峰期時自動擴充服務,不需要是自動下線
  • 服務隔離
  • 一個服務出現問題時,不影響別的服務
  • 自動化部署
  • 灰度釋出
  • 版本更新時 使用 灰度釋出 多個同樣的服務 更新其中一個 使用負載均衡機制可以呼叫新版本服務
  • 流量治理
  • 如果大量流量進入某個伺服器時 伺服器承受不住時 使用流量治理 限制伺服器流量