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