RocketMQ触发器
更新时间 2025-05-26 15:37:13
最近更新时间: 2025-05-26 15:37:13
RocketMQ触发器可以订阅分布式消息服务RocketMQ并根据消息触发关联的函数,借此能力,使得函数可以消费指定topic的消息,执行自定义处理逻辑。
注意事项
RocketMQ触发器订阅的分布式消息服务RocketMQ实例必须和函数计算的函数实例在相同地域。
前提条件
- 创建函数。
- 开通分布式消息服务RocketMQ实例(RocketMQ引擎类型),详情请参考开通RocketMQ实例。
- 创建Topic和GroupID。
- 创建用户,且默认Topic权限设置为:PUB|SUB,默认消费组权限为SUB。详情请参考创建用户。
操作步骤
- 登录函数计算控制台,点击目标函数,进入函数详情。
- 选择详情下顶部的配置选项卡。
- 在配置选项卡中,选择左边的触发器选项卡。
- 点击创建触发器,在弹出的右抽屉中选择RocketMQ触发器,配置参数解释如下。
配置项 | 操作 | 文示例 |
---|---|---|
触发器类型 | 选择RocketMQ触发器。 | RocketMQ触发器 |
名称 | 填写自定义的触发器名称。 | rocketmq-trigger |
版本或别名 | 默认值为LATEST,支持选择任意函数版本或函数别名。 | LATEST |
RocketMQ 实例 | 选择已创建的RocketMQ实例。 | - |
Topic | 选择已创建的RocketMQ实例的Topic。 | - |
Group ID | 选择已创建的RocketMQ实例的Group ID。 | - |
消费位点 | 选择消息的消费位点,即触发器从RocketMQ实例开始拉取消息的位置。取值说明如下。 最新位点:从最新位点开始消费。 最早位点:从最早位点开始消费。 指定时间戳:从指定时间戳开始消费。 |
最新位点 |
调用方式 | 选择函数调用方式。 同步调用:指触发器消费topic消息后投递到函数是同步调用,会等待函数响应后继续下一个消息投递。 异步调用:指触发器消费topic消息后投递到函数是异步调用,不会等待函数响应,可以快速消费事件。 |
同步调用 |
用户ID | RocketMQ实例用户ID,需要在RocketMQ控制台创建。 | - |
密钥 | RocketMQ实例用户密钥,需要在RocketMQ控制台创建。 | - |
触发器启用状态 | 创建触发器后是否立即启用。默认选择开启,即创建触发器后立即启用触发器。 | - |
推送配置 | 批量推送条数:批量推送的最大值,积压值达到后立刻推送,取值范围为 [1, 10000]。 批量推送间隔:批量推送的最大时间间隔,达到后立刻推送,单位秒,取值[0,15]。默认0无需等待,数据直接推送。 推送格式:函数收到的事件格式,详情请查阅触发器事件消息格式。 |
- |
重试策略 | 消息推送函数失败后重试的策略,共两种: 指数退避:指数退避重试,重试5次,重试周期为2,4,8,16,32(秒)。 线性退避:线性退避重试,重试5次,重试周期为1,2,3,4,5(秒)。 |
- |
容错策略 | 当重试次数耗尽后仍然失败时的处理方式: 允许容错:当异常发生并超过重试策略配置时直接丢弃。 禁止容错:当异常发生并超过重试策略配置时继续阻塞执行。 |
- |
死信队列 | 当容错策略为:允许容错时,可以额外开启死信队列。当开启死信队列时且异常发生并超过重试策略配置时,消息会被投递到指定的消息队列里,当前只支持投递到kafka和rocketmq | - |