Dubbo 的整体架构?

发布于

一、核心角色

  • Provider:服务提供者,暴露服务。
  • Consumer:服务消费者,调用远程服务。
  • Registry:注册中心,服务注册与发现。
  • Monitor:监控中心,统计调用次数和耗时。
  • Container:服务运行容器。

二、调用流程

  1. Provider 启动时向 Registry 注册服务。
  2. Consumer 启动时向 Registry 订阅服务,获取 Provider 列表。
  3. Consumer 调用服务时,通过负载均衡选一个 Provider,发起 RPC 调用。
  4. 调用数据异步上报 Monitor。

三、协议

  • dubbo:默认,基于 Netty + Hessian,适合服务间调用。
  • rest:HTTP RESTful。
  • hessian:基于 HTTP + Hessian。
  • http:基于 HTTP 表单。
  • grpc:基于 gRPC。

四、注册中心

推荐 Nacos,也支持 ZooKeeper、Redis、Multicast。