1:Dubbo的基本概念
dubbo是阿里巴巴SOA服务治理 方案的核心框架,每天为20000+个服务次的数据量访问支持。dubbo是一个分布式的服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。以及SOA服务治理方案。
dubbo的核心包括:
远程通信:提供对多种基于长连接的NIO框架,包括多线程,序列化 ,已经“请求--响应”模式的信息交换方式。
集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及负载均衡,失败容错,地址路由,动态配置等集群支持。
自动发现:基于注册中心目录服务,使服务消费放能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加和减少机器。
2:Dubbo架构
Provider: 暴露服务的服务提供方
Consumer:调用远程服务的服务消费方
Registry:服务注册和发现的注册中心
Monitor(监测器): 统计服务的调用次数和统计时间的监控中心
调用流程:
0: 服务容器负责启动,加载,运行服务提供者。
1:服务提供者在启动的时间,向注册中心注册自己提供的服务。
2:服务消费者在启动的时间,向注册中心订阅自己所需要的服务。
3:注册中心返回服务提供者地址列表给消费者,如果是有变更,注册汇总您先将基于长连接推送变更数据给消费者。
4:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果是调用失败,在选用一台调用。
5:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
3:Dubbo注册中心