搭建eureka集羣

 

 

使用spring boot1.5.16版本,spring cloud版本選擇Edgware.SR4,添加eureka server的依賴

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

在application.properties中設置應用名稱

spring.application.name=eureka-server
eureka.instance.appname=eureka-server

還需要開啓eureka server之間的相互註冊和檢索服務

#是否將該實例信息註冊到其他eureka server上;如果設置爲false,那麼該server無法被其他server發現,但是仍然可以發現其他server
eureka.client.register-with-eureka=true
#是否允許該客戶端從eureka server上獲取註冊信息
eureka.client.fetch-registry=true

我們使用主機名來定義註冊中心的地址,而不是ip,該配置默認就是false,所以可以不配

eureka.instance.prefer-ip-address=false

我們在同一臺機器上創建3個節點的eureka集羣,分別是peer1,peer2和peer3

修改hosts文件,使peer1,peer2和peer3都指向127.0.0.1, 具體路徑是

C:\Windows\System32\drivers\etc\HOSTS

添加如下內容

127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3

然後在項目中創建3個配置文件application-peer1.properties,application-peer2.properties和application-peer3.properties分別作爲peer1,peer2和peer3節點的配置文件。配置服務的端口和hostname,指定其他兩個eureka server,地址中的hostname應與配置的hostname相對應。

application-peer1.properties

server.port=1111
eureka.instance.hostname=peer1
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/,http://peer3:1113/eureka

application-peer2.properties

server.port=1112
eureka.instance.hostname=peer2
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer3:1113/eureka

application-peer3.properties

server.port=1113
eureka.instance.hostname=peer3
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka

編譯後,在target目錄下分別執行java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer1,java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer2和java -jar eureka-server-1.0.0.jar --spring.profiles.active = peer3,啓動3個eureka server。至此,3節點的eureka搭建完成。

訪問 http://localhost:1111 ,在peer1的頁面上可以看到,General Info的available-replicas有peer2和peer3節點,說明3個節點的eureka server相互註冊成功。如果available-replicas是空的,而unavailable-replicas有其他兩個節點,說明配置有問題,集羣搭建失敗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章