天天看點

分布式筆記_概念

一.分布式系統:

  • 具有多個節點
  • 節點間要進行消息傳遞
  • 節點需要完成特定的需求

多個節點:

  • 可以提高容錯性
  • 具有可擴充性(性能)
  • 固有分布性(業務上或人員上)

消息傳遞:分布式系統多個節點之間的協作不是通過共享存儲實作的,而是通過消息傳遞來實作

  • 節點具有私有存儲
  • 易于開發
  • 具有可擴充性(功能)
  • 對比:并行計算(多用共享存儲實作,但并不是不用消息傳遞)

消息傳遞的方法:

  • REST : 是一種接口的方法
  • RPC : 将函數的調用序列化為可以在網絡上傳輸的資料,收到資料的遠端進行反序列化來實作函數調用
  • 中間件 : REST, RPC要求消息傳遞是雙方都線上,但若對方不線上時,可以将消息發給中間件,中間件可以存儲消息,等對方上線時可以從中間件中取得消息,實作異步消息溝通,而且中間件可以一對多的釋出,通常稱為"MessageQueue"
分布式筆記_概念

   

   一般來說,消息傳遞的方式:

     1> 對外:REST (保持API接口的規範性和不易改變)

               2> 子產品内部(耦合比較緊):RPC

       3> 子產品之間(耦合比較松):中間件,REST

二.分布式架構 VS 微服務架構

  • 分布式:指導節點之間如何通信
  • 微服務:鼓勵按業務來劃分子產品(差別于傳統的按技術劃分子產品)
  • 微服務架構通過分布式架構來實作,兩者考慮的次元不同

三.多層架構 VS 微服務架構

  • 微服務架構具有更多的"服務",服務之間耦合度很松
  • 微服務通常需要配合自動化測試,自動化部署,服務發現等
  • 目前,微服務架構是趨勢

繼續閱讀