随笔分类 - eureka源码
摘要:
阅读全文
摘要:Eureka 过期 如果有一些服务过期了,或者宕机了,就不会调用shutdown()方法,也不会去发送请求下线服务实例。eureka就专门实现了一套过期的策略,去下线一些过期的服务。 它的入口就是在eureka server在启动初始化的时候,registry.openForTraffic(appl
阅读全文
摘要:Eureka 续约 (心跳检测) 心跳,eureka client每隔一定的时间,会给eureka server发送心跳,保持心跳,让eureka server知道自己还活着,lease renewal,续约,心跳. Eureka-Client 向 Eureka-Server 发起注册应用实例成功后
阅读全文
摘要:Eureka 下线 // DiscoveryClient.java @PreDestroy @Override public synchronized void shutdown() { if (isShutdown.compareAndSet(false, true)) { logger.info
阅读全文
摘要:Eureka的自我保护 当Eureka Server节点在短时间内丢失过多客户端时(可能发生了网络分区故障),那么这个节点就会进入自我保护模式。一旦进入该模式,Eureka Server就会保护服务注册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。当网络故障恢复后,该Eurek
阅读全文
摘要:Eureka Server的多级缓存和过期机制 多级缓存 之前写eureka-client客户端全量请求的时候,会走到缓存这边,下面就具体的看一下,server的多级缓存是怎么回事? eureka client初始化的时候,就会自动发送个请求到eureka server拉一次清抓取全量的注册表,这一
阅读全文
摘要:eureka-client拉取注册表 全量拉取 全量抓取注册表,eureka client第一次启动的时候,必须从eureka server端一次性抓取全量的注册表的信息过来,EurekaClient初始化的时候,就会自动全量抓取注册表 if (clientConfig.shouldFetchReg
阅读全文
摘要:Ribbon的调用流程 Ribbon在Netflix组件是非常重要的一个组件,在Zuul中使用Ribbon做负载均衡,以及Feign组件的结合等。在Spring Cloud 中,作为开发中,做的最多的可能是将RestTemplate和Ribbon相结合,你可能会这样写: @Bean @LoadBal
阅读全文
摘要:EurekaServer启动 看方法上的注释,初始化eureka,包含eureka集群的同步和发布注册,这个方法时重写ServletContextListener#contextInitialized,是eureka启动的入口了。在 Servlet 容器( 例如 Tomcat、Jetty )启动时,
阅读全文
摘要:eureka client的注册 Eureka-Client 向 Eureka-Server 发起注册应用实例需要符合如下条件: 配置 eureka.registration.enabled = true,Eureka-Client 向 Eureka-Server 发起注册应用实例的开关。 Inst
阅读全文
摘要:Eureka的客户端是怎么启动的? 由于eureka的每一个模块下面都写了很多的单元测试,我们可以拿它当学习的入口。下面找到eureka-client的测试类或者样例类,然后断点进去。 它的样例类为ExampleEurekaClient public static void main(String[
阅读全文
摘要:概述 如上图,server1和server2之间会拉取对方的注册表,相互的注册,当client往集群中进行注册的时候,如果是请求到server1上,server1会将这个请求同步到server2,下线心跳也是如此,集群之间的同步是通过3层队列任务批处理的方式进行的。 集群的初始化 集群启动 在Eur
阅读全文