為什么要用dubbo?
當網站規模達到了一定的量級的時候,普通的MVC框架已經不能滿足我們的需求,於是分布式的服務框架和流動式的架構就凸顯出來了。
單一應用架構
當網站流量很小時,只需一個應用,將所有功能都部署在一起,以減少部署節點和成本。此時,用於簡化增刪改查工作量的數據訪問框架(ORM) 是關鍵。
垂直應用架構
當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將應用拆成互不相干的幾個應用,以提升效率。此時,用於加速前端頁面開發的Web框架(MVC) 是關鍵。
分布式服務架構
當垂直應用越來越多,應用之間交互不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。
此時,用於提高業務復用及整合的分布式服務框架(RPC) 是關鍵。
流動計算架構
當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基於訪問壓力實時管理集群容量,提高集群利用率。
此時,用於提高機器利用率的資源調度和治理中心(SOA) 是關鍵。
廢話不多說,先搭建一個看看是怎么一回事?–
目前對我來說就是,我A工程想調用B工程中的方法怎么辦?我import不進來啊,這時候我就需要遠程調用的方法了,怎么遠程調用呢?dobbu給我提供了一個好的開源框架,那我就用它來操作吧!
dubbo和zookeeper啥關系?
簡單來說打個比方:dubbo就是動物園的動物,zookeeper是動物園。如果游客想看動物的話那么就去動物園看。比如你要看老虎,那么動物園有你才能看到。換句話說我們把很多不同的dubbo(動物)放到zookeeper(動物園中)提供給我們游客進行觀賞。這個過程中三個關鍵:場所、供給者、消費者。
再說一個分布式的項目,server(消費)層與 service(供給)層被拆分了開來, 部署在不同的tomcat中, 我在server層需要調用 service層的接口,但是兩個運行在不同tomcat下的服務無法直接互調接口,那么就可以通過zookeeper和dubbo實現。就好比把動物放到動物園,我們要看了直接去動物園就行。而不能直接去動物生活的地方去看,會有性命安全之憂(比如你去看老虎)。
我們通過dubbo 建立service這個服務,並且到zookeeper上面注冊,填寫對應的zookeeper服務所在 的IP及端口號。
下面我們的server層需要來調用 service接口了,由於在不同的工程中,它是無法直接找到service接口的,我們使用dubbo再來引用注冊進入的dubbo服務。
我們先填寫zookeeper服務所在 的IP及端口號,再填寫我們需要調用的接口名字。
這樣,就能實現調用
使用dubbo官網的一張圖來介紹下dubbo:

原文:https://blog.csdn.net/yuanlaijike/article/details/79654183
