1、eureka的注册流程

客户端注册到服务端是通过http请求的

涉及到多级缓存

register注册表 

源码精髓:多级缓存设计思想
  在拉取注册表的时候:
  •   首先从ReadOnlyCacheMap里查缓存的注册表。
  •   若没有,就找ReadWriteCacheMap里缓存的注册表。
  •   如果还没有,就从内存中获取实际的注册表数据
 
  在注册表发生变更的时候:
  •   会在内存中更新变更的注册表数据,同时过期掉ReadWriteCacheMap
  •   此过程不会影响ReadOnlyCacheMap提供人家查询注册表。
  •   默认每30秒Eureka Server会将ReadWriteCacheMap更新到ReadOnlyCacheMap里
  •   默认每180秒Eureka Server会将ReadWriteCacheMap里是数据失效
  •   下次有服务拉取注册表,又会从内存中获取最新的数据了,同时填充各级缓存。
  多级缓存机制的优点:
  •   尽可能保证了内存注册表数据不会出现频繁的读写冲突问题。
  •   并且进一步保证对Eureka Server的大量请求,都是快速从纯内存走,性能极高(可以稍微估计下对于一线互联网公司,内部上千个eureka client实例,每分钟对eureka上千次的访问,一天就是上千万次的访问)

 

 

 

posted @ 2021-11-17 17:05  低调人生  阅读(587)  评论(0编辑  收藏  举报