分布式的體系架構總結(1)

2021-07-30 06:04:59 字數 1713 閱讀 3519

分布式的體系架構總結

1、什麼是分布式應用架構?

簡單的說就是將乙個業務拆分成多個子業務,部署在不同的伺服器上。(集群:同乙個業務,部署在多個伺服器上。)

2、為什麼要使用分布式應用架構?

在單一應用架構中,隨著業務需求的增加,架構隨之變得也越來越複雜,因而系統的拆分成為不可避免的事情,由此演變為垂直應用架構。

垂直應用架構解決了單一架構的擴容問題,但是當垂直架構增多時,應用之間的互動,相互呼叫則不可避免。不同的系統之間存在著重疊的業務,容易形成資訊孤島,重複造輪子。

因此便出現了分布式架構。

在分布式架構體系中,將相對核心的業務抽取出來,作為單獨的系統對外提供服務,從而達到業務之間的相互復用。

3、如何實現分布式應用架構?

分布式架構首先要解決的問題是如何實現應用之間的遠端呼叫(rpc)。(待補充)

遠端過程呼叫(rpc)

1、什麼是

rpc?

rpc的實現包括客戶端和服務端,即服務端的呼叫方和服務端的提供方。服務呼叫方傳送

rpc請求到服務提供方,服務提供方根據呼叫方提供的引數執行請求的方法,將執行結果返回給呼叫方,即為一次

rpc呼叫。

2、基於tcp協議的

rpc於基於

協議的rpc

基於tcp協議實現的

rpc,處於協議棧的下層,能夠靈活的對字段進行控制,減少網路開銷,提高效能,實現更大的吞吐量和併發數。但是由於需要對各種不同格式的資料進行解析,使得難以開發,並且隨著請求規模的擴大,程式的併發性,鎖,

i/o等底層的實現更加的複雜,因此很少會使用該協議進行開發。

基於http協議的實現可以使用

json

,xml

格式的響應資料,遮蔽了底層細節的實現,使得開發更加簡單,並且對於執行緒,鎖之類的處理,很多成熟的開源

web容器如

tomcat,apache,jboss

已經做了很好的處理。同等環境下,基於

協議的rpc

的位元組傳輸率和效率要低一些。但是實際應用中,

協議的rpc

更加青睞。

服務的路由和負載均衡

1、 什麼是服務的路由?

在soa架構中,服務呼叫方通過服務名稱,在服務列表中找到相應的服務提供方的位址列表,稱為服務的路由。

2、 什麼是負載均衡?

在對於負載很高的服務列表中,往往對應著多型伺服器組成的集群。在請求到來時,為了將請求均衡的分配到後端伺服器,負載均衡程式將從服務對應的位址列表中,通過相應的負載均衡演算法,選擇某一台伺服器進行訪問,這個過程稱之為負載均衡。

3、 負載均衡演算法有哪些?

1)、輪詢法

2)、加權輪詢法

3)、隨機法

4)、加權隨機法

5)、雜湊法

6)、最小連線數法

7)、動態配置規則

4、小規模服務與大規模服務的負載均衡。

當服務的規模比較小時,可以採用硬編碼的方式將服務位址和配置解除安裝**中,通過編碼的方式來解決服務的路由和負載均衡,也可以採用f5之類的硬體裝置或者

lvs,nginx

等軟體方案。

當服務規模較大時,採用以上的方法很容易出現單點故障,即一旦服務路由或者負載均衡伺服器宕機,依賴它的所有服務均將失效。此時,需要乙個動態的註冊和獲取服務資訊的地方,來統一管理服務名稱和對應的伺服器列表資訊,稱之為服務配置中心(zookeeper)。

python分布式架構 分布式架構

1.分布式架構 採用centos mongodb windows2012 python redis進行分布式架構搭建,mongodb的框架最核心的設計就是 mongodb和mapreduce。mongodb為海量的資料提供了儲存,則mapreduce為海量的資料提供了計算,windows2012作為...

分布式架構

cap原理 c 一致性 多節點資料的一致 a 可用性 保證服務持續可用 多節點 多型伺服器 p 分割槽容忍性 是否可將資料存到多個地方 設計不可能同時滿足cap ac 放棄分割槽容忍,物理資料庫 ap 可以短暫的容忍資料不一致 nosql資料庫 cp 放棄可用性 springcloud有一下功能 e...

高效能 高可用的分布式架構體系

在2b企業服務 雲計算 移動網際網路領域,專業的雲平台服務裡,分布式技術為支撐平台正常運作關鍵性技術。從商業利潤和運維成本角度出發,千方百計榨乾伺服器的每一分效能很大程度上影響著 的商業價值,因此對效能的追求,成為分布式架構體系中極為重要的考量指標 從使用者角度,特別是作為主要收入 的企業使用者的角...