RPC提供者服务整合注册中心注册服务实现源码
- 1.概述
- 2.源码解读思路
- 3.实现
- 2.1.应用服务的RPC服务接口定义
- 2.1.1.MasterServer应用中提供的RPC接口服务
- 2.1.2.WorkerServer应用中提供的RPC接口服务
- 2.2.应用服务的RPC服务接口实现
- 2.2.1.MasterServer应用中提供的RPC接口服务实现类
- 2.2.2.WorkerServer应用中提供的RPC接口服务实现类
- 2.3.应用服务注册到注册中心
- 2.3.1.master应用注册到注册中心
- 2.3.1.1.MasterServer服务启动类
- 2.3.1.2.Master服务注册客户端MasterRegistryClient
- 2.3.1.3.MasterConfig配置类
- 2.3.2.worker应用注册到注册中心
- 2.3.2.1.WorkerServer启动类
- 2.3.2.2.Worker服务注册客户端WorkerRegistryClient
- 2.3.2.3.WorkerConfig配置类
- 4.总结
1.概述
上一篇文章我们就Dolphinscheduler框架中注册中心的实现源码(主要是基于Zookeeper的注册中心插件的实现)进行了讲解说明, 我们知道了注册中心服务其实对应就提供了一个RegistryClient客户端工具类,其他应用服务的项目中如果有RPC提供者服务需要注册到Zookeeper或者其他注册中心, 只需要以来注册中心的工程,然后配置注册插件对应的配置参数信息,然后在在应用服务启动之后,就可以使用RegistryClient来进行服务注册及发现了。本篇文章我们一起来看看应用服务(MasterServer/WorkerServer/AlertServer)中的RPC提供者服务注册到服务中心的整个设计实现。
2.源码解读思路
之前在RPC框架的源码解析的文章中, 我们已经解读关于单台节点上的RPC提供者服务是如何在应用服务启动时完成RPC接口实现类的扫描、注册的。
但那只是单机的环境下, 在分布式环境就需要考虑,我们在有多个应用服务,我每台服务上都有RPC提供者服务, 我应该怎么告诉订阅方, 我这里都有那些节点可以提供远程调用服务。主要的源码及业务核心流程实现如下:
1&#