看書不分享镇辉,對于知識的掌握總是一知半解,很多東西都是看了之后就忘了贴捡,但是和很多朋友以及專家溝通之后忽肛,發(fā)現(xiàn)寫讀書筆記不僅是自己對于知識的分享和總結(jié),更重要的是通過讀書筆記烂斋,能夠使自己對于知識進行梳理屹逛,使知識形成體系化础废,同時也能夠與行業(yè)的朋友進行交流,好處多多煎源,開始總結(jié)一下關(guān)于SOA色迂、微服務、ESB之間相關(guān)的一些內(nèi)容手销。
SOA(Service Oriented Architecture)面向服務的架構(gòu)歇僧,是一種設(shè)計理念,其中包含多個服務锋拖,服務之間通過相互依賴诈悍,最終提供一系列完整的功能,各個服務通常以獨立的形勢部署運行兽埃,通過網(wǎng)絡(luò)或者其他接口進行調(diào)用侥钳,支撐SOA的關(guān)鍵是其消息傳遞架構(gòu)--ESB(企業(yè)服務總線)。
ESB(Enterprise Service Bus)企業(yè)服務總線柄错,是傳統(tǒng)中間件技術(shù)與XML舷夺、Web服務等技術(shù)結(jié)合的產(chǎn)物,ESB提供了網(wǎng)絡(luò)中最基本的連接中樞售貌,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素给猾,可以提供可靠的、有保證的消息技術(shù)的最新方法颂跨,ESB的概念是從SOA發(fā)展而來的敢伸,SOA描述了一種IT基礎(chǔ)設(shè)施的應用集成模型,其中的軟構(gòu)件集是以一種定義清晰的層次化結(jié)構(gòu)相互耦合恒削,一個ESB是一個預先組裝的SOA實現(xiàn)池颈,包含了實現(xiàn)SOA分層目標所必需的基礎(chǔ)功能組件。
1钓丰、ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu):可以提供比傳統(tǒng)中間件更廉價的解決方案躯砰,同時還可以消除不同應用之間的技術(shù)差異, 讓不同的應用服務器協(xié)調(diào)運作斑粱,實現(xiàn)不同服務之間的通信整合弃揽。從功能上看ESB提供了基于事件驅(qū)動和文檔導向的處理模式,以及分布式的運行管理機制则北,支持基于內(nèi)容的路由和過濾,具備了復雜數(shù)據(jù)的傳輸能力痕慢,并可以提供一系列標準接口尚揣;
2、ESB的用處:ESB不是萬能的掖举,也不是一個企業(yè)應用的解決方案快骗,只是一個基于消息的調(diào)用,企業(yè)服務的通信模塊,可以把他嵌入到應用程序框架中方篮,例如嵌入到Spring容器中名秀,或者嵌入到工作流系統(tǒng)中,對企業(yè)里面的SOA服務的調(diào)用提供一個框架和簡便方法藕溅;
3匕得、ESB的應用特征:大規(guī)模分布式的企業(yè)應用需要相對簡單而實用的中間件技術(shù)來簡化和統(tǒng)一越來越復雜的、繁瑣的企業(yè)級信息系統(tǒng)平臺巾表,SOA能夠?qū)贸绦虻牟煌δ軉卧ㄟ^服務之間定義良好的接口和契約聯(lián)系起來汁掠,使用戶可以不受限制的復用軟件、把各種資源互連起來集币,只需選用標準接口包裝舊的應用程序考阱、把新的應用程序構(gòu)建成服務,其他應用系統(tǒng)就可很方便的使用這些功能服務鞠苟;
ESB提供了一種開放的乞榨、基于標準的消息機制,通過簡單的標準適配器和接口当娱,完成粗粒度應用(服務)和其他組件之間的互操作吃既,滿足大型異構(gòu)企業(yè)環(huán)境的集成需求,可以在不改變現(xiàn)有基礎(chǔ)架構(gòu)的情況下讓幾代技術(shù)實現(xiàn)互操作趾访。
微服務架構(gòu)和SOA架構(gòu)非常類似态秧,微服務只是SOA的升華,只不過微服務強調(diào)的是“業(yè)務需要徹底的組件化和服務化”扼鞋,原單個業(yè)務系統(tǒng)會被拆分成多個可以獨立開發(fā)申鱼、設(shè)計、部署運行的小程序云头,通過服務化完成交互和集成捐友,組件表示的是一個可以獨立更換和升級的單元,獨立且可以更換升級而不影響其他單元溃槐。
微服務的特征:1匣砖、通過服務實現(xiàn)組件化;2昏滴、按業(yè)務能力來劃分服務和開發(fā)團隊猴鲫;3、去中心化谣殊;4拂共、基礎(chǔ)設(shè)施自動化(devops、自動化部署)姻几;微服務不再強調(diào)傳統(tǒng)SOA架構(gòu)里比較中的ESB企業(yè)服務總線宜狐,同時以SOA的思想進入到單個業(yè)務系統(tǒng)內(nèi)部實現(xiàn)真正的組件化势告。