Dubbo 的整体架构?
发布于
一、核心角色
- Provider:服务提供者,暴露服务。
- Consumer:服务消费者,调用远程服务。
- Registry:注册中心,服务注册与发现。
- Monitor:监控中心,统计调用次数和耗时。
- Container:服务运行容器。
二、调用流程
- Provider 启动时向 Registry 注册服务。
- Consumer 启动时向 Registry 订阅服务,获取 Provider 列表。
- Consumer 调用服务时,通过负载均衡选一个 Provider,发起 RPC 调用。
- 调用数据异步上报 Monitor。
三、协议
- dubbo:默认,基于 Netty + Hessian,适合服务间调用。
- rest:HTTP RESTful。
- hessian:基于 HTTP + Hessian。
- http:基于 HTTP 表单。
- grpc:基于 gRPC。
四、注册中心
推荐 Nacos,也支持 ZooKeeper、Redis、Multicast。