spring cloud注册中心Eureka之DiscoveryClient源码分析备忘

阅读更多
Eureka是啥
官网直译如下:
Eureka是一种基于REST(Representational State Transfer)的服务,主要用于AWS云,用于定位服务,以实现中间层服务器的负载平衡和故障转移。我们将此服务称为Eureka Server。Eureka还附带了一个基于Java的客户端组件Eureka Client,它使与服务的交互变得更加容易。客户端还有一个内置的负载均衡器,可以进行基本的循环负载均衡。在Netflix,一个更复杂的负载均衡器包含Eureka基于流量,资源使用,错误条件等多种因素提供加权负载平衡,以提供卓越的弹性。

Eureka官网架构图
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第1张图片

从图中可知,Eureka主要提供以下功能:
1、服务注册(Register)
2、服务续约(Renew)
3、服务下线(Cancel)
4、服务发现(Get Registry)

1、服务注册(Register)主体代码截图
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第2张图片
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第3张图片
上图红框所示代码调用的实际是父类:AbstractJerseyEurekaHttpClient.register(instanceInfo),即通过POST访问接口http://localhost:8761/eureka/apps/appName注册

2、服务续约(Renew)主体代码截图
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第4张图片
以下是DEBUG截图示例
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第5张图片

3、服务下线(Cancel)主体代码截图
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第6张图片
通过POST调用接口http://127.0.0.1:8181/actuator/shutdown即可实现服务下线,前提是需要在配置文件application.yml中增加如下配置
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第7张图片
且必须添加如下依赖
		
			org.springframework.boot
			spring-boot-starter-actuator
		


4、服务发现(Get Registry)主体代码截图
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第8张图片
首先本地缓存中获取,若无,则通过GET访问接口http://localhost:8761/eureka/apps/全量获取服务列表信息,以下是DEBUG截图示例
spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第9张图片
若有,则通过GET访问接口http://localhost:8761/eureka/apps/delta增量获取服务列表信息

PS:集群模式下多个Eureka之间同步可以理解为两两注册,即多个Eureka只要存在一个可用就能正常提供服务

spring boot:2.0.1.RELEASE
spring cloud:Finchley.SR1
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第10张图片
  • 大小: 46.2 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第11张图片
  • 大小: 87.4 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第12张图片
  • 大小: 111.9 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第13张图片
  • 大小: 94.4 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第14张图片
  • 大小: 234.6 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第15张图片
  • 大小: 295.6 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第16张图片
  • 大小: 106 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第17张图片
  • 大小: 14.4 KB
  • spring cloud注册中心Eureka之DiscoveryClient源码分析备忘_第18张图片
  • 大小: 115.1 KB
  • 查看图片附件

你可能感兴趣的:(spring cloud注册中心Eureka之DiscoveryClient源码分析备忘)