分布式架構核心概念
- RPC(Remote Procedure Call)遠端過程調用。
1、允許兩個節點之間像調用本地服務一樣調用遠端服務;
2、RPC的目标是讓遠端調用更簡單、透明;
3、RPC架構負責封裝底層傳輸方式(TCP/UDP協定)、序列化方式(json/xml/二進制)和通信細節,開發者不需要關系底層。
- RESTful(Representational State Transfer)表述性狀态轉移
1、一個架構符合REST限制條件和原則,就是RESTful架構;
2、目前隻有HTTP+JSON是常用到的RESTful架構。
- CAP原理
1、A(Availability):可用性(保證每個請求不管成功或者失敗都有響應);
2、C(Consistency):一緻性(在分布式系統中的所有資料備份,在同一時刻是否同樣的值);
3、P(Partiton tolerance):分區容忍性(系統中任意資訊的丢失或失敗不會影響系統的繼續運作);
4、CAP原理的結論:任何一個分布式系統都不可能同時滿足這三個條件,隻能在其中兩個條件進行取舍。
5、關于CAP的了解:
A(可用性):在分布式中可以通過多個節點去實作;
B(一緻性):在分布式中使用NOSQL等各種技術保證每個節點資料一緻;
P(分區容忍性):使用異常或者熔斷等使每個請求都能得到響應。
6、關于CAP原理運用的了解:
針對客戶體驗,在可預知各種問題情況,和網絡和伺服器當機等不可遇見的情況下,都要首選保證系統是可運作的,是以一般P是必選項;A和C都需要根據各個系統需求情況去取舍,或者是需要“弱”A和“弱”C;
備注:CAP原來一般是“強”可用性,“強”一緻性,“強”分區容忍性。