Eureka
文章平均质量分 58
Eureka 源码解析
小粥粥出击
没什么好说的...
展开
-
(十二)EurekaServer-扩展
1. 读写锁1.1 位置// AbstractInstanceRegistry.classpublic abstract class AbstractInstanceRegistry implements InstanceRegistry { // 最近变更队列 private ConcurrentLinkedQueue<RecentlyChangedItem> recentlyChangedQueue = new ConcurrentLinkedQueue<原创 2021-06-08 09:22:06 · 96 阅读 · 0 评论 -
(十一)EurekaServer-定期清理过期实例
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 方法入口@Configuration// Step1:引入 EurekaServerInitializerConfiguration 配置类@Import(EurekaServerInitializerConfiguration.class)@ConditionalOnBean(EurekaServerMarkerConfiguration.Marker.class)原创 2021-06-08 09:21:55 · 292 阅读 · 0 评论 -
(十)EurekaServer-处理客户端拉取全量、增量注册表请求
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 处理客户端拉取全量注册表服务端接收客户端拉取全量注册表的请求在 ApplicationsResource 类中的 getContainers() 方法// ApplicationsResource.classpublic Response getContainers(@PathParam("version") String version,原创 2021-06-08 09:21:42 · 484 阅读 · 0 评论 -
(九)EurekaServer-处理客户端变更状态、删除状态请求
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 处理删除状态请求服务端处理客户端变更状态和删除状态请求的方法都在 InstanceResource 类// InstanceResource.classpublic Response deleteStatusUpdate( @HeaderParam(PeerEurekaNode.HEADER_REPLICATION) String isReplicatio原创 2021-06-08 09:21:29 · 230 阅读 · 0 评论 -
(八)EurekaServer-处理客户端下架请求
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 处理客户端下架请求服务端处理处理客户端下架请求在 InstanceResource 类的 cancelLease() 方法// InstanceResource.classpublic Response cancelLease( @HeaderParam(PeerEurekaNode.HEADER_REPLICATION) String isReplica原创 2021-06-07 11:34:54 · 91 阅读 · 0 评论 -
(七)EurekaServer-处理客户端心跳续租请求
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. InstanceResource服务端处理客户端心跳续租请求,在 InstanceResource 类的 renewLease() 方法// InstanceResource.classpublic Response renewLease( @HeaderParam(PeerEurekaNode.HEADER_REPLICATION) String isR原创 2021-06-07 11:34:13 · 219 阅读 · 1 评论 -
(六)EurekaServer-处理客户端注册请求
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 客户端发起注册请求场景客户端初始化时直接注册(需要在配置文件配置)客户端发起心跳续租请求时收到服务端返回404,会立即再发起注册当客户端检测到相应配置更新时,向服务端发起注册请求进行数据同步2. ApplicationResource服务端处理客户端的注册请求,在 ApplicationResource 类中的 addInstance() 方法ps:Eureka原创 2021-06-07 11:28:54 · 274 阅读 · 1 评论 -
(五)EurekaServer-同步注册表机制
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 方法入口@Configuration// Step1:引入 EurekaServerInitializerConfiguration 配置类@Import(EurekaServerInitializerConfiguration.class)@ConditionalOnBean(EurekaServerMarkerConfiguration.Marker.class)原创 2021-06-07 11:28:16 · 354 阅读 · 3 评论 -
(四)EurekaClient-启动时初始化的定时任务
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 初始化定时任务客户端启动时,会初始化定时任务,方法入口在《EurekaClient-拉取注册表》提到过// DiscoveryClient.classDiscoveryClient(ApplicationInfoManager applicationInfoManager, EurekaClientConfig config, AbstractDiscoveryClien原创 2021-06-07 11:27:31 · 380 阅读 · 0 评论 -
(三)EurekaClient-发起状态变更和删除状态
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 服务实例变更状态Eureka 整合了 Actuator ,可以通过 Actuator 变更实例在服务端的状态@Endpoint(id = "service-registry")public class ServiceRegistryEndpoint { // ...... @WriteOperation public ResponseEntity&原创 2021-06-07 11:26:30 · 327 阅读 · 0 评论 -
(二)EurekaClient-拉取注册表
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 方法入口public class EurekaClientAutoConfiguration { @Configuration @ConditionalOnRefreshScope protected static class RefreshableEurekaClientConfiguration { // ......原创 2021-06-07 11:25:05 · 239 阅读 · 0 评论 -
(一)EurekaClient-服务实例注册、下架
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. 服务实例注册客户端触发注册的时机:客户端启动时发起注册,当配置文件配置了 eureka.client.should-enforce-registration-at-init = true ,不配置默认为 false客户端定期心跳续租时,向服务端发起心跳续租,服务端返回404,客户端立即发起注册客户端定期检查自身数据状态,当相关信息(数据中心、实例信息、健康状态)变原创 2021-06-07 11:23:41 · 168 阅读 · 0 评论 -
(零)Eureka-前置了解
0. 前言springboot版本:2.1.9.RELEASEspringcloud版本:Greenwich.SR41. InstanceInfo-实例信息类// 客户端中,表示自身实例信息// 服务端中,表示实例存在服务端注册表中的信息public class InstanceInfo { // ...... // 客户端中,表示自己的真实工作状态 // 服务端中,表示服务发现时实例想要暴露给其他实例的工作状态,不一定是实例的真实工作状态 p原创 2021-06-07 11:22:25 · 110 阅读 · 0 评论