我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

ZooKeeper注册中心重启后会对Dubbo服务发布/订阅造成什么影响

这期内容当中小编将会给大家带来有关ZooKeeper注册中心重启后会对Dubbo服务发布/订阅造成什么影响,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为泉港企业提供专业的网站建设、成都网站设计泉港网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

情况:ZooKeeper集群删除所有数据,重启ZooKeeper集群后,im-service没有providers,

    重启im-service后,im-service所有dubbo接口没有consumers。

    重启im-web之后,一切ok。

结论:

问题:如果dubbo服务运行正常,但是ZooKeeper集群宕机,并且丢失了所有的数据。
ZooKeeper集群重启后,需要重启dubbo服务吗?

答案:需要的。

-------------------------------------------------------------

问题:如果dubbo服务运行正常,但是ZooKeeper集群宕机,没有丢失任何数据(zk数据做了持久化)。
ZooKeeper集群重启后,需要重启dubbo服务吗?

答案:不需要的。

软件环境:

    ZooKeeper 3.4.11

    dubbo 2.5.3

验证:

1、在docker容器中,启动ZooKeeper集群

2、在本地启动gwy-res-web项目。

    此项目既是provider又是consumer:

ZooKeeper注册中心重启后会对Dubbo服务发布/订阅造成什么影响

    此时在ZooKeeper中看到:

[zk: localhost:2181(CONNECTED) 1] ls  /dubbo
[com.newbanker.ie.service.CourseService, io.newbanker.modules.sys.service.ExhibitionCenterConfigService, com.newbanker.gwy.res.dubbo.service.ResAdRpcService, com.newbanker.mq.rely.service.MessageSenderService, com.newbanker.gwy.res.dubbo.service.GwyResCourseService, com.newbanker.gwy.res.dubbo.service.MarketingActivityAuthorizeService]

3、停止所有ZooKeeper,并删除所有ZooKeeper容器。之后重新建立ZooKeeper容器并启动:

[root@localhost ~]# docker stop `docker ps -q` ## 停止所有ZooKeeper服务
59533a8fa961
c8836b1a0da7
f1a194bedd53
[root@localhost ~]# docker rm `docker ps -qa`    ## 删除所有ZooKeeper容器                 
59533a8fa961
c8836b1a0da7
f1a194bedd53
[root@localhost ~]# docker-compose -f zookeeper-compose.yml up -d ##重新创建ZooKeeper容器并启动
Creating zk1_cname ... done
Creating zk2_cname ... done
Creating zk3_cname ... done
[root@localhost ~]# docker ps -aq ##查看新建容器id
b73250197d7d
263d6efaa028
346334a5513f

[root@localhost ~]# docker exec -it zk1_cname sh ##进入一个容器中
/zookeeper-3.4.11/bin # ./bin/zkCli.sh ##在容器中使用zk客户端链接服务端。
Connecting to localhost:2181
2019-09-19 09:03:46,773 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT

这里省略一些ZooKeeper客户端链接ZooKeeper server的日志。

WATCHER::
WatchedEvent state:SyncConnected type:None path:null

[zk: localhost:2181(CONNECTED) 0] ls /   ##查看ZooKeeper节点,可以看到,并没有/dubbo节点!!!
[zookeeper]

5、gwy-res-web一直在打日志如下。并且根据上一步:在zk中使用 ls / 命令,在zk跟节点下,并没有/dubbo节点。说明服务并没有重新注册到zk。

2019-09-19 17:12:39.677 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:40.706 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2182. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:40.707 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2182, initiating session
2019-09-19 17:12:40.709 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:42.239 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2181. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:42.240 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2181, initiating session
2019-09-19 17:12:42.242 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:43.310 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2183. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:43.312 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2183, initiating session
2019-09-19 17:12:43.314 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:43.861 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2182. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:43.863 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2182, initiating session
2019-09-19 17:12:43.864 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:44.971 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2181. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:44.971 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2181, initiating session
2019-09-19 17:12:44.973 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:45.845 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2183. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:45.846 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2183, initiating session
2019-09-19 17:12:45.848 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:46.207 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2182. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:46.208 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2182, initiating session
2019-09-19 17:12:46.209 [main-SendThread(192.168.126.129:2182)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:48.081 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2181. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:48.082 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2181, initiating session
2019-09-19 17:12:48.084 [main-SendThread(192.168.126.129:2181)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect
2019-09-19 17:12:48.847 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1032 - Opening socket connection to server 192.168.126.129/192.168.126.129:2183. Will not attempt to authenticate using SASL (unknown error)
2019-09-19 17:12:48.848 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:876 - Socket connection established to 192.168.126.129/192.168.126.129:2183, initiating session
2019-09-19 17:12:48.850 [main-SendThread(192.168.126.129:2183)] INFO org.apache.zookeeper.ClientCnxn:1158 - Unable to read additional data from server sessionid 0x2000001648c0000, likely server has closed socket, closing socket connection and attempting reconnect

6、结论:也就是说,整个ZooKeeper集群宕机并丢失所有数据后,重启ZooKeeper集群,此时需要重启业务系统。

     而当整个ZooKeeper集群宕机,但是没有丢失数据时,重启ZooKeeper集群后不用重启业务系统。(因为ZooKeeper服务端存储的数据包含了服务端和客户端之间session信息。)

     dubbo服务会自动探测ZooKeeper运行状态,当ZooKeeper可用后,providers会把服务发布到ZooKeeper注册中心,consumers也会订阅ZooKeeper注册中心。

上述就是小编为大家分享的ZooKeeper注册中心重启后会对Dubbo服务发布/订阅造成什么影响了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


当前标题:ZooKeeper注册中心重启后会对Dubbo服务发布/订阅造成什么影响
本文来源:http://mswzjz.cn/article/igehse.html

其他资讯