type
status
date
slug
summary
tags
category
icon
password
AI summary
Last edited time
Dec 19, 2024 04:51 AM
解决问题
日常使用 spring 的 application event 实现业务解耦时,默认实现无法跟踪事件是否正常发送,下游业务是否正常消费。
例如用户下单成功后,需要给用户发送邮件通知,普通代码如下
以上代码有小概率出现 邮件发送成功,用户下单失败数据库回滚场景
改良后的代码如下
以上写法,能够保证数据库提交后才触发发送短信发送操作,但是无法保证邮件发送操作正常完成(例如邮件网关拒收)
改进方案
本地消息表设计

框架代码封装
todo
其他衍生问题
高并发业务,事件表、事件处理记录的分表设计、归档设计
📎 参考文章
- 一些引用
- 引用文章