微服务(四)

微服务(四)

Dubbo

Dubbo是什么

微服务(四)
网站应用的架构变化经历了一个从所有服务分布在一台服务器上(All in one 、单一应用架构)到 垂直应用架构 (MVC模式,按照各模块的职能划分)到分布式应用架构(RPC、按照服务不同分布在不同的服务器上)再到面向服务的架构(SOA,增加调度中心,负责集群的调度和管理)的过程。 Dubbo就是处在SOA架构阶段的一个远程服务调用框架。

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的PRC远程服务调用方案,以及SOA服务治理方案
Dubbo分布式服务调用框架的特点:
1、透明化的远程方法调用,没有api入侵、直接通过spring XML 配置文件的形式调用远程方法
2、负载均衡和容错机制
3、服务注册中心和治理
微服务(四)
Provider:暴露服务提供的提供者
Consumer:调用远程服务的消费者
Registry:服务注册与发现的注册中心
Monitor:统计服务调用情况的监控中心
Container:容器
调用关系:
0、服务容器启动、加载、运行服务提供者
1、提供者将自己注册到注册中心
2、消费者去注册中心订阅自己需要的服务
3、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心基于长连接推送变更数据给消费者
4、消费者从注册中心拿到列表,然后基于负载均衡算法,选择一台提供者进行服务调用
5、服务提供者和消费者在内存中累计调用次数和时间,定时每分钟发送数据到监控中心。
微服务(四)
Dubbo像是一台组装机:注册中心用zookeeper、redis做远程服务信息存储

Dubbo和Spring cloud 对比

最大区别:

Dubbo spring cloud
传输方式 RPC传输方式 TCP/IP协议 Htpp传输协议
性能 RPC传输性能更好、速度更快、 REST ful 风格、更适合快速迭代
CAP理论(c-数据一致性 A-服务可用性 p-容错) zookeeper 保证CP Eureka 遵循AP