1 实例化EurekaInstanceConfig对象instanceConfig
2 先初始化InstanceInfo对象,再基于构建好的instanceConfig和instanceInfo构建applicationInfoManager对象
3 初始化eurekaClientConfig对象(加载过程跟eurekaServerConfig类似,这儿加载的是eureka-client.properties文件)
4 初始化eurekaClient对象
2.4.1 从applicationInfoManager中拿到自己的信息myInfo
2.4.2 构建appPath标识符,大概就是这样子:serviceA/i000001
2.4.3 如果不需要注册,也不需要抓取注册表,就释放资源,直接return
2.4.4 初始化服务发现、心跳、缓存刷新3个线程池
2.4.5 初始化网络通信相关的组件
2.4.6 抓取全量注册表
2.4.7 初始化调度任务,client向server注册的逻辑就在这里面!!!!!!
2.4.7.1 如果需要抓取注册表,就启动一个timer每隔30s定时刷新注册表信息
2.4.7.2 如果需要发起注册,就启动一个timer每隔30s去发送心跳
2.4.7.3 初始化instanceInfoReplicator对象,这是个Runnable对象,主要用来注册用
2.4.7.3.1 后台线程启动,执行当前类的run()方法
2.4.7.3.2 服务注册,其实就是发送一个http请求到server端
2.4.7.3.3 server端的服务注册逻辑入口(核心逻辑就是针对注册表这个map数据结构进行增删改操作)
到这,eureka-client端就初始化完成了
标签:初始化,client,剖析,7.3,源码,注册,注册表,2.4 From: https://www.cnblogs.com/ming00321/p/17136816.html