分布式系列:什么是分布式系統1


 

什么是分布式系統:

原來有一個20多萬行代碼的系統,現在拆分成20個小系統,每個小系統1萬多行代碼。原本代碼之間都是直接基於spring調用,現在拆開來了,20個小系統部署在不同的機器上,得基於分布式服務框架(比如dubbo)搞一個rpc調用,接口與接口之間通過網絡通信來請求和響應。

分布式系統可以大概分成兩類。

1、底層的分布式系統。

比如hadoop hdfs(分布式存儲系統)、hadoop mapreduce,spark(分布式計算系統)、storm(分布式流式計算系統)、elasticsearch(分布式搜索系統)、kafka(分布式發布訂閱消息系統)等

2、分布式業務系統。

分布式業務系統就是比如說把原來用java開發的一個大塊的系統,給拆分成多個子系統,多個子系統之間互相調用,形成一個整體的大系統。比如一個電商系統,一般會拆分成商品中心、購物車、訂單中心、促銷中心、支付中心、WMS、庫存中心、物流中心等,每一個中心會做成獨立一個子系統,獨立部署,各個子系統之間互相調用,協同,組成一個大型的電商系統。前面大白話來解釋什么是分布式系統說的也是分布式業務系統。

分布式

分布式的目的:

  • 1.高可用:主機掛掉后,自動故障轉移,使前端服務對用戶無影響
  • 2.讀寫分離:將主機讀壓力分流到從機上,可實現負載均衡,提高效率

分布式系統通信可采用面向消息的中間件ActiveMQ,RabbitMQ等

分布式計算可采用mapreduce

分布式存儲是可用Hbase,redis,mongoDB

分布式監控可用zookeeper:核心是原子廣播,這個機制保證了各個Server之間的同步,實現這個機制的協議叫Zap協議,有兩種模式:恢復模式(選主)和廣播模式(同步),服務啟動或主機宕機時,采用恢復模式,選出主機,且大多數Server完成了和leader的狀態同步以后,恢復模式就結束了。狀態同步保證了leader和Server具有相同的系統狀態。

CAP原則又稱CAP定理,指的是在一個分布式系統中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區容錯性),三者不可得兼

  • 一致性(C):在分布式系統中的所有數據備份,在同一時刻是否同樣的值。(等同於所有節點訪問同一份最新的數據副本)
  • 可用性(A):在集群中一部分節點故障后,集群整體是否還能響應客戶端的讀寫請求。(對數據更新具備高可用性)
  • ● 分區容錯性(P):以實際效果而言,分區相當於對通信的時限要求。系統如果不能在時限內達成數據一致性,就意味着發生了分區的情況,必須就當前操作在C和A之間做出選擇。

主從復制用單向鏈表更穩定,master和slave在同一局域網內時連接更穩定


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM