背景
在做业务开发时,经常会遇到一些问题及一些通用的模式;
重试
回调
幂等
推VS拉
延时
多系统间数据一致性
业务场景1:先更新数据库、再更新缓存,如果数据库更新成功缓存更新失败,如何保证缓存可以更新成功?
业务场景2:先更新数据库、再调用外部接口并取得外部接口结果,如何保证数据库操作成功、外部接口也调用成功?
思路1:本地事务化,事件发生在哪个系统,将事件记录到本地数据库(本地事务),通过补偿重试或回滚机制保证最终一致;
异步处理业务
发送邮件、发送失败如何处理;
在做业务开发时,经常会遇到一些问题及一些通用的模式;
业务场景1:先更新数据库、再更新缓存,如果数据库更新成功缓存更新失败,如何保证缓存可以更新成功?
业务场景2:先更新数据库、再调用外部接口并取得外部接口结果,如何保证数据库操作成功、外部接口也调用成功?
思路1:本地事务化,事件发生在哪个系统,将事件记录到本地数据库(本地事务),通过补偿重试或回滚机制保证最终一致;
发送邮件、发送失败如何处理;
上一篇 Hbase安装启动
下一篇 code review杂谈