分佈式系統的特色:
一、面向接口代理的高性能RPC調用:A服務調用B服務器的接口,直接調用便可。其中使用zookeeper註冊中心進行關聯)
二、智能的負載均衡:服務器與服務器之間實現分流處理,解決併發問題。
三、運行期間實現流量調度:灰度發佈(例:在生產環境發佈時,可先更新一部分服務器的代碼,後穩定運行後,再更新另外一部分服務器的代碼)服務器
下邊整理了一下分佈式架構的流程圖,大體以下圖:
下邊開始搭建dubbo服務:
一、首先須要搭建註冊中心,dubbo官方推薦使用zookeeper,這裏搭建的也是zookeeper,且爲windos環境下的。下載zookeeper解壓到某個目錄下,在bin路徑下進入dos控制檯,運行zkServer,啓動zookeeper服務:
須要注意的是,在第一次運行zkServer時會出現錯誤信息:未找到zookeeper的配置文件,此時咱們到conf下將zoo_sample.cfg文件複製一份,命名爲zoo.cfg,而後在dos下執行zkServer便可正常啓動zookeeper服務。
二、接下來須要配置服務的提供者,步驟以下:
1)建立一個maven工程,在pom.xml文件中引入dubbo和zookeeper的依賴包
2)引入依賴以後配置資源文件,在resources路徑下新建provider.xml文件,在文件中配置服務提供者須要配置的幾部分信息:
1–首先指定當前服務/應用的名稱
2–指定註冊中心的位置(zookeeper的地址及端口號,端口默認2181)
3–指定通訊規則(通訊協議dubbo及通訊端口20080)
4–暴露服務(將哪一個類提供給外部應用調用 其中ref用來指向真正的實現對象)
三、配置服務的調用者(消費者):
1)建立一個maven工程,與生產者同樣,須要在pom.xml文件中引入dubbo和zookeeper的依賴包
2)在resource路徑下新建consumer.xml文件配置消費者資源文件:
1–同生產者相同,指定當前服務器的名稱
2–指定註冊中心的位置(zookeeper的地址及端口號,端口默認2181)
3–聲明須要調用的遠程服務接口:生成遠程服務代理
以上就配置了一個簡單的dubbo服務,可在生產者和消費者各寫測試類測試是否調用成功。架構