dubbo学习之了解dubbo的核心组建

dubbo的核心组件基本上可以分为10层

第一层为简单的service层,也就是经常说的业务层,一般实现业务代码以及提供接口,也是开发者最关心的一层

第二层config层,config层提供serverconfig和referenceconfig两个实现类,用于初始化dubbo的配置信息

第三层proxy层,在这一层dubbo提供代理,dubbo会为provider和consumer各自提供给一个代理类,代理层会自动进行远程调用

第四层register层,提供服务的注册与发现

第五层cluster层,在cluster层会实现负载均衡,失败重试策略

第六层为moniter层,提供监控,可以统计调用次数和调用时间

第七层为protocol层,这一层封装远程调用,封装rpc的调用

第八层为exchange层,信息交换发生在在这里,建立request-response模型

第九层为transport层,在这一层是一些网络传输,例如netty,dubbo在这一层封装了netty等框架

第十层为serialize层,提供信息交互序列化和反序列化

dubbo是怎样实现远程调用的

    在dubbo的consumer层发起调用,会生成一个proxy代理,这个proxy封装了一个invoker,可以进行invoker,invoke会从cluster开始,在cluster层过滤provider,选择到合适的provider

    通过client进行传输,比如常见的netty。传输时会进行序列化,传输之后在provider处理之后反序列化,之后会把这个request分配到线程池,最终结果原路返回

猜你喜欢

转载自www.cnblogs.com/qtlq/p/11296368.html