博客详情

springcloud(六)--搭建Eureka Server集群 (原创)

作者: 朝如青丝暮成雪
发布时间:2018-08-18 12:04:21  文章分类:springcloud   阅读(1054)  评论(0)

本篇是关于spring cloud中Eureka Server的番外篇,主要介绍下Eureka Server的集群搭建,以及springcloud 客户端如何连接到Eureka Server集群。 


为了简便起见,我就不搞3台虚拟机了,直接修改下本机hosts文件来模拟3台机器即可。 


#springcloud eureka 服务集群
127.0.0.1  eureka1.tingcream.com
127.0.0.1  eureka2.tingcream.com
127.0.0.1  eureka3.tingcream.com


Eureka Server 集群application.yml 和单机环境下的application.yml配置不同。

集群环境中:
spring.application.name设置为相同值,eureka.client.register-with-eureka 需设置为默认的true,eureka.client.retch-registry需设置为默认的true,eureka.client.service-url.defaultZone 设置为所有其他的eureka server的地址。


sim-eureka-8001 中application.yml


server:
  port: 8001 


spring:
  application:
    name: sim-eureka 
      
eureka: 
  instance:
    # 单机 hostname: localhost #eureka注册中心实例名称
    hostname: eureka1.tingcream.com # 集群
  client: 
    register-with-eureka: true    
    fetch-registry: true    
    service-url: 
      defaultZone: http://eureka2.tingcream.com:8002/eureka/,http://eureka3.tingcream.com:8003/eureka/ 
      


sim-eureka-8002 中application.yml 


server:
  port: 8002 

spring:
  application:
    name: sim-eureka 

eureka: 
  instance:
    hostname: eureka2.tingcream.com # 集群
  client: 
    register-with-eureka: true     
    fetch-registry: true     
    service-url: 
      defaultZone: http://eureka1.tingcream.com:8001/eureka/,http://eureka3.tingcream.com:8003/eureka/ #集群


sim-eureka-8003 中application.yml

server:
  port: 8003 
  
spring:
  application:
    name: sim-eureka 

eureka: 
  instance:
    hostname: eureka3.tingcream.com # 集群
  client: 
    register-with-eureka: true  
    fetch-registry: true 
    service-url: 
      defaultZone: http://eureka2.tingcream.com:8002/eureka/,http://eureka1.tingcream.com:8001/eureka/ 
      



你可以复制3份sim-eureka 工程,让后分别修改其application.yml文件,或者,不用复制在运行程序时指定程序参数即可,如图


在 eclipse 的工具栏, Run  --》 Run Configurations

--server.port=8001 --spring.application.name=sim-eureka  --eureka.client.register-with-eureka=true --eureka.client.fetch-registry=true --eureka.instance.hostname=eureka1.tingcream.com --eureka.client.service-url.defaultZone=http://eureka2.tingcream.com:8002/eureka/,http://eureka3.tingcream.com:8003/eureka/ 

--server.port=8002 --spring.application.name=sim-eureka --eureka.client.register-with-eureka=true --eureka.client.fetch-registry=true --eureka.instance.hostname=eureka2.tingcream.com --eureka.client.service-url.defaultZone=http://eureka1.tingcream.com:8001/eureka/,http://eureka3.tingcream.com:8003/eureka/ 

--server.port=8003 --spring.application.name=sim-eureka --eureka.client.register-with-eureka=true --eureka.client.fetch-registry=true --eureka.instance.hostname=eureka3.tingcream.com --eureka.client.service-url.defaultZone=http://eureka1.tingcream.com:8001/eureka/,http://eureka2.tingcream.com:8002/eureka/ 





ok后,分别启动SimEurekaServer-8001、SimEurekaServer-8002 、SimEurekaServer-8003 ,分别访问


http://eureka1.tingcream.com:8001/  http://eureka2.tingcream.com:8002/  http://eureka3.tingcream.com:8003/ 


可以看到 DS Replicas 中有2条记录 。


springcloud客户端应用如何连接到Eureka Server集群呢? 

以sim-provider 工程为例,修改application.yml 中eureka.client.default-url值即可。



#eureka客户端
eureka: 
  instance: 
    hostname: localhost  #eureka客户端主机实例名称
    prefer-ip-address: true
  client: 
    service-url:
      defaultZone: http://eureka1.tingcream.com:8001/eureka/,http://eureka2.tingcream.com:8002/eureka/,http://eureka3.tingcream.com:8003/eureka/ # 集群
      




关键字:  springcloud  Eureka  集群
评论信息
暂无评论
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号