heartbeat超时值定义了RabbitMQ及其client库在多久之后认为TCP连接不可到达。这个值是在client连接RabbitMQ服务器的时候协商好的,在RabbitMQ 3.0及以上版本,broker缺省就会自动尝试进行heartbeat协商,而对于低版本则必须由client在连接时显示地请求协商。该值单位为秒,缺省是60秒。
每隔timeout / 2秒发送一个Heartbeat消息帧,这个值有时被称作heartbeat interval,如果连续丢失两个heartbeats消息帧,就认为tcp连接中断了。不同的client表现不同,但是都会关闭tcp连接。当客户端通过heatbeat机制检测到RabbitMQ节点不可到达时,应该尝试重新连接。
不要混淆timeoutinterval这两个值,RabbitMQ以及官方提供的client库都使用timeout,而某些client库使用的是interval
只要链路上有消息在传递,那么就认为是有效的heartbeat,client可以不考虑链路上是否有消息传递就发送heartbeat消息帧,也可以只在必要时才发。
可以把timeout设置成0来禁用heartbeat,但是实践中不建议这么用。

Java代码启用Heartbeat

Java客户端代码中在连接之前,通过调用ConnectionFactory#setRequestedHeartbeat来和服务器协商timeout值。

ConnectionFactory cf = new ConnectionFactory();// set the heartbeat timeout to 60 seconds
cf.setRequestedHeartbeat(60);

注意:当服务器配置了非0的timeout值情况下,client只能设置比它小的值,不能比它大。

Heartbeat超时值相关推荐

  1. python paramiko模块中设置执行命令超时值

    经常使用paramiko工具对几百台设备进行管理,但是由于服务器本身或是网络原因,有时返回值回不来,然后程序就看在那里一直等待,这个时候后需要设置一个超时值.paramiko模块中执行命令代码如下: ...

  2. 线程----Monitor(互斥锁)类设置超时值

    Monitor类与Lock语句相比,Monitor类的主要优点是:可以添加一个等待被锁定的超时值. 缺点:开销非常大 using System; using System.Collections.Ge ...

  3. RabbitMQ之心跳检测

    Heartbeat超时值 heartbeat超时值定义了RabbitMQ及其client库在多久之后认为TCP连接不可到达.这个值是在client连接RabbitMQ服务器的时候协商好的,在Rabbi ...

  4. 【超详细】DBCP连接池配置参数说明

    <!-- 数据源1 --><bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSo ...

  5. 微信终端跨平台组件 Mars 系列(三)连接超时与IPPort排序

    前言 Mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业务无关.跨平台的基础组件.目前在微信 Android.iOS.Windows.Mac.WP 等多个平台中使用.Mars 主要包括以 ...

  6. sql server数据库查询超时报错

    报错信息如下: 链接服务器"DBJointFrame"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "查询超时已过期". ...

  7. 超低延迟实时流媒体传输技术

    正文字数:5401  阅读时长:8分钟 现在云游戏,云应用越来越火,所以超低延迟实时流媒体传输技术的需求应用场景会越来越多.腾讯专家工程师刘泓昊老师在LiveVideoStackCon 2020北京站 ...

  8. sql server2005 无法修改表,超时时间已到 在操作完成之前超时时

    在sql server2005 中,在修改表时,保存的时候显示:无法修改表,超时时间已到 在操作完成之前超时时间已过或服务器未响应  这是执行时间设置过短的原因,可以修改一下设置便能把执行时间加长,以 ...

  9. Servlet超详解+流程图

    1.servlet处理用户请求的完整流程 针对Servlet的每次请求,Web 服务器在调用 service() 方法之前,都会创建 HttpServletRequest 和 HttpServletR ...

  10. 超宽带 DW1000 API --- dwt_configure (频道,脉冲重复频率,数据速率等)

     dwt_configure void dwt_configure(dwt_config_t *config); 此功能负责设置通道配置参数以供两者使用发射器和接收器. 设置由传入的dwt_confi ...

最新文章

  1. 疯狂Spring Cloud连载(5)Eureka集群搭建
  2. mvc5入门示例博客(有惊喜)
  3. SAP云服务新订购量增长103%
  4. ZZULIOJ 1125: 上三角矩阵的判断
  5. 面对颇有心机的同事要具备的四个心态
  6. 大神干货:算法高手郭大顶级经验分享助你轻松通过初赛!
  7. 【半年总结】---凤凰涅槃,历久弥新
  8. Java的tomcat的配置_java-Tomcat配置
  9. Ubuntu翻译PDF论文
  10. 思维转换感悟与区块链视频资料分享
  11. Example文件简介
  12. Hadoop 3.x搭建基础HDFS集群
  13. Sqli-labs 基本注入篇 (Less1~22)
  14. 51单片机与LCD1602接口电路与程序
  15. 网上订餐管理系统的设计与实现
  16. Python调用腾讯API发送短信验证码
  17. 树莓派系统安装-Raspberry Pi OS
  18. Python 国务院政策爬虫(附完整代码)+自动更新+写入数据库
  19. 【中国是部金融史-读后感】
  20. 计算机BIOS设置和CMOS设置的区别与联系

热门文章

  1. 【期末大作业】基于HTML+CSS+JavaScript南京大学网页校园教育网站html模板(3页)
  2. PINN解偏微分方程--程函方程
  3. deprecate node-sass@4.9.0 › request@~2.79.0 request has been deprecated, see https://github.com
  4. S7-1200 PLC与电子秤进行MODBUS RTU通信的具体步骤
  5. 二次型相似对角化的原因
  6. java graphics 画箭头_如何在Java中绘制一个指向的箭头线?
  7. win7计算机内存占用高,win7降低电脑内存占用过高的方法
  8. 自己做的js甘特图插件
  9. 怎么访问云服务器上的图片
  10. 计算机管理服务器,用勤哲Excel服务器实现计算机管理系统