集羣服務註冊到多臺zookeeper配置:php
提供者:java
_<!-- ##############__配置Dubbo服務提供者 #############-->
<!-- 配置當前應用名稱 -->
_<dubbo:applicationname="pinyougou-sellergoods-service" />
_<!--__使用zookeeper註冊中心暴露服務地址 -->
<!-- <dubbo:registry protocol="zookeeper" address="192.168.12.131:2181" />-->
_<dubbo:registry protocol="zookeeper"address="192.168.12.131:3181,192.168.12.131:3182,192.168.12.131:3183"/>
_<!--__用dubbo協議在20880端口暴露服務 -->
_<dubbo:protocolname="dubbo"port="20880"/>
_<!--__配置採用包掃描來暴露服務 -->
_<dubbo:annotationpackage="com.pinyougou.sellergoods.service.impl"/>消費者:_<!-- ###############__配置Dubbo的服務消費者 ################## -->
<!-- 當前應用的名稱 -->
_<dubbo:applicationname="pinyougou-manager-web"/> web
_<!--__使用zookeeper註冊中心發現暴露的服務地址 -->
_<dubbo:registry protocol="zookeeper"address="192.168.12.131:3181,192.168.12.131:3182,192.168.12.131:3183"/> apache
_<!--__配置採用包掃描來引用服務,產生服務接口的代理對象 -->
_<dubbo:annotationpackage="com.pinyougou.manager.controller"/>session
任何一個節點若是存活着,那麼整體服務不回出現問題app
命令啓動3臺zookeeper集羣:spa
/usr/local/solr/solr-cloud/zookeeper01/bin/zkServer.shstart代理
/usr/local/solr/solr-cloud/zookeeper02/bin/zkServer.sh start對象
/usr/local/solr/solr-cloud/zookeeper03/bin/zkServer.sh start接口
查看zookeeper進程:ps -ef | grep zookeeper
強制殺死進程:kill -9 進程號
當強制關閉第一個zookeeper,kill-9 30412
2018-08-28 16:30:47,677[DubboZkclientConnector-SendThread(192.168.12.131:3182)][org.apache.zookeeper.ClientCnxn]-[DEBUG] Got ping response for sessionid:0x2000181af190001 after 1ms
控制檯並無報錯,服務和應用可以正常運行。
當強制關閉第二個zookeeper,kill-9 30367
提供者會檢測到zookeeper的狀況,打印出錯誤信息。
2018-08-28 16:40:51,177[DubboZkclientConnector-SendThread(192.168.12.131:3183)] [org.apache.zookeeper.ClientCnxnSocketNIO]-[DEBUG]Ignoring exception during shutdown output
java.nio.channels.ClosedChannelException
atsun.nio.ch.SocketChannelImpl.shutdownOutput(SocketChannelImpl.java:797)
atsun.nio.ch.SocketAdaptor.shutdownOutput(SocketAdaptor.java:407)
atorg.apache.zookeeper.ClientCnxnSocketNIO.cleanup(ClientCnxnSocketNIO.java:207)
atorg.apache.zookeeper.ClientCnxn$SendThread.cleanup(ClientCnxn.java:1249)
atorg.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1173)
當zookeeper集羣恢復到2個以上,提供方恢復穩定,再也不報錯。
111.png(129.72 KB, 下載次數: 0)