前言
在使用SpringCloud微服务架构时,应当避免当某个服务出现故障时不要影响整个系统业务的运行,因此需要实现各个服务的高可用性,提升系统稳定性。
1、业务逻辑
请求逻辑:
使用nginx + keepalived 集群作为用户请求数据入口,将请求 负载均衡+高可用 地
转发到指定的微服务接口层(没有做路由),接口微服务通过openFeign的方式,负载均衡
(Ribbon)请求Eureka中其他可用的微服务提供者。
从而达到高可用+负载均衡的 目的。
2、具体实现
以2台服务为例:
服务器A、服务器B各自部署一整套系统服务。服务器A的eureka注册到服务器B的eureka,服务器B的eureka注册道服务器A的Eureka,这样就实现了互为注册。
然后服务器A、服务器B的各个微服务需要同时注册到AB两个服务器的eureka中,这样一台出现单点故障的话,另一台还能正常访问,并且故障注册中心恢复后,会自动从另一台注册中心同步注册客户端信息。