dubbo源码
2021-11-10 10:16:04 0 举报
dubbo
作者其他创作
大纲/内容
DemoServiceImplsayHello
反射
5. 本地调用
4. export作用是执行服务实例初始化作用以及dubbo服务实发布4.1 发布dubbo服务实例4.2 向zk注册4.3 启动NettyServer,网络连接和请求处理,网络通信这块基于netty要能够启动4.4 服务发现注册相关工作4.5 MetadataReport:服务实例上报4.6 关闭jvm的时候会有一个逆向操作处理的过程
1. 服务实例注册服务名称、IP地址、端口号并开启网络监听
每个Method代表一个小接口MethodConfig接口配置
MetadataCenter元数据中心
元数据会上报到zookeeper里去
1. ModuleDeployer用于注册钩子,启动配置中心,启动元数据中心(上报元数据到zk)
Consumer服务实例
3. dubbo服务实例init
网络监听
启动
6.按照协议封装响应数据
ConfigCenter配置中心
4. 按照协议封装请求数据sayHello
服务接口Class接口中的Methods
MetadataReport元数据上报
dubbo启动主流程也就是service.export()分析也就是对外暴漏分析
ZooKeeper单节点127.0.0.1:2180
组件
2. dubbo服务实例refresh,作用是执行服务实例刷新操作(我的服务实例名称是什么;我的服务实例对外暴露了哪些接口;这些小接口都有配置,小接口的参数都有配置,我做好的相应的准备)
2. 查询Provider服务实例IP地址、端口号
3. 建立连接
4. ModuleDeployer会执行一个通知操作,通知你的对外发布的服务export service
网络连接
处理服务名称dubbo.service前缀
init拿到的是服务的元数据信息ServiceMetadata接口+实现
dubbo服务调用流程
处理
每个Method有多个argsArgumentConfig接口参数配置
Provider服务实例
注册(一个钩子)
dubbo启动主流程,也就是service.export()分析,也就是对外暴漏分析初始化:上来就是有一个ModuleDeployer,它搞了几个组件。作用是对服务实例的启动,做很多的初始化工作然后是refresh,然后是init初始化也好,都是在帮你准备好各种各样的东西,这些东西都准备好了以后就是正式把你对外暴漏的服务进行对外暴漏和发布出去了,然后还会进行一个注册,然后还会把网络监听和通信相关的NettyServer进行一个启动和绑定,绑定指定的端口号上边去,再往后往zk写进相关的数据,也就是通过ZookeeperMetadataReport,往zk里边上报元数据,这样初始化就完成了。发布:
ShutdownHook退出时销毁资源
ZooKeeper注册中心
0 条评论
下一页