Rureka集群管理微服务
2021-11-11 11:32:48 3 举报
初学者了解Rureka基础结构简洁明了
作者其他创作
大纲/内容
B_Map
Eureka集群
readWriteCacheMap
KV
不正常的服务占比大于15%时开启自我保护(也就是说正常的服务小于85%时)
Register: 登记比如 IP 地址、端口,运行状况指示符 URL,主页等。
font color=\"#4caf50\
Remote Call
一级缓存没有到二级拿
Eureka Server
readOnlyCacheMap
Eureka Client 是一个 Java 客户端,用于简化与 Eureka Server 的交互。Eureka Client 会拉取、更新和缓存 Eureka Server 中的信息。因此当所有的 Eureka Server 节点都宕掉,服务消费者依然可以使用缓存中的信息找到服务提供者,但是当服务有更改的时候会出现信息不一致。
Get Registry(JOSN)
instanceIdB-2
默认每30s从第二层同步数据
ConcurrentHashMapfont color=\"#4caf50\
APP_A
数据存储层( 双层ConcurrentHashMap )
Service Provider
APP_B
JOSN
A_Map
Register/Renew/Cancel
先从一级缓存拿
Client关闭时Cancel: DiscoveryManager.getInstance().shutdownComponent();
服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表提供注册表服务消费者在调用服务时,如果 Eureka Client 没有缓存注册表的话,会从 Eureka Server 获取最新的注册表同步状态Eureka Client 通过注册、心跳机制和 Eureka Server 同步当前客户端的状态。
实例1注册信息
Ribbon自动负载均衡
Eureka Client
缓存层
instanceIdB-1
Service Consumer
ConcurrentHashMap
双层ConcurrentHashMap,存在内存
实例2注册信息
将Registry缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。30s一次心跳更新。
# 启用服务消费者从注册中心拉取服务列表的功能eureka.client.fetch-registry=true# 设置服务消费者从注册中心拉取服务列表的间隔eureka.client.registry-fetch-interval-seconds=30
收藏
0 条评论
下一页