RocketMQ触发器 RocketMQ触发器可以订阅分布式消息服务RocketMQ并根据消息触发关联的函数,借此能力,使得函数可以消费指定topic的消息,执行自定义处理逻辑。 注意事项 RocketMQ触发器订阅的分布式消息服务RocketMQ实例必须和函数计算的函数实例在相同地域。 前提条件 创建函数。 开通分布式消息服务RocketMQ实例(RocketMQ引擎类型),详情请参考开通RocketMQ实例。 创建Topic和GroupID。 创建用户,且默认Topic权限设置为:PUBSUB,默认消费组权限为SUB。详情请参考创建用户。 操作步骤 1. 登录函数计算控制台,点击目标函数,进入函数详情。 2. 选择详情下顶部的配置选项卡。 3. 在配置 选项卡中,选择左边的触发器选项卡。 4. 点击创建触发器 ,在弹出的右抽屉中选择RocketMQ触发器,配置参数解释如下。 配置项 操作 示例 触发器类型 选择RocketMQ触发器。 RocketMQ触发器 名称 填写自定义的触发器名称。 rocketmqtrigger 版本或别名 默认值为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