Eureka初步了解
1:Eureka是什么
Eureka是netflix开发的一个服务发现框架,目的是达到负载均衡和故障转移,
1:服务注册
2:服务发现
3:缓存
4:心跳
5:多注册中心分区
缓存:
数据结构
二级级结构:ConcurrentHashMapA<instanceId,Lease>
一级结构:ConcurrentHashMap<spring.application.name,ConcurrentHashMapA>
完整的结构:ConcurrentHashMap<spring.application.name,ConcurrentHashMap<instanceId,Lease>>
spring.application.name:配置中的应用名称
instanceId:唯一实例id
Lease:实例对象包含ip,端口等属性
所以每一个应用名的一级结构的value是名称相同的所有实例的ConcurrentHashMapA集合
Eureka的注册信息存在于下面三个容器里
register:注册列表
二级缓存readWriteCacheMap:
一级缓存readOnlyCacheMap:
缓存流程如下:
Eureka分区设置:
register-with-eureka:是否注册到eureka服务中
fetch-registry:是否拉取其他的服务
preferSameZoneEureka:优先选择client实例所在的zone的服务+