dubbox

本文介绍了Dubbox框架,它是基于Dubbo优化的分布式服务框架,用于解决分布式架构中的服务调用问题,实现服务间的统一调度与治理。文章详细阐述了Dubbox的工作原理,包括节点角色和服务调用流程。

1.什么是dubbox

Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行了优化,并继续维护,为了与原有的的Dubbo区分,故将其命名为Dubbox.

2.它能解决什么问题

在分布式架构中,每个应用之间不可避免的要进行交互,这时我们采用的是直接依赖的方式,但是这样会导致耦合度大大增加,相互调用非常凌乱,如下图:
在这里插入图片描述
为了解决这种问题,引出了SOA(面向服务)架构的概念。SOA又叫服务治理,SOA就是帮助我们把服务之间调用的乱七八糟的关系给治理起来,然后提供一个统一的标准。这种架构是将业务逻辑与页面和控制层进行拆分,放在不同的服务器上,通过远程调用的方式进行交互,这样就极大的解决了耦合性的问题。

如下图我们通过数据总线进行交互,这样系统就变得统一起来。
在这里插入图片描述

而dubbox就当于这根数据总线,对这些服务进行统一调度。

3.工作原理

节点角色说明:

Provider: 暴露服务的服务提供方。

Consumer: 调用远程服务的服务消费方。

Registry: 服务注册与发现的注册中心。

Monitor: 统计服务的调用次数和调用时间的监控中心。

Container: 服务运行容器。

调用关系说明:

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

通过上面的描述,我们可以对dubbox有一个更好的理解,dubbox其实就当于房产中介,而服务的提供者就是房东,我们(房客)就相当于消费者,房东首先将自己的房源信息交给房产中介进行登记,我们通过房产中介提供的房子信息,选择自己喜欢的房子,然后进行购买。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值