03.3 Eureka集群实战
Eureka集群实战记录
1. Eureka集群原理
上图是来自eureka的官方架构图
基于集群配置的eureka
- 处于不同节点的eureka通过Replicate进行数据同步
- Application Service为服务提供者
- Application Client为服务消费者
- Make Remote Call完成一次服务调用
服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用。
当服务注册中心Eureka Server检测到服务提供者因为宕机、网络原因不可用时,则在服务注册中心将服务置为DOWN状态,并把当前服务提供者状态向订阅者发布,订阅过的服务消费者更新本地缓存。
服务提供者在启动后,周期性(默认30秒)向Eureka Server发送心跳,以证明当前服务是可用状态。Eureka Server在一定的时间(默认90秒)未收到客户端的心跳,则认为服务宕机,注销该实例。
2. 修改hosts文件
为了方便分辨不同的结点,在host文件中定义不同的域名来表示,可以手动修改hosts文件,但是并不推荐.
推荐使用SwitchHosts工具(感兴趣的朋友这里下载:https://u20964900.pipipan.com/dir/20964900-35317200-59ca11)
hosts文件中增加:
1 | #尚硅谷springcloud教程 |
3. 组成集群
3.1 新建工程
新建microservicecloud-eureka-7002和microservicecloud-eureka-7003,也可以直接复制7001工程.
3.2 父工程pom.xml
增加如下内容:
1 | <module>microservicecloud-eureka-7002</module> |
3.3 三个子工程的yml配置修改:
1 | server: |
1 | server: |
1 | server: |
4. 修改provider yml文件配置
由原来的单节点修改为集群模式
1 | eureka: |
5. 验证
分别启动eureka7001/7002/7003,然后启动provider8001
下图表示集群启动成功,并且成功注册上provider8001服务
资源获取
公众号回复 : Eureka集群实战 获取本节代码
公众号回复 : SpringCloud思维导图
Tips
欢迎收藏和转发,感谢你的支持!(๑•̀ㅂ•́)و✧
欢迎关注我:后端小哥,专注后端开发,希望和你一起进步!