场景一、 一般而言,toB 系统业务逻辑比较复杂,涉及使用事务的东西也比较多,这种是不是时候用消息队列如 kafka 之类的做流式处理,做业务解耦, 比如具体到一个很小的例子,在一个接口中处理如下业务逻辑 查询 A 业务表数据 -> 查询 B 业务表数据 -> 更新 A 业务表数据 -> 更新 B 业务表数据 -> 还有一些后续的逻辑处理(比如写入统计数据、发送短信等等),这里面加入队列来解耦,有比较好的实践么,为了某些一致性考虑,需不要要把加入队列包在事务里,如果加入队列失败,需不要把数据库操作回滚。
场景二、系统很多延时消息之类的,比如 xxx 时间点,提醒某某人做 xxx 事,这个时间点还经常变化,这种有么有用 kafka 去自己做延时消息的(后端是 php 技术栈)。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.