【阿里中臺戰(zhàn)略】架構(gòu)演進(jìn)以及HSF框架架構(gòu)

框架演進(jìn)

架構(gòu)演進(jìn)圖.jpg

中心化架構(gòu)主要解決的問題:通過ESB,實(shí)現(xiàn)異構(gòu)系統(tǒng)間的交互。
中心化架構(gòu)的主要問題:中心(消息總線)的可擴(kuò)展性,以及由此可能帶來的“雪崩”效應(yīng)。

圖3-5 HSF服務(wù)框架工作原理示意圖.jpg

主要組件
服務(wù)提供者:多節(jié)點(diǎn)部署,運(yùn)行在優(yōu)化定制后的Tomcat容器中,虛擬機(jī)部署,后續(xù)可能遷移到Docker容器;
服務(wù)消費(fèi)者:多節(jié)點(diǎn)服務(wù),運(yùn)行在Tomcat容器;
地址服務(wù)器:給Provider和Consumer提供部署環(huán)境中所有配置服務(wù)器和Diamond服務(wù)器列表信息,使用Nginx實(shí)現(xiàn)。HSF部署時,會將整個環(huán)境中的配置服務(wù)器和Diamond服務(wù)器集群信息設(shè)置在地址服務(wù)器上。多節(jié)點(diǎn)部署;
配置服務(wù)器:記錄環(huán)境內(nèi)服務(wù)請求和訂閱信息,保存在內(nèi)容中,并將相關(guān)服務(wù)信息推送到服務(wù)節(jié)點(diǎn)上。長連接,心跳監(jiān)測,一旦發(fā)現(xiàn)故障服務(wù)提供者,自動推動更新后的Provider給Consumer,完成故障隔離??奢p易實(shí)現(xiàn)服務(wù)調(diào)用路由的調(diào)整。相當(dāng)于服務(wù)調(diào)用調(diào)度的指揮官;
Diamond服務(wù)器:通用的統(tǒng)一配置管理服務(wù)(類似zookeeper),給應(yīng)用提供統(tǒng)一的配置設(shè)置和推送服務(wù)。在HSF中,主要承擔(dān)服務(wù)調(diào)用過程中對于服務(wù)調(diào)用安全管控的規(guī)則、服務(wù)路由權(quán)重、服務(wù)QPS閾值等配置規(guī)則的保存,持久化在mysql中。
主要處理流程
1 服務(wù)節(jié)點(diǎn)對配置服務(wù)器列表的獲?。悍?wù)調(diào)用者和提供者隨著Tomcat容器啟動后,會以域名方式獲取到可用的地址服務(wù)器,然后向地址服務(wù)器請求服務(wù)器列表,包括 配置服務(wù)器和Diamond服務(wù)器的IP列表信息,如同中的步驟1、2;
2 服務(wù)的注冊發(fā)布:Provider Service獲取到配置服務(wù)器列表后,則向配置服務(wù)器發(fā)送服務(wù)提供者的接口信息,以及所有服務(wù)器的IP、端口等,如圖步驟3;
3 服務(wù)訂閱:Consumer Service服務(wù)啟動后,向配置服務(wù)器訂閱所需要的服務(wù)(服務(wù)接口全名+服務(wù)版本),配置服務(wù)器返回對應(yīng)服務(wù)提供者IP和端口等,如果步驟4、5;
4 服務(wù)規(guī)則推送(如果需要):在有需要服務(wù)安全管控、流量控制等需求時,可通過Diamond服務(wù)器提供的規(guī)則設(shè)置界面,對指定的服務(wù)提供者和消費(fèi)者設(shè)置相關(guān)的規(guī)則,規(guī)則保存后,會在5S內(nèi)推送給所設(shè)置服務(wù)相關(guān)的服務(wù)節(jié)點(diǎn)上,如圖步驟6;
5 服務(wù)交互:如果步驟7;
框架特點(diǎn)
1 采用Netty+Hession數(shù)據(jù)序列化實(shí)現(xiàn)服務(wù)交互:Netty多路復(fù)用TCP長連接。Hession簡潔、高效、跨語言;
2 容錯:
HSF容錯機(jī)制.jpg

3 水平擴(kuò)容:根據(jù)實(shí)際網(wǎng)絡(luò)壓力情況,彈性調(diào)整實(shí)例數(shù)目,就可以實(shí)現(xiàn)水平擴(kuò)容。比如在大促、秒殺等活動期間,服務(wù)訪問量大增,通過新增服務(wù)提供者實(shí)例來增加服務(wù)處理能力。新增加的服務(wù)提供者實(shí)例一旦應(yīng)用啟動完成,可以在幾秒內(nèi)完成上線(完成服務(wù)注冊發(fā)布,更新后的服務(wù)列表推送到服務(wù)調(diào)用者端),開始處理請求。

微服務(wù)的主要特點(diǎn)
?。阂?guī)模小,但是不能過小,一個完整的業(yè)務(wù);
獨(dú):獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立運(yùn)維;
輕:輕量級通信機(jī)制,Restful;
松:松耦合,無狀態(tài)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容