Dubbo简介
一、Dubbo简介
Dubbo 是阿里巴巴开源的一个分布式服务框架,致力于提供高性能和透明化的RPC 远程服务调用方案,以及SOA 服务冶理方案。Dubbo 包含如下核心内容:
1、RPC 远程调用: 封装了长连接NIO 框架,如Netty 、Mina 等,采用的是多线程模式
2、集群容错: 提供了基于接口方法的远程调用的功能, 并实现了负载均衡策略、失败容错等功能
3、服务发现:集成了Apache 的Zookeeper 组件,用于服务的注册和发现
Dubbo 框架的架构图如图所示:
Dubbo 架构的流程如下:
1)服务提供者向服务中心注册服务
2)服务消费者订阅服务
3)服务消费者发现服务
4)服务消费者远程调度服务提供者进行服务消费,在调度过程中,使用了负载均衡策略、失败容错的功能
5)服务消费者和提供者,在内存中记录服务的调用次数和调用时间,并定时每分钟发送一次统计数据到监控中心
Dubbo 具有以下特性:
1)连通性: 注册中心负责服务的注册,监控中心负责收集调用次数、调用时间;注册中心、服务提供者、服务消费者为长连接
2)健壮性:监控中心宕机不影响其他服务的使用;注册中心集群,任意一个实例宕机自动切换到另一个注册中心实例;服务实例集群, 任意一个实例宕机,自动切换到另外一个可用的实例
3)伸缩性:可以动态增减注册中心和服务的实例数量
4)升级性:服务集群升级,不会对现有架构造成压力<