eureka集群環境搭建


一:集群環境搭建

 

 第一步:我們新建兩個注冊中心工程一個叫eureka_register_service_master、另外一個叫eureka_register_service_backup

 

eureka_register_service_master的application.properties配置   

server.port=7998

eureka.client.register-with-eureka=false

eureka.client.fetch-registry=false

spring.application.name=eureka-server

eureka.instance.hostname=master

eureka.client.serviceUrl.defaultZone=http://backup:7999/eureka/

 

eureka_register_service_backup的application.properties配置如下

    server.port=7999
    eureka.client.register-with-eureka=false
    eureka.client.fetch-registry=false
    spring.application.name=eureka-server
    eureka.instance.hostname=backup
    #這里配置的是master的地址
    eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/

 

上面的配置端口分別是

 

master端口是7998

backupr端口是7999

 

由於我用的是同一台機器所以需要綁定下host

127.0.0.1      master 

127.0.0.1      backup 

 

第二步:添加啟動文件分別是ApplicationMaster.java,ApplicationBackUp.java

    里面代碼內容是一樣的

       
        @EnableEurekaServer
	@SpringBootApplication
	public class ApplicationMaster {
		public static void main(String[] args) {
		    SpringApplication.run(ApplicationMaster.class, args); 
		}

	}
	
	
	@EnableEurekaServer
	@SpringBootApplication
	public class ApplicationBackUp {
		public static void main(String[] args) {
		    SpringApplication.run(ApplicationBackUp.class, args);
		}

	}	

 二:服務端注冊

 

 設置了多個注冊中心后,我們的服務配置不需要太多改動只需將工程的application.properties的serviceUrl修改下

 

 eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/,http://backup:7999/eureka/,

 

 當然也可以綁定一個地址,eureka.client.serviceUrl.defaultZone=http://master:7998/eureka/  這兩種綁定都可以,綁定一個時,也會注冊到兩個eureka上。但是如果只寫一個時,假如http://master:7998/eureka/這個掛掉了,另一個eureka的結點信息會消失。

 分別打開http://127.0.0.1:7998/  和 http://127.0.0.1:7999/ 如下圖

 

 

 

 

 通過上圖可以看

   端口7998是matser它的registered-replicas指向了http://backup:7999/eureka/

   端口7999是backup它的registered-replicas指向了http://master:7999/eureka/

 

如何配置serviceUrl來讓集群中的服務進行同步

Eureka Server的同步遵循着一個非常簡單的原則:只要有一條邊將節點連接,就可以進行信息傳播與同步

場景一

假設我們有3個注冊中心,我們將peer1、peer2、peer3各自都將serviceUrl指向另外兩個節點。換言之,peer1、peer2、peer3是兩兩互相注冊的。啟動三個服務注冊中心,並將compute-service的serviceUrl指向peer1並啟動,可以獲得如下圖所示的集群效果。

 

 訪問http://localhost:1112/,可以看到3個注冊中心組成了集群,compute-service服務通過peer1同步給了與之互相注冊的peer2和peer3

 

總結:

  • 兩兩注冊的方式可以實現集群中節點完全對等的效果,實現最高可用性集群,任何一台注冊中心故障都不會影響服務的注冊與發現


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM