第一课 Dubbo背景及原理

1 . 技术背景

Dubbo每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

 

2 . 解读dubbo的优势

 

Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

 

总结两点:

  第一个:高性能的RPC的远程通信 
  第二个:管理服务(服务被谁调用了,状态 时间。。。)。

  

什么是RPC协议呢?需要追溯通讯协议,如果把传输协议看成寄包裹,那么物理层是包裹实务,每个关卡都会包装一层,TCP对比HTTP的优势就出来了

 

 互联网架构的演变由: ORM的一体架构 -> MVC的分模块互相不能调用 -> RPC分布式架构(线条太多管理混乱) -> SOA流动计算架构(service变成一朵云了,通过dubbo进行统一管理和调用)

 

 

什么是SOA架构

SOA是Service-Oriented Architecture的首字母简称,它是一种支持面向服务的架构样式。

从服务、基于服务开发和服务的结果来看,面向服务是一种思考方式。其实SOA架构更多应用于互联网项目开发

 

 

 

 

 3 . dubbo原理

节点角色说明:

Provider: 暴露服务的服务提供方。

Consumer: 调用远程服务的服务消费方。

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

Monitor: 统计服务的调用次调和调用时间的监控中心。

Container: 服务运行容器。

调用关系说明:

0. 服务容器负责启动,加载,运行服务提供者。

1. 服务提供者在启动时,向注册中心注册自己提供的服务。

2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

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

4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

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

 

posted @ 2019-05-29 22:21  JiangWJ  阅读(237)  评论(0编辑  收藏  举报