Dubbo是什么?
Dubbo是阿里SOA服务化治理方案的核心框架。
它提供了注册中心机制,解耦了消费方和服务方动态发现的问题,并提供高可靠能力,大量采用微内核+富插件设计思想,包括框架自身核心特性都作为扩展点实现,提供灵活的可扩展能力。
dubbo解决什么问题?
dubbo的特性总结
分类 | dubbo的特性 |
面向接代理的高性能RPC调用 | 提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节 |
服务自动注册与发现 | 支持多种注册中心服务,服务实例上下线实时感知 |
运行期流量调度 | 内置条件、脚本等路由策略,通过配置不同的路由规则,轻松实现灰度发布、同机房优先等功能 |
智能负载均衡 | 内置多种负载均衡策略,智能感知下游节点健康状况,显著减少调用延迟,提高系统吞吐量 |
高度可扩展能力 | 遵循微内核+插件的设计思想,所有核心能力如Protocol、Transport、Serialization被设计为扩展点,平等对待内置实现和第三方实现 |
可视化的服务治理与运维 | 提供丰富服务治理、运维工具:随时查询服务元数据、服务监控状态以及调用统计,实时下发路由策略,调整配置参数 |
Dubbo后续的规划
1.模块化。
解决通信层与服务治理层耦合严重的问题,为Dubbo Mesh做好准备。
2.大流量
通过熔断、隔离、限流等手段来提升集群整体稳定性,定位故障节点
3.元数据
服务治理数据和服务注册数据的分离,解决元数据冗长的问题,为对接注册中心,配置中心做好准备
4.大规模
超大规模集群应对服务注册发现,内存占用,CPU消耗带来的挑战
5.路由策略
引入在阿里内部广泛实践的路由策略:多机房、灰度、参数路由等智能化策略。
6.异步化
CompletableFuture 支持,跨进程的Reactive支持,提升分布式系统整体的吞吐率和CPU利用率。
7.生态扩展
dubbo在未来还会发布各种其他语言的client
8.云原生
dubbo后续会向dubbo Mesh方向发展,让服务治理能力下沉,成为平台的基础能力,应用无需与特定的语言技术绑定,让Dubbo Mesh 称为数据面板
9.多语言支持
通过将服务治理能力sidecar化,支持多种语言的RPC已称为可能,这也是Spring cloud 方案的最大短板。