Dubbo源码流程图
2023-02-22 23:12:55 2 举报
Dubbo源码流程图
作者其他创作
大纲/内容
建立网络连接
基于缓存地址
rpc调用
dubbo服务实例refresh
InvokerInvocationHandlerinvoke
ProviderModel服务提供者数据
服务注册流程
启动
InvokerInvocationHandler
ZookeeperServiceDiscovery
动态代码生成
生成
发布
ServiceInfodubbo协议注册URL
ZooKeeperRegistry
订阅服务
构造
服务发现
动态代理实现DemoService接口
选择
MetadataCenter元数据中心
registerService
RegistryProtocol
等待响应返回
DemoServiceImpl自己的实现类
服务实例URLdubbo:// 服务实例
元数据上报zookeeper
FailoverClusterInvoker
Invoker选择出的服务实例
ServiceDiscoveryRegistry
创建动态代理流程createInvokerForRemote
调用
ConfigCenter配置中心
每个Method代表一个小接口MethodConfig接口配置
本地注册
ReferenceConfig服务引用
Service服务实例数据
Invokers目标服务实例集群
创建代理
核心注册
创建
处理
create
服务接口Class接口中的Methods
Repository组件服务数据存储
DubboProtocolInjvmProtocol组件
组件
NettyServernetty4
注册
DubboProtocolreference
服务注册
核心发布流程
ServiceMetadata接口+实现
是
export
调用动态代理的接口
RpcInvocationrpc调用
ProxyFactory负责生成接口的动态代理
本地服务实例发布
Invoker动态代理调用组件
每个Method有多个argsArgumentConfig接口配置
反射
DynamicDirectory.list
NettyTransporter
ModuleDeployer部署组件
Exchanger服务通信组件
DubboProtocol
处理服务名称dubbo.service前缀
NettyClient
RegistryProtocol.refer
获取
AbstractProxyFactory代理创建工厂
ZooKeeper注册中心
ZookeeperRegistryzk注册中心
FailoverCluster故障转移集群
MockClusterInvoker
dubbo服务实例init
dubbo服务实例export
ServiceConfig服务实例
使用
随机
ProxyFactory.getProxy
Zookeeper注册中心
Invocation具体一次调用请求
ShutdownHook退出时销毁资源
dubbo协议注册URL
RandomLoadBalance负载均衡机制组件
doExportUrlsFor1Protocol
Rpc调用主流程
NettyClient网络通信客户端
目标服务实例集群
StubProxyFactoryWrapper
ExchangeServerDubboProtocolServer组件体系
发现
DubboExporterInjvmExporter服务实例发布
封装
RpcInvocation
MockClusterInvokerrpc调用句柄
否
转发给handler
DemoService自己实现的接口
MigarationInvoker
网络监听
MetadataReport元数据上报
DubboInvoker服务实例调用句柄
本地ip:20880默认地址
远程服务实例发布
注册URLs针对zk的地址
ServiceRegistryInvoker
ExecutorService线程池
注册Repository
Model组件体系
最优Invoker判断
发送rpc请求
DynamicDirectory
过滤
暴露接口信息
0 条评论
回复 删除
下一页