您的位置:首页 > 运维架构 > 网站架构

注册中心集群,eureka高可用

2020-03-01 11:09 435 查看

今天做了一个简单的springcloud电商项目,下面是实现注册中心eureka集群(3个eureka server实例)的部分过程,代码已经测试通过。

eureka-server的application.yml:

server:
port: 8761

eureka:
instance:
hostname: localhost
instance-id: ${spring.cloud.client.ip-address}:${server.port}
prefer-ip-address: true
client:
#声明自己是个服务端
# 表示是否注册自身到eureka服务器
registerWithEureka: false
# 是否从eureka上获取注册信息
fetchRegistry: false
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
#      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

eureka clint 的application.yml:

#指定注册中心地址
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
instance:
instance-id: ${spring.cloud.client.ip-address}:${server.port}
prefer-ip-address: true

#服务的名称
spring:
application:
name: product-service
#指定从哪个配置中心读取
cloud:
config:
discovery:
service-id: CONFIG-SERVER
enabled: true
label: dev

注意,eureka server和eureka client 的defaultZone这一项要完全一致,一个字母都不要不一样,如果一个写localhost,另一个写192.168.99.5 是不行滴!!!要么都写localhost,要么都写192.168.99.5!!!

配置好后,通过idea改变port,分别启动3个eureka-server实例。

在idea改变端口,一个项目启动多个实例:

eureka server 启动完成后,接着启动各个eureka client。

最后,3个注册中心的监控台如下:

端口8761的监控台:

registered-replicas:注册的副本,可见8761有3个副本

端口8762的监控台:

端口8763的监控台:

可见3个eureka server都拿到了各个服务(eureka client)的注册信息,这样即使其中1个或2个eureka server 挂了,也不会影响各个服务的的运行,从而实现了高可用。

若童鞋们有什么疑问或建议,欢迎提出,大家一起进步~

  • 点赞
  • 收藏
  • 分享
  • 文章举报
chen123jinhua 发布了2 篇原创文章 · 获赞 0 · 访问量 37 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: