dubbo初识

1.什么是dubbo?   

       dubbo 是一个分布式服务框架 是一个高性能的RPC框架 它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。前端

谈到了分布式服务框架 那必然有单一服务框架接下来就谈谈服务框架的演变过程算法

单一应用架构

      当网站流量很小时 只须要一个应用 将全部的功能都部署在一个应用上架构

优势负载均衡

  1. 节省带宽和成本
  2. 简单易用

  缺点框架

  1. 因为把全部的功能部署在一个应用上 不方便扩展功能
  2. 不利于团队合做开发
  3. 不利于升级维护

 垂直应用架构分布式

      有了缺点就会有改进因而 垂直应用架构就出现了  垂直应用框架将应用拆分红互不相关的应用 ide

优势性能

  1. 经过切分应用来实现各个模块之间的相互独立 方便团队合做
  2. 因为模块之间的独立 使得维护成本和部署成本下降了
  3. 性能扩展更方便

缺点网站

  1. 因为模块不在同一个服务  使得公用模块之间的服务没法重复利用 

 分布式服务架构spa

       当垂直应用愈来愈大 应用之间的交互不可避免 将核心业务抽取出来 做为独立的服务 逐渐造成稳定的服务中心 使前端应用可以适应多变的市场 此时 用于提供业务的复用及整合的分布式服务框架(RPC)是关键。

优势

  1. 模块之间能够相互调用 增长了重用率

缺点

  1. 当服务愈来愈多,容量的评估 小服务资源浪费的状况愈来愈显著 

 流动计算架构

       当服务愈来愈多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增长一个调度中心基于访问压力实时管理集群容量,提升集群利用率。此时,用于提升机器利用率的资源调度和治理中心(SOA)[ Service Oriented Architecture]是关键

 什么叫RPC?

RPC【Remote Procedure Call】是指远程过程调用,说到远程过程调用 那就要谈到本地过程调用 本地过程当中不一样方法之间能够相互调用 可是它只适用于同一个服务中  当咱们在多个服务中想调用不一样服务中的方法这时候就须要RPC   它是一种进程间通讯方式 适用于不一样服务之间的通讯 

RPC两个核心模块:通信,序列化。

 

 

 2.为何又要使用dubbo ?

     1.透明化的远程方法调用,就像调用本地方法同样调用远程方法

     2.支持负载均衡算法及容错机制

     3.支持服务自动注册与发现 

 

         随着技术的发展 应用的发展也愈来愈快 项目的体积也愈来愈大  分布式服务框架也愈来愈常见 为了更加方便快捷的对应用进行开发、治理 因而dubbo就出现了

服务提供者(provider):暴露服务的服务提供方 服务提供者在启动的时候 就会向注册中心注册本身的服务

注册中心(Registry):注册中心返回服务提供者的地址列表给消费者 若是有变动 注册中心将基于长链接推送变动数据给消费者

服务消费者(Consumer):服务消费者在启动时 会向注册中心订阅本身所需的服务 服务消费者会从地址列表中 经过负载均衡算法 选一台提供者进行调用 若是调用失败 在选另一台

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

 

调用关系说明

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

服务提供者在启动时 向注册中心注册本身提供的服务

注册中心返回提供者地址列表给消费者 若是有变动 注册中心将基于长链接推送变动数据给消费者

服务消费者在启动时 向注册中心订阅本身所需的服务

服务消费者 从地址提供列表中 基于负载均衡算法 选一台提供者进行调用 若是调用失败 再选另外一台进行调用

相关文章
相关标签/搜索