1.什么是dubbox
Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行了优化,并继续维护,为了与原有的的Dubbo区分,故将其命名为Dubbox.
2.它能解决什么问题
在分布式架构中,每个应用之间不可避免的要进行交互,这时我们采用的是直接依赖的方式,但是这样会导致耦合度大大增加,相互调用非常凌乱,如下图:

为了解决这种问题,引出了SOA(面向服务)架构的概念。SOA又叫服务治理,SOA就是帮助我们把服务之间调用的乱七八糟的关系给治理起来,然后提供一个统一的标准。这种架构是将业务逻辑与页面和控制层进行拆分,放在不同的服务器上,通过远程调用的方式进行交互,这样就极大的解决了耦合性的问题。
如下图我们通过数据总线进行交互,这样系统就变得统一起来。

而dubbox就当于这根数据总线,对这些服务进行统一调度。
3.工作原理
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次数和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
- 服务容器负责启动,加载,运行服务提供者。
- 服务提供者在启动时,向注册中心注册自己提供的服务。
- 服务注册消费者在启动时,向注册中心订阅自己所需的服务。
- 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
- 服务消费者,此提供者地址列表中,基于负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
- 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
通过上面的描述,我们可以对dubbox有一个更好的理解,dubbox其实就当于房产中介,而服务的提供者就是房东,我们(房客)就相当于消费者,房东首先将自己的房源信息交给房产中介进行登记,我们通过房产中介提供的房子信息,选择自己喜欢的房子,然后进行购买。
本文介绍了Dubbox框架,它是基于Dubbo优化的分布式服务框架,用于解决分布式架构中的服务调用问题,实现服务间的统一调度与治理。文章详细阐述了Dubbox的工作原理,包括节点角色和服务调用流程。
2万+

被折叠的 条评论
为什么被折叠?



