rocketmq长轮询原理_java长轮询

rocketmq长轮询原理_java长轮询什么是长轮询whypush:broker推,优势:实时,长链接,不会频繁建立链接;缺点:慢消费,broker负载过高pull:客户端拉,优势:消费数量,速度可控;缺点:间隔难设定,过短,频繁网络请求,无效请求,过长:延迟消费为了保证实时,我们可以把拉取消息的间隔设置的短一点,但这也带来了一个另外一个问题,在没有消息的时候时候会有大量pull请求,为了解决这个问题,就采用了本文讲解的长轮询技术。轮询是以固定间隔请求服务器,它不在乎这次请求是否能拉取到消息。而长轮询,它请求的服务端,会等待一

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是长轮询

why

push:broker推,优势:实时,长链接,不会频繁建立链接;缺点:慢消费,broker负载过高

pull:客户端拉,优势:消费数量,速度可控;缺点:间隔难设定,过短,频繁网络请求,无效请求,过长:延迟消费

为了保证实时,我们可以把拉取消息的间隔设置的短一点,但这也带来了一个另外一个问题,在没有消息的时候时候会有大量pull请求,为了解决这个问题,就采用了本文讲解的长轮询技术。

轮询是以固定间隔请求服务器,它不在乎这次请求是否能拉取到消息。而长轮询,它请求的服务端,会等待一会儿时间,然后将等待时间内的消息返回。如果超时了,那么也返回空。有效的避免了无效的请求。

但是对于每次都能拉取到消息的情况下,长轮询也就退化成了轮询。

消费端如何定时执行pull:

消费端:如何控制长轮询

broker端:在长轮询时间段中,定时检查是否有消息到达,然后返回客户端

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电平转换芯片_电平转换芯片无方向

    电平转换芯片_电平转换芯片无方向电平转换芯片**在混合信号系统中,经常能看到电瓶转换电路,目前市面上应用较多的处理器都是采用3.3V电源供电,但是产品外围器件多数都采用5伏电源供电,这种情况下就必须使用转换电路。目前应用比较多的两类电平转换电路是用MOS管搭建的电平转换电路,和用电平转换芯片实现的电路。为了降低产品的功耗,通常都采用低工作电压值的高速逻辑器件,这也进一步导致了产品内部同时存在多种电压,因此搭建稳定可靠的电平转换电路,尤为重要。如要求低成本,可以用MOSFET管自己搭建一个电平转换电路。用MOSFET管搭建电平转换电

    2022年8月10日
    7
  • linux中实现线程同步的6种方法

    linux中实现线程同步的6种方法linux线程同步的方法下面是一个线程不安全的例子:#include<stdio.h>#include<pthread.h>intticket_num=10000000;void*sell_ticket(void*arg){while(ticket_num>0){ ticket_num–;}}intmain(){pthread_tt1,t2,t3;pthread_create(&t1,NU

    2022年7月15日
    21
  • Linux 学习之 MQTT 服务器搭建「建议收藏」

    Linux 学习之 MQTT 服务器搭建「建议收藏」摘要:前言博主之前写了一篇《在Windows下搭建MQTT服务器》,这次要尝试在Ubuntu下搭建MQTT服务器。实际上,下载好源码包后,后面的都和那篇文章差不多了。开发环境虚拟机Ubuntu14.04.5LTSApache-Apollo-1.7.1准备工作由于搭建Apollo环境变量需要有JAVA_HOME,这个时候需要安装JDK,可以参考这篇文章:《Ubuntu安装JDK1.8.0并配置环境变…

    2022年5月10日
    38
  • war包解压后怎么重新打war包_war包和zip

    war包解压后怎么重新打war包_war包和zip$ClipboardContent$

    2022年10月4日
    3
  • 一款好看的404页面代码 | 滚动的404[通俗易懂]

    <!doctypehtml><html><head><metacharset=”utf-8″><title>网站404</title><style>body{background:#000;height:100vh;overflow:…

    2022年4月3日
    140
  • numpy安装过程

    numpy安装过程下载 numpy 库的详细方法安装前提 1 Python3 8 安装完成并能够正常使用 2 下载相应的 numpy 安装包 whl 格式安装详细步骤 首先 点击下面的链接进入 numpy 下载官网链接地址 添加链接描述进去之后 点击文档下载 进入界面 cp37 指对应的 Python 版本 还要注意后面的 32 64 是你的系统然后点击下载 下载到你 Python 下面的 Scripts 文件夹下 打开 cmd 输入命令行 pipinstallnu 文件名 whl 出现 Successfulin

    2025年9月7日
    5

发表回复

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

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