阿里云-ONS-Help-产品介绍-消息类型:定时和延时消息

ylbtech-阿里云-ONS-Help-产品介绍-消息类型:定时和延时消息
1.返回顶部

1、

本页目录

本文主要介绍消息队列 RocketMQ 版的定时消息和延时消息的概念、适用场景以及使用过程中的注意事项。

概念介绍

  • 定时消息:Producer 将消息发送到消息队列 RocketMQ 版服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消息。
  • 延时消息:Producer 将消息发送到消息队列 RocketMQ 版服务端,但并不期望这条消息立马投递,而是延迟一定时间后才投递到 Consumer 进行消费,该消息即延时消息。

定时消息与延时消息在代码配置上存在一些差异,但是最终达到的效果相同:消息在发送到消息队列 RocketMQ 版服务端后并不会立马投递,而是根据消息中的属性延迟固定时间后才投递给消费者。

适用场景

定时消息和延时消息适用于以下一些场景:

  • 消息生产和消费有时间窗口要求:比如在电商交易中超时未支付关闭订单的场景,在订单创建时会发送一条延时消息。这条消息将会在 30 分钟以后投递给消费者,消费者收到此消息后需要判断对应的订单是否已完成支付。如支付未完成,则关闭订单。如已完成支付则忽略。
  • 通过消息触发一些定时任务,比如在某一固定时间点向用户发送提醒消息。

使用方式

定时消息和延时消息的使用在代码编写上存在略微的区别:

  • 发送定时消息需要明确指定消息发送时间点之后的某一时间点作为消息投递的时间点。
  • 发送延时消息时需要设定一个延时时间长度,消息将从当前发送时间点开始延迟固定时间之后才开始投递。

注意事项

  • 定时和延时消息的 msg.setStartDeliverTime 参数需要设置成当前时间戳之后的某个时刻(单位毫秒)。如果被设置成当前时间戳之前的某个时刻,消息将立刻投递给消费者。
  • 定时和延时消息的 msg.setStartDeliverTime 参数可设置 40 天内的任何时刻(单位毫秒),超过 40 天消息发送将失败。
  • StartDeliverTime 是服务端开始向消费端投递的时间。 如果消费者当前有消息堆积,那么定时和延时消息会排在堆积消息后面,将不能严格按照配置的时间进行投递。
  • 由于客户端和服务端可能存在时间差,消息的实际投递时间与客户端设置的投递时间之间可能存在偏差。
  • 设置定时和延时消息的投递时间后,依然受 3 天的消息保存时长限制。

    例如,设置定时消息 5 天后才能被消费,如果第 5 天后一直没被消费,那么这条消息将在第 8 天被删除。

TCP 协议示例代码

收发定时消息和延时消息的示例代码,请参见以下文档:

HTTP 协议示例代码

收发定时消息和延时消息的示例代码,请参见以下文档:

2、

2.返回顶部
3.返回顶部
4.返回顶部
5.返回顶部

1、

https://help.aliyun.com/document_detail/43349.html

2、

6.返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/storebook/p/12594645.html

时间: 2024-10-19 16:30:04

阿里云-ONS-Help-产品介绍-消息类型:定时和延时消息的相关文章

【结果很简单,过程很艰辛】记阿里云Ons消息队列服务填坑过程

Maybe 这个问题很简单,因为解决方法是非常简单,但填坑过程会把人逼疯,在阿里云ONS工作人员.同事和朋友的协助下,经过一天的调试和瞎捣鼓,终于解决了这个坑,把问题记下来,也许更多人在碰到类似问题的时候,会开放思路.当然不得不说,Ons的.NET接口还很不完善,甚至没有独立在Windos 2008/2012服务器测试过,希望官方加把力. 1.阿里云ONS介绍 ONS(Open Notification Service)即开放消息服务,是基于阿里开源消息中间件MetaQ(RocketMQ)打造的

阿里云ONS而微软Azure Service Bus体系结构和功能比较

阿里云ONS而微软Azure Service bus体系结构和功能比较 版权所有所有,转载请注明出处http://blog.csdn.net/yangzhenping.谢谢! 阿里云的开放消息服务: 一.如图所看到的,ProducerID1 的producer 实例有三个,可能是部署在三个机器上的三个进程,也可能是一台机 器上的三个进程. 每一个实例都会发送TopicA 的消息.同理,ProducerID2 与之类似. 二.ConsumerID1 有三个实例,假设是集群消费方式,那么每一个实例消

阿里云ONS和微软Azure Service Bus的架构和特性比较

阿里云ONS和微软Azure Service bus的架构和特性比较 版权所有,转载请注明出处http://blog.csdn.net/yangzhenping,谢谢! 阿里云的开放消息服务: 一.如图所示,ProducerID1 的producer 实例有三个,可能是部署在三个机器上的三个进程,也可能是一台机 器上的三个进程.每个实例都会发送TopicA 的消息.同理,ProducerID2 与之类似. 二.ConsumerID1 有三个实例,如果是集群消费方式,那么每个实例消费TopicA

阿里云-ONS-Help:消息队列 RocketMQ 版

ylbtech-阿里云-ONS-Help:消息队列 RocketMQ 版 1.返回顶部 1. 消息队列 RocketMQ 版 查看产品> 消息队列RocketMQ版是阿里云基于Apache RocketMQ构建的低延迟.高并发.高可用.高可靠的分布式消息中间件. 产品更新 常见问题 立即购买 学习路径 由浅入深,带您玩转消息队列RocketMQ版! 了解 消息队列RocketMQ版简介 产品简介 名词解释 适用场景 产品架构 产品定价 计费概述 资源包说明 欠费说明 成本对比 上手 快速入门 主

国内物联网平台初探(二) ——阿里云物联网套件

架构 数据通道 为设备和物联网应用程序提供发布和接收消息的安全通道.数据通道目前支持CCP协议和MQTT协议. 用户可以基于CCP协议实现Pub/Sub异步通信,也可以使用远程调用(RPC)的通信模式实现设备端与云端的通信. 用户也可以基于开源协议MQTT协议连接阿里云IoT,实现Pub/Sub异步通信. 安全认证&权限策略 为每个设备颁发阿里云IoT的凭证,依赖凭证才能连接阿里云IoT. 提供设备级的授权粒度,任何设备必须经过授权才能对某个Topic发布订阅消息 服务端也需要经过授权才能操作其

阿里云企业IPv6部署方案

摘要: 一.什么是IPv6. IP version 6 (IPv6)是IP协议(Internet Protocol)的最新版本,设计作为IP version 4 (IPv4) [RFC791]的继任版本. 一.什么是IPv6. IP version 6 (IPv6)是IP协议(Internet Protocol)的最新版本,设计作为IP version 4 (IPv4) [RFC791]的继任版本.从IPv4到IPv6的改变主要有以下几点: 1)      扩展的地址容量: 2)      简化

RocketMQ源码 — 九、 RocketMQ延时消息

上一节消息重试里面提到了重试的消息可以被延时消费,其实除此之外,用户发送的消息也可以指定延时时间(更准确的说是延时等级),然后在指定延时时间之后投递消息,然后被consumer消费.阿里云的ons还支持定时消息,而且延时消息是直接指定延时时间,其实阿里云的延时消息也是定时消息的另一种表述方式,都是通过设置消息被投递的时间来实现的,但是Apache RocketMQ在版本4.2.0中尚不支持指定时间的延时,只能通过配置延时等级和延时等级对应的时间来实现延时. 一个延时消息被发出到消费成功经历以下几

阿里云-ONS-Help-产品介绍-消息类型:事务消息

ylbtech-阿里云-ONS-Help-产品介绍-消息类型:事务消息 1.返回顶部 1. 本页目录 概念介绍 适用场景 交互流程 注意事项 更多信息 本文介绍消息队列 RocketMQ 版事务消息的概念.适用场景.交互流程以及使用过程中的注意事项. 概念介绍 事务消息:消息队列 RocketMQ 版提供类似 X/Open XA 的分布式事务功能,通过消息队列 RocketMQ 版事务消息能达到分布式事务的最终一致. 半事务消息:暂不能投递的消息,发送方已经成功地将消息发送到了消息队列 Rock

Quartz定时向阿里云MQ发送数据(TCP模式)

针对公司业务逻辑,向阿里云MQ发送指定数据,消费端根据数据来做具体的业务,分两个项目,一个生产端(Producer).一个消费端(Consumer) 生产端通过定时任务执行sql向阿里云MQ发送数据,消费端消费指定Topic上的数据 1:定时任务列表: 2:生产端表结构: aliasName:定时任务别名: cronExpression:定时任务轮询规则: jobGroup:定时任务分组: jobName:定时任务名称: jobTrigger:定时任务触发器: packageUrl:定时任务扫描