定时/延时消息 kafka和rocketMQ
首先,kafka不支持定时/延时消息功能,rocketMQ是支持的详细参考:技术选型:RocketMQ or KafkarocketMQ的定时/延时消息使用发送定时消息需要明确指定消息发送时间点之后的某一时间点作为消息投递的时间点。发送延时消息时需要设定一个延时时间长度,消息将从当前发送时间点开始延迟固定时间之后才开始投递。详细参考:阿里云文档的定时和延时消息对kafka的定时/延时消息改进图片摘
·
首先,kafka不支持定时/延时消息功能,rocketMQ是支持的
rocketMQ的定时/延时消息使用
发送定时消息需要明确指定消息发送时间点之后的某一时间点作为消息投递的时间点。
发送延时消息时需要设定一个延时时间长度,消息将从当前发送时间点开始延迟固定时间之后才开始投递。
详细参考:阿里云文档的定时和延时消息
对kafka的定时/延时消息改进
可以使用小顶堆的结构对到期时间进行管理:
轮训堆顶元素,如果到达触发时间则发送本元素,然后进行堆调整, 再比较新堆顶...
图片摘自(仅做个人备份,浏览请看原文):简易实现kafka延迟消息
更多推荐
已为社区贡献4条内容
所有评论(0)