IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Dubbo -> 正文阅读

[网络协议]Dubbo

1.RPC介绍

????????RPC(Remote Procedure Call)远程过程调?,简单的理解是?个节点请求另?个节点提供的服 务

????????

客户端(Client):服务调??。

客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据信息打包成?络消息, 再通过?络传输发送给服务端。

服务端存根(Server Stub):接收客户端发送过来的请求消息并进?解包,然后再调?本地服务进? 处理。

服务端(Server):服务的真正提供者。

Network Service:底层传输,可以是 TCP 或 HTTP

服务寻址:?在RPC中,所有的函数都必须有一个自己Id,这个id在所有的进程中都是唯一的,客户端在发送请求的时候需要带上这个id,从而来确定客户端需要调用的函数

2.Dubbo结构

? ? ? ? 2.1基本结构

? ? ? ? dubbo只是RPC框架的一种,基于rpc远程请求方式,对于开发来讲简化了纯粹的RPC调用

????????

?provider:?服务提供方

?consumer:?服务消费端

?zk:?服务注册和发现的注册中心

?monitor:?统计服务调用次数/时间的监控中心

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

2. 服务提供者在启动时,向注册中?注册??提供的服务。

3. 服务消费者在启动时,向注册中?订阅??所需的服务。

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

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

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

????????2.2调用流程

????????

监控中?宕掉不影响使?,只是丢失部分采样数据

数据库宕掉后,注册中?仍能通过缓存提供服务列表查询,但不能注册新服务

注册中?对等集群,任意?台宕掉后,将?动切换到另?台

注册中?全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

服务提供者?状态,任意?台宕掉后,不影响使?

服务提供者全部宕掉后,服务消费者应?将?法使?,并?限次重连等待服务提供者恢复

3.Dubbo特性

? ? ? ? 3.1集群容错? ? ??

<dubbo:reference retries="3">

调用失败自动切换,retries设置重试次数

<dubbo:reference cluster="failfast">

快速失败,只允许一次调用,失败立刻报错? ?一般用于insert记录

<dubbo:reference cluster="failsafe">

失败安全,出现异常直接忽略

<dubbo:reference cluster="failback">

失败自动恢复,定时重发

<dubbo:reference cluster="broadcast">

广播调用所有提供者,逐个调用,任何一台报错,直接报错

? ? ? ??

? ? ? ? 3.2负载均衡

Random LoadBalance

? ? ? ??随机策略,按权重设置随机率

RoundRobin LoadBalance(默认)

? ? ? ??轮询,按公约后的权重设置轮询比例

LeastActive? LoadBalance

????????最少活跃调?数,相同活跃数的随机,活跃数指调?前后计数差。

ConsistentHash?LoadBalance

?????????致性 Hash,相同参数的请求总是发到同?提供者。

当某?台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引 起剧烈变动。

? ? ? ??

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-10 11:24:18  更:2021-12-10 11:25:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:38:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码