为什么要用Dubbo-远程通信背景
技術(shù)架構(gòu)的發(fā)展從單體到分布式,是一種順勢(shì)而為的架構(gòu)演進(jìn),也是一種被逼無奈的技術(shù)變革。架構(gòu)的復(fù)雜度能夠體現(xiàn)公司的業(yè)務(wù)的復(fù)雜度,也能從側(cè)面體現(xiàn)公司的產(chǎn)品的發(fā)展勢(shì)頭是向上的。
和傳統(tǒng)的單體架構(gòu)相比,分布式多了一個(gè)遠(yuǎn)程服務(wù)之間的通信,不管是soa還是微服務(wù),他們本質(zhì)上都是對(duì)于業(yè)務(wù)服務(wù)的提煉和復(fù)用。那么遠(yuǎn)程服務(wù)之間的調(diào)用才是實(shí)現(xiàn)分布式的關(guān)鍵因素。
而在遠(yuǎn)程通信這個(gè)領(lǐng)域,其實(shí)有很多的技術(shù),比如Java的RMI、WebService、Hessian、Dubbo、Thrift等RPC框架,現(xiàn)在我們接觸得比較多的應(yīng)該就是RPC框架Dubbo以及應(yīng)用協(xié)議Http。其實(shí)每一個(gè)技術(shù)都是在某一個(gè)階段產(chǎn)生它的價(jià)值,隨著架構(gòu)的變化以及需求的變化,技術(shù)的解決方案也在變。所以我們才需要不斷的學(xué)習(xí)
我在前面的幾次課,講到了RPC的底層原理,服務(wù)與服務(wù)之間的調(diào)用無非就是跨進(jìn)程通信而已,我們可以使用socket來實(shí)現(xiàn)通信,我們也可以使用nio來實(shí)現(xiàn)高性能通信。我們不用這些開源的RPC框架,也可以完成通信的過程。但是為什么要用現(xiàn)成的框架呢?
原因是,如果我們自己去開發(fā)一個(gè)網(wǎng)絡(luò)通信,需要考慮到
1. 底層網(wǎng)絡(luò)通信協(xié)議的處理
2. 序列化和反序列化的處理工作
但是這些工作本身應(yīng)該是通用的,應(yīng)該是一個(gè)中間件服務(wù)。為整個(gè)公司提供遠(yuǎn)程通信的服務(wù)。而不應(yīng)該由業(yè)務(wù)開發(fā)人員來自己去實(shí)現(xiàn),所以才有了這樣的rpc框架,使得我們調(diào)用遠(yuǎn)程方法時(shí)就像調(diào)用本地方法那么簡(jiǎn)單,不需要關(guān)心底層的通信邏輯。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的为什么要用Dubbo-远程通信背景的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 选举流程分析
- 下一篇: 大规模服务化对于服务治理的要求