【分布式架构】Dubbo-dubbox的概念

 

目录

1、使用前提

1.1什么是SOA

1.2 商城架构图

2.Dubbox 框架

2.1 dubbox 简介

2.2 dubbox框架

2.3、设计原因(解决问题)


1、使用前提

1.1什么是SOA

SOA是Service-Oriented Architecture的首字母简称,它是一种支持面向服务的架构样式。从服务、基于服务开发和服务的结果来看,面向服务是一种思考方式。其实SOA架构更多应用于互联网项目开发。

为什么互联网项目会采用SOA架构呢?随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,迫切需一个治理系统确保架构有条不紊的演进。

1.2 商城架构图

本质:上述图片第一行代表以后的工程。相当于web层的Controller,但是会和服务层分开,提高效率。因此需要一个中间的访问方式去调用第三行的服务层的服务。同时 服务层和表现层(工程)并不是一对一,而是可能多对多的。

2.Dubbox 框架

2.1 dubbox 简介

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

Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架

2.2 dubbox框架

上述图片重要的实线三者的关系,左边位消费方、右边为服务方、上边位注册中心。三者的关系用租户、房东、中介 形容比较恰当。由于采用分布式部署,所以一个服务功能可能会部署在多个服务器上,因此为了提高效率,采用注册中心进行登记,然后消费方直接去注册中心去查找,最后再去访问服务方即可。

节点角色说明:

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

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

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

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

Container: 服务运行容器。

调用关系说明:

0. 服务容器负责启动,加载,运行服务提供者。

1. 服务提供者在启动时,向注册中心注册自己提供的服务。

2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推

送变更数据给消费者。

4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,

如果调用失败,再选另一台调用。

5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计

数据到监控中心。

2.3、设计原因(解决问题)

  •  Consumer 与Provider 解偶,双方都可以横向增减节点数。
  •  注册中心对本身可做对等集群,可动态增减节点,并且任意一台宕掉后,将自动切换到另一台
  •  去中心化,双方不直接依懒注册中心,即使注册中心全部宕机短时间内也不会影响服务的调用
  •  服务提供者无状态,任意一台宕掉后,不影响使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值