1. 程式人生 > >專案部署(一):ZooKeeper叢集測試

專案部署(一):ZooKeeper叢集測試

接上,ZooKeeper叢集搭建完成以後,下一步就是對叢集進行測試了

首先說明一下測試環境是Springboot+MySql,並且已經預設集成了dubbo,如果你的springboot沒有整合dubbo,請先集成了dubbo,並且配置了相關檔案之後再來做相關測試

首先需要匯入的依賴是:

		<dependency>
			<groupId>com.gitee.reger</groupId>
			<artifactId>spring-boot-starter-dubbo</artifactId>
			<version
>
1.0.10</version> </dependency>

進入該依賴,發現最主要的zkclient依賴已經被集成了,且版本也被管理起來了(下面只是一部分)

		<!-- zkclient  -->
		<dependency>
		    <groupId>com.101tec</groupId>
		    <artifactId>zkclient</artifactId>
		</dependency>

熟悉dubbo的應該知道,如果是spring還要配置類似下面的東西:

<dubbo:registry address="zookeeper://192.168.230.121:2181?backup=192.168.230.122:2181,192.168.230.123:2181"/>

這個東西我們在SpringBoot中怎麼配置呢?

我們需要建立一個zookeeper的properties檔案,之後在zookeeper.properties中寫入下面的內容:

#配置註冊中心
spring.dubbo.registry.protocol=zookeeper
spring.dubbo.registry.address=192.168.230.140
:2181,192.168.230.140:2180,192.168.230.140:2179

之後啟動相關專案就OK

測試

首先在centos上找出誰是leader,啟用命令:

/usr/local/zookeeper-cluster/zk1/bin/zkServer.sh status 檢視狀態

如果是leader,停止

/usr/local/zookeeper-cluster/zk1/bin/zkServer.sh stop

然後檢視服務是否仍然正常

一般來說,超過半數以上的zookeeper 被停掉了,整個叢集就失效了

由於我們有3臺zookeeper,停掉2臺後,叢集服務就失效了,但仍能訪問,原因是:消費者預設會在快取中再存一份生產者的地址,所以如果將生產者關掉後,服務就徹底失效了