Eureka-注册中心
角色:
1 服务提供者
2 服务消费者
3 服务注册中心
a.高HA:支持数据持久化和服务集群
b.数据一致性问题,集群中的所有客户应该看到同一份数据不能出现读写数据不一致
c.数据变更主动推送,当注册中心的数据发生变更时要及时通知客户端
关键性功能设计:
1)服务提供者在启动时,向注册中心注册自己提供的服务
2)消费者在启动时,像注册中心订阅自己所需要的服务,消费者刷新自己的本地缓存路由表
3)注册中心返回服务提供者的地址列表给消费者,如果有变更,注册中心推送变更数据给消费者,消费者更新自己的本地路由表
4)服务消费者根据得到的服务提供者地址列表,基于负载均衡算法选择其中一台server为自己提供服务
可靠性:
1)对等集群,一台宕机不影响服务使用
2)注册中心全部宕机,不影响服务,但是没办法注册新的服务或者下线服务
3)通过长连接心跳检测服务提供者的健康状态
一、eureka
集群化
-
Service Provider会向Eureka Server做Register(服务注册)、Renew(服务续约)、Cancel(服务下线)等操作;
-
Eureka Server之间会做注册服务的同步,从而保证状态一致
-
Service Consumer会向Eureka Server获取注册服务列表,并消费服务。
Fetch Registries由Service Consumer调用,用来获取Eureka Server上注册的服务。为了提高性能,服务列表在Service
Consumer会缓存一份,同时每30秒更新一次。做注册服务的同步,从而保证状态一致;
通过eureka.client.registryFetchIntervalSeconds设置同步时间间隔。
鉴于同步时间的滞后性,可以通过主动方式通知消费方更新缓存列表
https://www.cnblogs.com/yangzhilong/p/7161941.html eureka优雅下线