dubbo 注册中心zookeeper 手册
前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
zookeeper 注冊中心
Zookeeper?是 Apacahe Hadoop 的子項目,是一個樹型的目錄服務,支持變更推送,適合作為 Dubbo 服務的注冊中心,工業強度較高,可用于生產環境,并推薦使用?1。
流程說明:
- 服務提供者啟動時: 向?/dubbo/com.foo.BarService/providers?目錄下寫入自己的 URL 地址
- 服務消費者啟動時: 訂閱?/dubbo/com.foo.BarService/providers?目錄下的提供者 URL 地址。并向?/dubbo/com.foo.BarService/consumers?目錄下寫入自己的 URL 地址
- 監控中心啟動時: 訂閱?/dubbo/com.foo.BarService?目錄下的所有提供者和消費者 URL 地址。
支持以下功能:
- 當提供者出現斷電等異常停機時,注冊中心能自動刪除提供者信息
- 當注冊中心重啟時,能自動恢復注冊數據,以及訂閱請求
- 當會話過期時,能自動恢復注冊數據,以及訂閱請求
- 當設置?<dubbo:registry?check="false"?/>?時,記錄失敗注冊和訂閱請求,后臺定時重試
- 可通過?<dubbo:registry?username="admin"?password="1234"?/>?設置 zookeeper 登錄信息
- 可通過?<dubbo:registry?group="dubbo"?/>?設置 zookeeper 的根節點,不設置將使用無根樹
- 支持?*?號通配符?<dubbo:reference?group="*"?version="*"?/>,可訂閱服務的所有分組和所有版本的提供者
使用
在 provider 和 consumer 中增加 zookeeper 客戶端 jar 包依賴:
<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.3.3</version> </dependency>或直接下載。
Dubbo 支持 zkclient 和 curator 兩種 Zookeeper 客戶端實現:
使用 zkclient 客戶端
從?2.2.0?版本開始缺省為 zkclient 實現,以提升 zookeeper 客戶端的健狀性。zkclient?是 Datameer 開源的一個 Zookeeper 客戶端實現。
缺省配置:
<dubbo:registry ... client="zkclient" />或:
dubbo.registry.client=zkclient或:
zookeeper://10.20.153.10:2181?client=zkclient需依賴或直接下載:
<dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>0.1</version> </dependency>使用 curator 客戶端
從?2.3.0?版本開始支持可選 curator 實現。Curator?是 Netflix 開源的一個 Zookeeper 客戶端實現。
如果需要改為 curator 實現,請配置:
<dubbo:registry ... client="curator" />或:
dubbo.registry.client=curator或:
zookeeper://10.20.153.10:2181?client=curator需依賴或直接下載:
<dependency><groupId>com.netflix.curator</groupId><artifactId>curator-framework</artifactId><version>1.1.10</version> </dependency>Zookeeper 單機配置:
<dubbo:registry address="zookeeper://10.20.153.10:2181" />或:
<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181" />Zookeeper 集群配置:
<dubbo:registry address="zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181" />或:
<dubbo:registry protocol="zookeeper" address="10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181" />同一 Zookeeper,分成多組注冊中心:
<dubbo:registry id="chinaRegistry" protocol="zookeeper" address="10.20.153.10:2181" group="china" /> <dubbo:registry id="intlRegistry" protocol="zookeeper" address="10.20.153.10:2181" group="intl" />zookeeper 安裝
安裝方式參見:?Zookeeper安裝手冊,只需搭一個原生的 Zookeeper 服務器,并將?Quick Start?中 Provider 和 Consumer 里的?conf/dubbo.properties?中的?dubbo.registry.addrss?的值改為?zookeeper://127.0.0.1:2181?即可使用。
可靠性聲明
阿里內部并沒有采用 Zookeeper 做為注冊中心,而是使用自己實現的基于數據庫的注冊中心,即:Zookeeper 注冊中心并沒有在阿里內部長時間運行的可靠性保障,此 Zookeeper 橋接實現只為開源版本提供,其可靠性依賴于 Zookeeper 本身的可靠性。
兼容性聲明
因?2.0.8?最初設計的 zookeeper 存儲結構不能擴充不同類型的數據,2.0.9?版本做了調整,所以不兼容,需全部改用?2.0.9?版本才行,以后的版本會保持兼容?2.0.9。2.2.0?版本改為基于 zkclient 實現,需增加 zkclient 的依賴包,2.3.0?版本增加了基于 curator 的實現,作為可選實現策略。
1. 建議使用?2.3.3?以上版本的 zookeeper 注冊中心客戶端??
總結
以上是生活随笔為你收集整理的dubbo 注册中心zookeeper 手册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [导入]ASP.NET MVC框架开发系
- 下一篇: 多表查询返回多个DataTable,合并