微服务中注册中心是其重要的组成部分,那么客户端是如何注册到注册中心的呢,下面我们进入源码查看。

客户端的注册标志是@EnableDiscoveryClient,我们点进入注解查看

注解介绍这是开启DiscoveryClient,我们找到DiscoveryClient,注解介绍它可以发现可用的discover service,像eureka,我们接着找到EurekaDiscoveryClient

EurekaDiscoveryClient继承spring cloud的DiscoveryClient,而EurekaDiscoveryClient中的eurekaClient继承lookupService,eureka的discoveryClient是对eurekaClient的具体实现。接着我们来看看eureka的discoveryClient

通过这个方法读取配置文件中配置的注册服务中心地址的serviceUrl,那么有了注册地址,客户端又是如何注册的呢,我们接着看

接着查看instanceInfoReplicator线程中的run方法

通过注册方法不难发现客户端是通过http发送instanceInfo对象到注册中心注册的,该对象就是发送的元数据。

而在之前的initScheduledTasks方法中,通过每30秒发送心跳续约,通过90秒来获取注册中心的服务。

Eureka客户端注册过程源码解析的更多相关文章

  1. Eureka自我保护机制源码解析

    默认情况下,当EurekaServer在一定时间内(默认90秒)没有接收到某个客户端实例的心跳,EurekaServer将会注销该实例.但是当网络分区故障发生时,客户端与EurekaServer之间无 ...

  2. Eureka获取服务列表源码解析

    在之前的文章:EurekaClient自动装配及启动流程解析中,我们提到了在类DiscoveryClient的构造方法中存在一个刷新线程和从服务端拉取注册信息的操作 这两个就是eureka获取服务列表 ...

  3. Eureka源码解析系列文章汇总

    先看一张图 0 这个图是Eureka官方提供的架构图,整张图基本上把整个Eureka的核心功能给列出来了,当你要阅读Eureka的源码时可以参考着这个图和下方这些文章 EurekaServer Eur ...

  4. Spring Cloud系列(三):Eureka源码解析之服务端

    一.自动装配 1.根据自动装配原理(详见:Spring Boot系列(二):Spring Boot自动装配原理解析),找到spring-cloud-starter-netflix-eureka-ser ...

  5. Spring Cloud系列(四):Eureka源码解析之客户端

    一.自动装配 1.根据自动装配原理(详见:Spring Boot系列(二):Spring Boot自动装配原理解析),找到spring-cloud-netflix-eureka-client.jar的 ...

  6. Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****

    http://www.idouba.net/spring-cloud-source-eureka-client-api/?utm_source=tuicool&utm_medium=refer ...

  7. FileZilla客户端源码解析

    FileZilla客户端源码解析 FTP是TCP/IP协议组的协议,有指令通路和数据通路两条通道.一般来说,FTP标准命令TCP端口号是21,Port方式数据传输端口是20. FileZilla作为p ...

  8. Netty5客户端源码解析

    Netty5客户端源码解析 今天来分析下netty5的客户端源码,示例代码如下: import io.netty.bootstrap.Bootstrap; import io.netty.channe ...

  9. Fabric1.4源码解析:客户端安装链码

          看了看客户端安装链码的部分,感觉还是比较简单的,所以在这里记录一下.       还是先给出安装链码所使用的命令好了,这里就使用官方的安装链码的一个例子: #-n 指定mycc是由用户定义 ...

随机推荐

  1. [udemy]WebDevelopment_CSS

    Your First CSS(Cascading Style Sheets) Cascading means it always takes selector that is at the end 即 ...

  2. JSFF或JSF页面加载时触发JavaScript之方法

    现象一 最近在项目中遇到这么一个问题,有些页面元素是在页面加载时通过JavaScript动态渲染而成.当生成这些元素的JavaScript脚本被放置于JSPX文件中时,界面渲染没有问题.但是当我们把生 ...

  3. Putty建立隧道的方法[z]

    通过上节我们了解了SSH隧道的优点,但是无论是现实中还是网络中,隧道都是有入口和出口的,本节就以Putty隧道为例,详细介绍Putty建立隧道的方法. 模拟案例一: 端口,出口为2012端口,隧道建立 ...

  4. nignx重启

    .进入nginx安装目录sbin下 .输入./nginx -s reload

  5. Photoshop AI插件

    文字识别 图像识别 图像分割 Photoshop插件有哪些? 有哪些可用的数据集?

  6. Template Method Design Pattern in Java

    Template Method is a behavioral design pattern and it’s used to create a method stub and deferring s ...

  7. 18-11-03 Scrum Meeting 6

    1. 会议照片 2. 工作记录 完成的工作 配置页面 实现中译英选择题和英译中选择题的查询接口 整理文档 完成一个网站的图片爬取 计划的工作 完善配置页面功能 补充另一个网站的图片爬取 代码整理测试 ...

  8. 点滴笔记(一):for循环ajax请求添加数据

    项目里遇到循环添加数据,添加多条数据到主表后,还要根据每条主表数据主键ID添加到子表里,于是想到post提交 发现循环post没效果,也没async参数.. 于是用ajax里面有async设置了fal ...

  9. memory leak-----tomcat日志warn

    web应用借助于结构:spring mvc + quartz结构,部署到tomcat容器时,shutdown时的error信息: appears to have started a thread na ...

  10. android AlertDialog.Builder(Context context)换行

    今天无意中发现AlertDialog的 setMessage(String)的换行问题,很多人都说\n可以,不过的却原来就在java里面写好的是可以换行 ,但是如果这个string是在网页或者是其地方 ...