简单的说,Dubbo 是 基于 Java 的RPC 框架。Dubbo 工作分为 4 个角色,分别是服务提供者、服务消费者、注册中心、和监控中心。
按照工作阶段又分为部署阶段和运行阶段。
其中部署阶段在图中以蓝色的线来表示,代表服务注册、服务订阅的过程,而运行阶段在图中以红色的线来表示,代表一次 RPC 的完整调用。
部署阶段中服务提供方在启动时在指定的端口上暴露服务,并向注册中心汇报自己的地址。
服务调用方启动时向注册中心订阅自己感兴趣的服务。
运行阶段注册中心先将地址列表推送给服务消费者,服务消费者选取一个地址向对端发起调用。
在这个过程中,服务消费者和服务提供者的运行状态会上报给监控中心。