数媒在线课堂 从 RocketMQ 看长轮询 (Long Polling)

消息队列一般在消费端都会提供 push 和 pull 两种模式,RocketMQ 同样实现了这两种模式,分别提供了两个实现类:DefaultMQPushConsumer 和 DefaultMQPullConsumer;两种方式各有优势:

push 模式:推送模式,即服务端有数据之后立马推送消息给客户端,需要客户端和『服务器』建立长连接,实时性很高,对客户端来说也简单,接收处理消息即可;缺点就是服务端不知道客户端处理消息的能力,可能会导致数据积压,同时也增加了服务端的工作量,影响服务端的性能;

pull 模式:拉取模式,即客户端主动去服务端拉取数据,主动权在客户端,拉取数据,然后处理数据,再拉取数据,一直循环下去,具体拉取数据的时间间隔不好设定,太短可能会导致大量的连接拉取不到数据,太长导致数据接收不及时;

RocketMQ 使用了长轮询的方式,兼顾了 push 和 pull 两种模式的优点,下面首先对长轮询做简单介绍,进而分析 RocketMQ 内置的长轮询模式。

长轮询

长轮询通过客户端和服务端的配合,达到主动权在客户端,同时也能保证数据的实时性;长轮询本质上也是轮询,只不过对普通的轮询做了优化处理,服务端在没有数据的时候并不是马上返回数据,会 hold 住请求,等待服务端有数据,或者一直没有数据超时处理,然后一直循环下去;下面看一下如何简单实现一个长轮询;

1. 实现步骤

1.1 客户端轮询发送请求

客户端应该存在一个一直循环的程序,不停的向服务端发送获取消息请求;

1.2 服务端处理数据

『服务器』接收到客户端请求之后,首先查看是否有数据,如果有数据则直接返回,如果没有则保持连接,等待获取数据,服务端获取数据之后,会通知之前的请求连接来获取数据,然后返回给客户端;

1.3 客户端接收数据

正常情况下,客户端会马上接收到服务端的数据,或者等待一段时间获取到数据;如果一直获取不到数据,会有超时处理;在获取数据或者超时处理之后会关闭连接,然后再次发起长轮询请求;

RocketMQ 长轮询

RocketMQ 的消费端提供了两种消费模式分别是:DefaultMQPushConsumer 和 DefaultMQPullConsumer,其中 DefaultMQPushConsumer 就是使用的长轮询

PullCallback 回调

服务端处理完之后,给客户端响应,回调其中的 PullCallback,其中在处理完消息之后,重要的一步就是再次把 pullRequest 放到 PullMessageService 服务中,等待下一次的轮询;

今日霍州(www.jrhz.info)©️

特别声明:[数媒在线课堂 从 RocketMQ 看长轮询 (Long Polling)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

德国修眉刀男士专用安全型防刮伤神器套装概述(德国修眉刀男士品牌)

本文介绍了德国修眉刀男士专用安全型防刮伤神器套装,分析其设计理念、工作原理、技术特点及应用场景。旨在为消费者提供全面的信息,帮助了解这一男士美容辅助工具。从安全性到实用性,本文探讨了这款产品的重要特性和市场定位。

德国修眉刀男士专用安全型防刮伤神器套装概述(德国修眉刀男士品牌)

4G5G物联网重构鼠害监测:FIFISIM方案的行业价值突破(5g物联网技术总结)

FIFISIM物联以“RTU+物联网公网IP卡”为核心的4G5G通信方案,从技术底层破解这些难题,为鼠害监测构建起“实时采集-稳定传输-智能决策”的全链路体系,推动行业从“被动处置”向“主动预警”转型。某草…

4G5G物联网重构鼠害监测:FIFISIM方案的行业价值突破(5g物联网技术总结)

从鼻腔流到喉咙的痰带血(从鼻腔流到喉咙的痰是血痰,但是醒出来的鼻涕没有血)

从鼻腔流到喉咙的痰带血可能与鼻出血、鼻窦炎、鼻咽炎、鼻部外伤或鼻咽癌等原因有关,可通过局部压迫、药物治疗、手术干预等方式处理。 鼻出血是痰中带血的常见原因,多因鼻腔黏膜干燥或毛细血管破裂导致。患者可能伴有鼻部不适或反复出血症状

从鼻腔流到喉咙的痰带血(从鼻腔流到喉咙的痰是血痰,但是醒出来的鼻涕没有血)

照顾患病妻子60年,儿女事业有成家庭幸福,他却只想做个普通老头

如今,已经步入晚年的他,依然保持着年轻时的良好品格,尤其是在照顾妻子的坚守和努力做一个普通老人的愿望上,让人倍感敬佩。 他与王晓棠的搭档在《海鹰》中的出色演绎,使得两人不仅在银幕上赢得了众多粉丝,也为王心刚赢…

照顾患病妻子60年,儿女事业有成家庭幸福,他却只想做个普通老头

2025蒸汽系统无疏水阀回收蒸汽节能机评测报告(蒸汽系统流程)

本次评测聚焦“蒸汽系统无疏水阀全密闭回收”核心场景,选取烟台亿通达、山东某节能科技、江苏某环保设备三家企业的主流蒸汽节能机,从技术专利、节能效果、适用性、功能实用性、可靠性认证五大维度展开,为蒸汽系统优化及节…

2025蒸汽系统无疏水阀回收蒸汽节能机评测报告(蒸汽系统流程)