分布式事务解决方案(四)【最大努力通知】

4. 最大努力通知方案(定期校对)

4.1 介绍

image

  • 实现
    • 业务活动的主动方,在完成业务活动处理后,向业务活动被动方发送消息,允许消息丢失
    • 业务活动的被动方根据定时策略,向业务活动的主动方查询,恢复丢失的业务消息
  • 约束:被动方的业务处理结果不影响主动方的业务处理
  • 成本:业务查询与校对系统建设成本
  • 适用范围
    • 对时间敏感性较低的业务
    • 对账
  • 用到的服务模式:可查询操作
  • 方案特点
    • 业务活动的主动方在完成业务处理后,向业务活动被动方发送通知消息(允许消息丢失)
    • 主动方可以设置时间阶梯型通知规则,在通知失败后按规则重复通知,直到通知N次后不再通知
    • 主动方提供校对查询接口给被动方,被动方按需校对查询,用于恢复丢失的业务消息
  • 行业应用案例
    • 银行通知,商户通知等
    • 对账文件

4.2 设计实现

  • 定时任务队列

4.3 优化

  1. 通知记录/通知日志可视化,手工触发
  2. 考虑吧通知服务做的更通用,通知队列区分,不同队列不同规则等
  3. 保证通知服务的可用性,必要时建立独立的数据库
  4. 要求被动方处理通知接收的业务接口要实现幂等性
  5. 内存调优与流量控制(生产速率不匹配,导致大量消息驻留在消费端内存中)
阅读更多
个人分类: 分布式开发技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭