分布式服务框架Dubbo

这一篇博客主要介绍了的是分布式服务框架Dubbox,那么Dubbox主要应用于分布式服务架构,如果不采用分布式架构,那么也就不必使用Dubbox了

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

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


2.什么是Dubbox

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

2.1Dubbo和Dubbo有什么区别?
Dubbo和Dubbox本质上没什么区别,只是Dubbox扩展的功能比较实用

  • 支持REST风格远程调用(HTTP + JSON/XML)
  • 支持基于Kryo和FST的Java高效序列化实现
  • 支持基于Jackson的JSON序列化
  • 支持基于嵌入式Tomcat的HTTP remoting体系
  • 升级Spring至3.x
  • 升级ZooKeeper客户端
  • 支持完全基于Java代码的Dubbo配置

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

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

2.4节点角色说明

角色名称角色作用
Provider暴露服务的服务提供方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次调和调用时间的监控中心。
Container服务运行容器

3.Zookeeper注册中心
上面介绍过了Dubbox,那么Dubbox最常用的注册中心就是Zookeeper了,那么Zookeeper的作用是什么呢?Zookeeper的主要作用就是注册服务和调用

举个栗子:
dubbo是一片出租房区,zookeeper是房屋中介,那么出租那几栋房屋是dubbo说了算的,zookeeper(房屋中介)只是负责登记出租房屋的地址,当租客想出租房屋的时候就去zookeeper(房屋中介)问有哪几栋房子出租,zookeeper把地址给租客,这样讲是不是简单明了,当然了zookeeper(房屋中介)也可以做一系列限制措施,比如分流等


4.如果zookeeper集群都宕机了,那么还能保证正常通信么?

答案是可以的,启动dubbo时,消费者会从注册中心拉取已经注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用,但是不可以注册新的服务

如果采用集群的方式,那么挂掉一台会自动切换到另外一台服务器,如果服务提供者全部宕机,消费者应用将无法使用,并无限次重连等待服务提供者恢复

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我三胖哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值