Eureka Server高可用集群
只使用单个Eureka Server风险太大,如果Eureka Server宕机,则服务就会瘫痪,所有我们应该搭建Eureka的高可用集群,EurekaServer之间相互注册,每个EurekaServer都注册服务,那么即使一台EurekaServer坏掉也不会导致系统崩溃
实例:
准备两台EurekaServer,需要相互进行注册
1号Server 9000
2号Server 8000
#模拟两个EurekaServer
#端口9000
#端口8000
#两个EurekaServer需要相互注册
server
#模拟两个EurekaServer
#端口9000
#端口8000
#两个EurekaServer需要相互注册
server
2 将微服务注册到两个EurekaServer上
在EurekaClient上注册多个EurekaServer
服务提供者:
server
服务消费者:
server
各EurekaServer之间有服务同步功能
细节问题:
1 在控制台显示服务IP
在服务提供者,通过eureka.instance.instance-id配置控制台显示服务ip
server
2 Eureka的服务剔除问题
Eureka的服务提供者默认每30s发送一次心跳机制,以告诉EureakServer目前自己存活,EureakServer如果90s没有心跳,则认为该提供者已死,但实际开发中90s显然太长,所有我们需要进行自定义配置。
在服务提供者,设置心跳间隔,设置续约到期时间
server
Eureka自我保护机制
EurekaServer统计所有的心跳比率在15min之内是否小于85%
统计有多少服务心跳没有接受,如果大于85%,则开启自我保护机制,如果开启自我保护机制,服务就不会自动剔除了,一般开发中不需要自我保护机制
eureka
以上为自我开发时自定义配置,如果项目上线阶段最好保持默认值,因为Eureka包含许多算法,把默认值精确到了每一个业务,所以上线阶段不推荐修改!