Orion订阅通知发送失败时是否会触发自动重试机制?
Orion订阅通知失败重试规则
核心结论
Orion 原生默认逻辑下,订阅通知发送失败不会自动重试。
当通知请求出现网络连接故障、超时、接收端返回非2xx状态码等情况时,Orion会直接判定本次通知发送失败,不会在后台自动发起重传,瞬时通信故障导致的通知丢失是原生部署下的正常表现。
重试能力实现方案
如果需要覆盖瞬时故障场景、避免通知丢失,可通过以下两种方式实现可靠通知:
- 开启持久化通知模式
启动Orion实例时添加启动参数-notificationMode persistent,开启后所有发送失败的通知会被持久化写入后端MongoDB的订阅记录中,你可以自行编写定时扫描任务,按照业务需要的重试间隔、最大重试次数手动触发失败通知的重发。 - 前置消息队列做可靠转发
在两个Orion实例之间部署消息队列(如RabbitMQ、Kafka)作为缓冲层,发送端Orion将通知推送到消息队列,依靠消息队列自身的消息ACK机制、死信队列能力保证通知可靠投递到对端Orion的/v2/op/notify接口,这种方案对业务侵入性更低,可靠性也更高。
配置排查提示
你当前配置的接收接口路径为
/v2/op/nofity,存在拼写错误,Orion标准的通知接收接口路径为/v2/op/notify,路径拼写错误会导致接收端持续返回404,表现为持续通知失败,建议优先核对订阅配置中的接收地址正确性。
内容的提问来源于stack exchange,提问作者ryo susuki
相关产品推荐
相关产品推荐

