Eureka
银真
这个作者很懒,什么都没留下…
展开
-
【Eureka】【06】Eureka Clinet注册和状态改变时重新注册信息
核心类EurekaDiscoveryClientConfiguration、DiscoveryClient、InstanceInfoReplicator1.bean单利初始化完成后,执行SmartLifecycle的start方法org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration.start()@Configuration@EnableConfigurationProperties@Conditi原创 2020-09-28 19:44:39 · 321 阅读 · 0 评论 -
【Eureka】【08】EurekaClient优雅下线,先把服务状态修改成OUT_OF_SERVICE,睡眠10s把服务EurekaClient kill
1.EurekaClient向EurekaServer注册时,和EurekaSever有续约时间和剔除时间的约定,默认30秒续约一次,如果90秒还没有续约就可以剔除掉我2.EurekaSever启动时会启动一个剔除定时任务,默认60秒执行一次,当EurekaServer在执行剔除任务时发现有需要被剔除的EurekaClient会做剔除操作3.可以通过EurekaServer提供的Restful接口把EurekaClient实例的状态变成OUT_OF_SERVICE状态,EurekaServer在执行剔除原创 2020-05-16 18:10:26 · 4821 阅读 · 0 评论 -
【Eureka】【12】EurekaClient启动后,增量获取注册信息
CacheRefreshThread@Singletonpublic class DiscoveryClient implements EurekaClient { private final ScheduledExecutorService scheduler; @Inject DiscoveryClient(ApplicationInfoManager applicationInfoManager, EurekaClientConfig config, DiscoveryClient原创 2020-07-12 10:56:08 · 318 阅读 · 0 评论 -
【Eureka】【11】EurekaClient启动时,全量拉取注册信息
1.如果注册信息为空,全量获取@Singletonpublic class DiscoveryClient implements EurekaClient { private final AtomicReference<Applications> localRegionApps = new AtomicReference<Applications>(); @Inject DiscoveryClient(ApplicationInfoManager applica原创 2020-07-12 10:20:01 · 406 阅读 · 0 评论 -
【Eureka】【10】Eureka-client配置
server:port: 8010spring:application:name: ordereureka:instance:#两秒续约leaseRenewalIntervalInSeconds: 2#4秒还有在续约就可以把我踢掉lease-expiration-duration-in-seconds: 4#实例使用ip代替hostNamepreferIpAddress: trueclient:#把自己注册到EurekaregisterWithEureka: true#从Eu原创 2020-07-12 00:20:06 · 151 阅读 · 0 评论 -
【Eureka】【09】当Eureka服务器宕机后,注册在上的服务第二次重试到其他节点
1.EurekaHttpClientDecorator是一个装饰者模式有RetryableEurekaHttpClient、SessionedEurekaHttpClient、RedirectingEurekaHttpClient、MetricsCollectingEurekaHttpClient四种装饰功能类RetryableEurekaHttpClient负责重试2.部分RetryableEurekaHttpClient类代码分析重试过程public class RetryableEureka原创 2020-07-12 00:12:05 · 647 阅读 · 1 评论 -
【Eureka】【07】Eureka Server三级缓存,Server端 注册和获取注册信息
1.Eureka服务端 有三层缓存第一层readOnlyCacheMap 使用ConcurrentHashMap做的map,可以通过配置开关控制,默认是打开的第二层readWriteCacheMap 使用的是google的loadingcache第三层registry,是个ConcurrentHashMap存储的存储appName和ConcurrentHashMap做value,里层的是用实例id和实例第一层和第二次在ResponseCacheImpl类中第三层在AbstractInstanceR原创 2020-05-16 14:18:04 · 304 阅读 · 0 评论 -
Eureka(7)-- EurekaHttpClient类
1.EurekaHttpClient是一个接口类,实现类有AbstractJerseyEurekaHttpClient、EurekaHttpClientDecorator 用于完成Eureka Client和Eureka Server的交互2.EurekaHttpClientDecorator的实现类有RedirectingEurekaHttpClient、RetryableEurekaHttp...原创 2019-10-25 20:43:59 · 665 阅读 · 0 评论 -
Eureka(6)-- ClusterResolver 集群解析器
1.ClusterResolver集群解析器负责解析配置的EurekaServer地址eureka: client: serviceUrl: defaultZone: http://peer2:8002/eureka/,http://peer1:8001/eureka/public interface ClusterResolver<T extends Eure...原创 2019-10-25 19:13:42 · 710 阅读 · 0 评论 -
Eureka(5)-- ApplicationInfoManager类
1.ApplicationInfoManager是一个恶汉单利模式的类/* * Copyright 2012 Netflix, Inc. *f * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance wi...原创 2019-10-25 10:54:48 · 888 阅读 · 0 评论 -
Eureka(4)-- Eureka Client 注册源码分析(Eureka Server部分)
1.EurekaClient 发送Rest请求到EurekaSeverJersey HTTP POST http://localhost:8761/eureka//apps/SPRING-CLOUD-USER with instance BR-IT-A00966.bairong.ad.com:spring-cloud-user:8082; statusCode=2042.EureakServ...原创 2019-10-24 15:43:54 · 129 阅读 · 0 评论 -
Eureka(3)-- Eureka Client 注册源码分析(Eureka Client部分)
1.Eureka Client客户端1.1 Application上配置@EnableDiscoveryClient,引入了EnableDiscoveryClientImportSelector@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@Import(EnableDi...原创 2019-10-24 13:05:25 · 234 阅读 · 0 评论 -
Eureka(2)-- Eureka Server 自我保护源码分析
1.appName配置@EnableEurekaServer@SpringBootApplication@EnableEurekaServer@RestControllerpublic class Application { @RequestMapping("ping") public String ping() { return "hello eureka"; } pu...原创 2019-09-27 20:11:14 · 168 阅读 · 0 评论 -
Eureka(1)-- Eureka Server 安装
1.pom文件添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId></dependency>2.使用@EnableEureka...原创 2019-08-26 00:26:42 · 1694 阅读 · 0 评论