dubbo工作原理(3)

dubbo主要核心部件

Remoting:网络通信框架,实现了sync-over-async和request-response消息机制。

RPC:一个远程过程调用的抽象,支持负载均衡、容灾和集群功能。

Registry:服务目录框架用于服务的注册和服务事件发布和订阅。(类似第一篇文章中的点菜宝)

dubbo架构

 

Provider: 暴露服务的提供方。

Consumer:调用远程服务的服务消费方。

Registry: 服务注册中心和发现中心。

Monitor: 统计服务和调用次数,调用时间监控中心。(dubbo的控制台页面中可以显示)

Container:服务运行的容器。

调用关系:

       0、服务器负责启动,加载,运行提供者(例如在tomcat容器中,启动dubbo服务端)。

        1、提供者在启动时,向注册中心注册自己提供的服务。

        2、消费者启动时,向注册中心订阅自己所需的服务。

        3、注册中心返回提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

        4、消费者,从远程接口列表中,调用远程接口,dubbo会基于负载均衡算法,选一台提供者进行调用,如果调用失败则选择另一台。

        5、消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。(可以在dubbo的可视化界面看到)

原文地址:https://www.cnblogs.com/wangjing666/p/9199282.html