spring整合dubbox(一)dubbox的流程
这是我学习dubbox的第一步,主要是了解dubbox的历史,和他的工作流程。
一. dubbox是什么
Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在Dubbo基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。
Dubbox 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbox就是个服务框架,如果没有分布式的需 求,其实是不需要用的,只有在分布式的时候,才有dubbox这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。
二.dubbox的组成
节点角色说明
Provider: 暴露服务的服务提供方。
Consumer:调用远程服务的服务消费方。
Registry:服务注册和发现的注册中心。
Monitor:统计服务的调用次调和调用时间的监控中心。
Container:服务运行容器。
调用关系说明
0.服务运行容器启动,加载,运行服务提供者。
1.服务提供者在启动时,向注册中心注册自己提供的服务。
2.服务消费者在启动时,向注册中心订阅自己所需的服务。
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接的方式,向消费者推送变更数据。
4.服务消费者,从注册中心提供的地址列表中,基于软负载均衡算法,选一台服务提供者进行调用,如果调用失败,就另外在选一台。
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。