💎 分布式服务框架
Dubbo
Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。
在云原生时代,Dubbo 相继衍生出了 Dubbo3、Proxyless Mesh 等架构与解决方案,在易用性、超大规模微服务实践、云原生基础设施适配、安全性等几大方向上进行了全面升级。
Dubbo的架构包括几个关键组件:服务提供方(Provider)、服务消费方(Consumer)、服务注册中心(Registry)和监控中心(Monitor)。服务提供方在启动时向注册中心注册自己提供的服务,服务消费方则向注册中心订阅所需的服务。注册中心负责返回服务提供者的地址列表给消费者,并在有变更时推送更新。服务消费者可以根据软负载均衡算法选择提供者进行调用。同时,服务消费者和提供者会定期向监控中心发送调用次数和调用时间的统计数据。
在实际应用中,Dubbo支持多种开发语言,包括Java、Golang等,并且提供了多种通信协议,如HTTP、HTTP/2、TCP等。它还支持多种序列化协议扩展,解决了网络连接管理和数据传输的基础问题。Dubbo的服务可以直接部署在容器、Kubernetes、Service Mesh等多种架构下,适应了云原生时代的需求。
Dubbo 核心概念和架构

通信协议

服务治理抽象
