小伙伴们应该都知道dubbo,在业界中一般都会将dubbo与dubbox放一起比较,那你们知道dubbox有什么作用吗?它的原理又是什么呢?下面就来了解下。
什么是dubbox?
dubbo的扩展版,Dubbox与Dubbo本质上是没有区别的,只是在它的名字含义中扩展了Dubbo而已。
Dobbox的作用是?
dubbox 与dubbo是一样的,都致力于提供高性能与透明化的RPC远程服务调用方案及SOA服务治理方案。一般的说,dubbox与dubbo一样是个服务框架,如果没有分布式需求,都是不需要使用的,因为dubbox的前身就是dubbo。只有在要实现分布式时,才需要使用dubbox这样的分布式服务框架。它本质就是个远程服务调用的分布式框架。
dubbox工作原理?
PS: dubbox底层分为10层, 每层作用如下 第一层: service层, 接口层, 给服务提供者和消费者来实现的 第二层: config层, 配置层, 主要是对dubbo进行各种配置的 第三层: proxy层, 服务代理层, 透明生成客户端的stub和服务单的skeleton 第四层: registry层, 服务注册层, 负责服务的注册与发现 第五层: cluster层, 集群层, 封装多个服务提供者的路由以及负载均衡, 将多个实例组合成一个服务 第六层: monitor层, 监控层, 对rpc接口的调用次数和调用时间进行监控 第七层: protocol层, 远程调用层, 封装rpc调用 第八层: exchange层, 信息交换层, 封装请求响应模式, 同步转异步 第九层: transport层, 网络传输层, 抽象mina和netty为统一接口 第十层: serialize层, 数据序列化层
Dubbox运行流程?
调用关系:
--服务容器负责启动,加载,运行服务提供者。
--服务提供者在启动时,向注册中心注册自己提供的服务。
--服务消费者在启动时,向注册中心订阅自己所需的服务。
--注册中心返回服务提供者地址列表给消费者,如果有变更,注册心将基于长连接推送变更数据给消费者。
--服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
--服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
以上就是dubbox相关全部内容了,你明白了吗?还有疑问的话,欢迎关注奇Q工具网来我们的java架构师学习路线中来了解更多详情。
推荐阅读: