Dubbo特性和优缺点

您所在的位置:网站首页 桥梁博士的优点和缺点有哪些 Dubbo特性和优缺点

Dubbo特性和优缺点

2024-07-12 07:33| 来源: 网络整理| 查看: 265

介绍

借鉴:https://blog.csdn.net/Soinice/article/details/83856908

Dubbo是阿里开源的 ,基于Java开发的一款分布式服务框架,它拥有高性能和透明化的RPC远程服务调用方案以及SOA服务治理方案。Dubbo与Spring无缝集成,并且提供了远程通讯、集群容错、服务自动注册与发现三大核心功能。

提供了透明化的远程方法调用,只需要简单的配置,调用远程方法就像调用本地方法一样,没有任何API的侵入。同时它具备软负载均衡以及容错机制,在内网可直接替代F5等硬件设备实现负载均衡。还可以实现服务自动注册和发现,不需要写死服务提供着的IP地址,注册中心基于接口名查询服务提供着的IP地址,并且可以平滑的增加和删除服务提供着。

三大核心功能

远程通讯:提供了多种基于长连接的NIO框架,多种线程模型,多种序列化,以及多种请求响应的信息交换方式。

集群容错:提供了透明的基于接口方法的远程调用,包括多协议支持,软负载均衡,失败容错,地址路由,动态配置等集群的支持。

服务自动注册与发现:基于注册中心的目录服务,使消费者能够动态的查找服务提供方,使得地址透明,使得服务提供方可以平滑的增加和删除。

五大组件关系

角色说明 Container:服务运行容器,只启动一次 Provider:服务提供者 Registry:服务注册与发现的注册中心 Consumer:服务消费者 Monitor:统计服务的调用次数和调用时间的监控中心

调用关系说明 0、服务容器负责启动,加载,运行服务提供者。 1、服务提供者在启动时,向注册中心注册自己提供的服务。 2、服务消费者在启动时,向注册中心订阅自己所需的服务。 3、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 4、服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 5、服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

Dubbo的特性

基于透明接口的RPC:Dubbo提供了基于高性能接口的RPC,对用户是透明的;智能负载均衡:Dubbo开箱即用地支持多种负载平衡策略,该策略可感知下游服务状态以减少总体延迟并提高系统吞吐量;自动服务注册和发现:Dubbo支持多个服务注册表,可以立即检测在线/离线服务;高扩展性:Dubbo的微内核和插件设计确保第三方实现可以轻松地将其扩展为协议,传输和序列化等核心功能;运行时流量路由:可以在运行时配置Dubbo,以便可以根据不同的规则路由流量,这使得支持蓝绿色部署,数据中心感知路由等功能变得容易;可视化服务治理:Dubbo提供了用于服务管理和维护的丰富工具,例如查询服务元数据,运行状况和统计信息;

Dubbo架构的特性

连通性

注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者

健壮性

监控中心宕机不影响使用,只是会丢失部分采样数据 数据库宕机后,注册中心任然可以通过缓存提供服务列表查询,只是不能再注册新的服务 注册中心对等集群中,任意一台宕机,会自动切换到另一台 注册中心全部宕机,服务消费者和服务提供着任然可以通过本地缓存通讯 服务提供着无状态,任意一台宕机,不影响使用 服务提供着全部宕机,服务消费者将无法使用,并且会无限次循环等待服务提供着恢复

伸缩性

注册中心是对等集群,可动态的增加机器部署实例,所有的客户端会自动发现新的服务 服务提供着无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者的地址给服务消费者

未来架构的升级性

当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力

Dubbo优缺点

优点 1、透明化的基于接口方法的远程调用,只需简单的配置,调用远程方法就像调用本地方法一样,并且没有任何API的侵入; 2、软负载均衡和容错机制,在内网直接可以替换Ngnix lvs以及F5硬件设备等,实现负载均衡; 3、服务的自动注册与发现,动态的配置管理。基于注册中心的目录服务,不需要写死服务提供方的IP地址,服务消费方会根据接口名查找服务提供方的IP地址; 4、服务接口的监控与治理,Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理;

缺点 目前只支持Java

Dubbo的线程模型

https://www.cnblogs.com/java-zhao/p/7822766.html

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3