RPC原理

image.png
使用Netty通信(NIO)

调用关系说明

服务容器负责启动,加载,运行服务提供者。
服务提供者在启动时,向注册中心注册自己提供的服务。
服务消费者在启动时,向注册中心订阅自己所需的服务。
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

解析配置文件

创建标签解析器,使用BeanDefinitionParser接口下DubboBeanDefinitionParser
解析标签,获取标签id和标签名,
根据不同标签分别处理不同类型的Bean(获取属性和属性的值,设置到对应的对象中)
容器创建完成后,触发spring监听事件回调,export()暴露服务 ,使用多个协议暴露地址