微服务(四)


目录

  • 微服务(四)
  • Dubbo
  • Dubbo是什么
  • Dubbo和Spring cloud 对比


Dubbo

Dubbo是什么

技术方案 dubbo微服务 dubbo与微服务的区别_RPC


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

Dubbo分布式服务调用框架的特点:

1、透明化的远程方法调用,没有api入侵、直接通过spring XML 配置文件的形式调用远程方法

2、负载均衡和容错机制

3、服务注册中心和治理

技术方案 dubbo微服务 dubbo与微服务的区别_RPC_02


Provider:暴露服务提供的提供者

Consumer:调用远程服务的消费者

Registry:服务注册与发现的注册中心

Monitor:统计服务调用情况的监控中心

Container:容器

调用关系:

0、服务容器启动、加载、运行服务提供者

1、提供者将自己注册到注册中心

2、消费者去注册中心订阅自己需要的服务

3、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心基于长连接推送变更数据给消费者

4、消费者从注册中心拿到列表,然后基于负载均衡算法,选择一台提供者进行服务调用

5、服务提供者和消费者在内存中累计调用次数和时间,定时每分钟发送数据到监控中心。

技术方案 dubbo微服务 dubbo与微服务的区别_RPC_03


Dubbo像是一台组装机:注册中心用zookeeper、redis做远程服务信息存储

Dubbo和Spring cloud 对比

最大区别:

Dubbo

spring cloud

传输方式

RPC传输方式 TCP/IP协议

Htpp传输协议

性能

RPC传输性能更好、速度更快、

REST ful 风格、更适合快速迭代

CAP理论(c-数据一致性 A-服务可用性 p-容错)

zookeeper 保证CP

Eureka 遵循AP