1.架构图

Java Dubbo:(二)Dubbo 架构讲解

2.架构说明

  • 虚线
    虚线表示异步,实线表示同步。异步不阻塞线程性能高,同步阻塞线程必须等待响应结果才能继续执行,相对性能低。
  • Provider
    暴露服务的服务提供方。
  • Container
    服务运行容器。Dubbo 完全基于 Spring 实现的
  • Registry
    服务注册与发现的注册中心。注册中心,放置所有 Provider 对外提供的信息。包含 Provider 的 IP,访问端口,访问遵守的协议,对外提供的接口,接口中有哪些方法等相关信息
  • Consumer
    调用远程服务的服务消费方。
  • Monitor
    统计服务的调用次调和调用时间的监控中心。监控中心,监控 Provider 的压力情况等。每隔 2 分钟 Consumer 和 Provider 会把调用次数发送给 Monitor,由 Monitor 进行统计。

3.执行流程

  1. start:启动 Spring 容器时会把 Provider 启动。
  2. register:把 Provider 相关信息注册到 Registry 里
  3. subscribe:Consumer 从 Registry 中订阅 Provider 的信息
  4. notify:通知给 Consumer
  5. invoke:Consumer 根据 Registry 通知的信息进行调用 Provider 中方法。
  6. count:Consumer 和 Provider 把调用次数信息异步发送给 Monitor 进行统计。

相关文章: