Eureka 源码解析 —— 注册表 InstanceRegistry 类关系
来源:互联网 发布:淘宝违规没扣分有事吗 编辑:程序博客网 时间:2024/06/04 18:21
摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-class-diagram/ 「芋道源码」欢迎转载,保留摘要,谢谢!
本文主要基于 Eureka 1.8.X 版本
- 1. 概述
- 2. 类图
- 3. LookupService
- 4. LeaseManager
- 5. InstanceRegistry
- 6. AbstractInstanceRegistry
- 7. PeerAwareInstanceRegistry
- 8. PeerAwareInstanceRegistryImpl
- 666. 彩蛋
1. 概述
本文主要简介 注册表 InstanceRegistry 的类关系,为后文的应用实例注册发现、Eureka-Server 集群复制做整体的铺垫。
推荐 Spring Cloud 书籍:
- 请支持正版。下载盗版,等于主动编写低级 BUG 。
- 程序猿DD —— 《Spring Cloud微服务实战》
- 周立 —— 《Spring Cloud与Docker微服务架构实战》
- 两书齐买,京东包邮。
2. 类图
com.netflix.eureka.registry.AwsInstanceRegistry
,主要用于亚马逊 AWS,跳过。com.netflix.eureka.registry.RemoteRegionRegistry
,笔者暂时不太理解它的用途。目前猜测 Eureka-Server 集群和集群之间的注册信息的交互方式。查阅官方资料,《Add ability to retrieve instances from any remote region》 在做了简单介绍。翻看目前网络上的博客、书籍、项目实战,暂时都没提及此块。估摸和亚马逊 AWS 跨区域(region
) 机制有一定关系,先暂时跳过。有了解此块的同学,麻烦告知下笔者,万分感谢。TODO[0009]:RemoteRegionRegistry。- 蓝框部分,本文主角。
3. LookupService
com.netflix.discovery.shared.LookupService
,查找服务接口,提供简单单一的方式获取应用集合(com.netflix.discovery.shared.Applications
) 和 应用实例信息集合( com.netflix.appinfo.InstanceInfo
)。接口代码如下:
- 在 Eureka-Client 里,EurekaClient 继承该接口。
- 在 Eureka-Server 里,
com.netflix.eureka.registry.InstanceRegistry
继承该接口。
4. LeaseManager
com.netflix.eureka.lease.LeaseManager
,租约管理器接口,提供租约的注册、续租、取消( 主动下线 )、过期( 过期下线 )。接口代码如下:
5. InstanceRegistry
com.netflix.eureka.registry.InstanceRegistry
,应用实例注册表接口。它继承了 LookupService 、LeaseManager 接口,提供应用实例的注册与发现服务。另外,它结合实际业务场景,定义了更加丰富的接口方法。接口代码如下:
6. AbstractInstanceRegistry
com.netflix.eureka.registry.AbstractInstanceRegistry
,应用对象注册表抽象实现。
这里先不拓展开,《Eureka 源码解析 —— 应用实例注册发现》系列 逐篇分享。
7. PeerAwareInstanceRegistry
com.netflix.eureka.registry.PeerAwareInstanceRegistry
,PeerAware ( 暂时找不到合适的翻译 ) 应用对象注册表接口,提供 Eureka-Server 集群内注册信息的同步服务。接口代码如下:
8. PeerAwareInstanceRegistryImpl
com.netflix.eureka.registry.PeerAwareInstanceRegistryImpl
,PeerAware ( 暂时找不到合适的翻译 ) 应用对象注册表实现类。
这里先不拓展开,《Eureka 源码解析 —— Eureka-Server 集群》系列 逐篇分享。
- Eureka 源码解析 —— 注册表 InstanceRegistry 类关系
- Eureka 源码解析 —— Eureka-Server 集群同步
- Eureka 源码解析 —— 任务批处理
- Eureka 源码解析 —— 网络通信
- Eureka 源码解析 —— StringCache
- Eureka 源码解析 —— EndPoint 与 解析器
- Eureka 源码解析 —— Eureka-Client 初始化(一)之 EurekaInstanceConfig
- Eureka 源码解析 —— Eureka-Client 初始化(二)之 EurekaClientConfig
- Eureka 源码解析 —— Eureka-Client 初始化(三)之 EurekaClient
- Eureka 源码解析 —— Eureka-Server 启动(一)之 ServerConfig
- Eureka 源码解析 —— Eureka-Server 启动(二)之 EurekaBootStrap
- Eureka 源码解析 —— 项目结构简介
- Eureka 源码解析 —— 调试环境搭建
- eureka客户端源码解析
- Eureka 源码解析 —— Eureka源码解析 —— 应用实例注册发现 (九)之岁月是把萌萌的读写锁
- Eureka 源码解析 —— 应用实例注册发现(一)之注册
- Eureka 源码解析 —— 应用实例注册发现(二)之续租
- Eureka 源码解析 —— 应用实例注册发现(三)之下线
- Java常见设计模式之单例模式
- 在上传FileUpload上传到tomcat下,重启tomcat后上传的文件消失
- powerDesiger从oracle数据导入表结构
- 剑指offer 二叉搜索树的后序遍历
- Android混淆从入门到精通
- Eureka 源码解析 —— 注册表 InstanceRegistry 类关系
- 计算机网络技术基础
- 五款最佳VMware vSphere免费管理工具
- ClassLoader 简单总结
- CPU-上下文切换,运行队列和使用率
- OpenVirteX体系结构
- jna
- win7下mysql(10038)问题解决方法
- [搞笑动图]编译错误,括号不匹配