GRPC Connection Backoff Protocol「建议收藏」

GRPC Connection Backoff Protocol「建议收藏」GRPCConnectionBackoffProtocol当我们向一个失败的后端进行连接时,通常不希望立即重试(为了避免请求flooding网络或者服务器),而是去做一些某种形式的指数backoff。我们有几个参数:INITINAL_BACKOFF(第一次失败后的重试需要等待多长时间)MULTIPLIER(在一次失败的重试后,backoff的乘回因子)JITTER(随机backoffs的程度)MAX_BACKOFF(backoff的上界)MIN_CONNECT_TIMEOUT(我们

大家好,又见面了,我是你们的朋友全栈君。

GRPC Connection Backoff Protocol

当我们向一个失败的后端进行连接时,通常不希望立即重试(为了避免请求flooding网络或者服务器) ,而是去做一些某种形式的指数backoff。
我们有几个参数:

  1. INITINAL_BACKOFF(第一次失败后的重试需要等待多长时间)
  2. MULTIPLIER(在一次失败的重试后,backoff的乘回因子)
  3. JITTER(随机backoffs的程度)
  4. MAX_BACKOFF(backoff 的上界)
  5. MIN_CONNECT_TIMEOUT(我们愿意给予连接完成的最小时间)

Proposed Backoff Algorithm

以指数方式回退尝试连接的起始时间,最大值为MAX_BACKOFF,并带有抖动(jitter)。

Resset Backoff

back off 应当在某一时间点被重置为 INITIAL_BACKOFF,所以重连行为是一致的,无论连接是新开始的一个,还是之前断连的一个。
当 SETTINGS frame 被接收到时,我们选择重置Backoff,在那时,我们明确知晓这个连接已经被服务器接受了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149701.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月17日 上午9:00
下一篇 2022年6月17日 上午9:16


相关推荐

  • navicatmysql连接不上_navicat找不到本地MySQL服务

    navicatmysql连接不上_navicat找不到本地MySQL服务最近遇到了一件非常棘手的问题,用Navicat远程连接数据库居然连接不到,真是头都大了。 网上查阅了一下原因,原来是没有开通远程权限,好吧,下面我就来回忆一下自己怎么处理这问题的!大家都知道,用Navicat连接数据库一般是这样连得:问题整理以及解决办法错误一:错误原因:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程…

    2022年10月9日
    4
  • 一阶惯性滤波特点_一阶惯性环节仿真

    一阶惯性滤波特点_一阶惯性环节仿真由文章(二)可知,二次平均法改善了一次平均法滤除低频干扰时超调的影响,但仍然未能完全滤除低频干扰。因此,通过改变反馈控制系统参数结合平均法是一个不错的选择,仿真如图:通过改变比例系数,可以实现一定的滤波效果,此方法是通过降低响应参数的方式实现一级滤波,通过平均法实现二级滤波,仿真结果如下图:文章《一阶惯性传感器的快速跟踪性能实现》中,最终传递函数为:本例中,传递函数为启动性能与文章《一阶惯性传感器的快速跟踪性能实现》中接近,且较大地滤除了高频、低频干扰可见,该控制

    2022年10月4日
    5
  • jpa/springdata(1)jpa

    jpa/springdata(1)jpa

    2021年6月13日
    98
  • CPU核心数与线程数详解

    CPU核心数与线程数详解CPU CPU 就是中央处理单元 物理 CPU 数就是 CPU 的硬件个数 socket 核心 一开始 每个物理 cpu 上只有一个核心 asinglecore 对操作系统而言 也就是同一时刻只能运行一个进程 线程 为了提高性能 cpu 厂商开始在单个物理 cpu 上增加核心 实实在在的硬件存在 也就出现了双核心 cpu dual corecpu 以

    2026年3月19日
    2
  • CAN通信的数据帧和远程帧「建议收藏」

    (先来一波操作,再放概念)远程帧和数据帧非常相似,不同之处在于:(1)RTR位,数据帧为0,远程帧为1;(2)远程帧由6个场组成:帧起始,仲裁场,控制场,CRC场,应答场,帧结束,比数据帧少了数据场。(3)远程帧发送特定的CANID,然后对应的ID的CAN节点收到远程帧之后,自动返回一个数据帧。环回模式下(方便调试用),设置为发送远程帧:STM32端通过J-LinkRT…

    2022年4月6日
    353

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号