实现原理
注册中心的任务由多个eureka实例担任,将每个服务实例同时注册到注册中心的每一个eureka实例中(每一个eureka实例也会以一个服务实例出现)。如果一个eureka实例宕机,其他的eureka实例可以继续提供注册发现服务。当宕机的eureka实例恢复后,会主动去其他的eureka注册实例中获取注册的服务列表。
搭建流程:
- 创建多个model用来模拟多个eureka节点(以2个为例)。
- 添加配置文件application.yml(以peer1为例,peer2同理,将自己注册到peer1中去)
- 创建eureka注册中心运行类(注解不要忘记添加)
- 修改服务实例的配置文件(以product服务为例)
- 修改主机hosts文件。
添加映射:127.0.0.1 peer1 127.0.0.1 peer2
遇到问题
-
不要在个工程下建立多个配置文件yml,然后指定yml文件去运行项目,否则搭建失败。
-
配置文件application.yml中
# eureka高可用配置必须向注册中心注册自己
eureka.client.register-with-eureka: true
# 自己端是注册中心,需要去检索服务
eureka.client.fetch-registry: true
- 修改host文件注意保存文件格式,否则不生效,尽量使用360或腾讯安全中心的小工具进行修改。