節點角色說明:
provider: 暴露服務的服務提供方。
consumer: 呼叫遠端服務的服務消費方。
registry: 服務註冊與發現的註冊中心。
monitor: 統計服務的呼叫次調和呼叫時間的監控中心。
container: 服務執行容器。
呼叫關係說明:
0. 服務容器負責啟動,載入,執行服務提供者。
1. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
2. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
3. 註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
4. 服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行呼叫,如果呼叫失敗,再選另一台呼叫。
5. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。
dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。
單一工程中spring的配置
遠端服務:
在本地服務的基礎上,只需做簡單配置,即可完成遠端化:
將上面的local.xml配置拆分成兩份,將服務定義部分放在服務提供方remote-provider.xml,將服務引用部分放在服務消費方remote-consumer.xml。
並在提供方增加暴露服務配置,在消費方增加引用服務配置。
發布服務:
呼叫服務:
註冊中心負責服務位址的註冊與查詢,相當於目錄服務,服務提供者和消費者只在啟動時與註冊中心互動,註冊中心不**請求,壓力較小。使用dubbo-2.3.3以上版本,建議使用zookeeper註冊中心。
zookeeper是apacahe hadoop的子專案,是乙個樹型的目錄服務,支援變更推送,適合作為dubbo服務的註冊中心,工業強度較高,可用於生產環境,並推薦使用
zookeeper的安裝:
第一步:安裝jdk1.7
第二步:解壓縮zookeeper壓縮包
第三步:將conf資料夾下zoo_sample.cfg複製乙份,改名為zoo.cfg
比如: datadir=/zookeeper/zookeeper-3.4.6/data
第四步:修改配置datadir屬性,指定乙個真實目錄
第五步:
啟動zookeeper:bin/zkserver.sh start
關閉zookeeper:bin/zkserver.sh stop
檢視zookeeper狀態:bin/zkserver.sh status
注意要關閉
linux
的防火牆。開啟2181 和20880埠
Dubbo實現分布式架構原理
dubbo 框架是阿里巴巴開發的一款針對 soa服務式的分布式框架。隨著專案業務邏輯複雜度的提高,專案併發量的提高,將 dao層 service 層 web 層的所有 集中在乙個應用中已經不再適用,因為這樣專案維護起來很不便,代 碼冗雜在一起,專案之間的呼叫早已經含糊不清,對搭建集群節點也存在著制約...
Hadoop 分布式環境搭建
靜態ip 右擊寬頻連線network connections system eth0 ipv4 settings method manual addressse 192.168.斷開 連線 拷貝一台虛擬機器 虛擬機器 管理 轉殖 建立完整轉殖 ip設定 右擊網路連線 vi etc udev rule...
Hadoop 分布式環境搭建
ip host name software node 192.168.23.128 ae01 jdk 1.7 namenode,secondarynamenode,datanode,jobtracker,tasktracker 192.168.23.129 ae02 jdk 1.7 datanode...