首页 技术 正文
技术 2022年11月9日
0 收藏 743 点赞 4,027 浏览 1335 个字

1.什么是dubbo?

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

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

单一应用架构

dubbo初识

当网站流量很小时 只需要一个应用 将所有的功能都部署在一个应用上

优点

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

缺点

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

垂直应用架构

dubbo初识

有了缺点就会有改进于是 垂直应用架构就出现了  垂直应用框架将应用拆分成互不相关的应用

优点

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

缺点

  1. 由于模块不在同一个服务  使得公用模块之间的服务无法重复利用

分布式服务架构

dubbo初识

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

优点

  1. 模块之间可以相互调用 增加了重用率

缺点

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

流动计算架构

dubbo初识

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

什么叫RPC?

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

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

dubbo初识

2.为什么又要使用dubbo ?

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

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

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

dubbo初识

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

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

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

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

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

调用关系说明

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

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

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

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

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291