要求:实时获取当天订单的数据,比如今天 17:00 要获取的是 00:00-17:00 的数据
当时的设计:用户下单的时候用异步队列处理数据统计部分,不要影响正常的订单流程,这样订单表和订单统计表就完全独立,但是具体的方案是 有一个日志表 log 去记录所有和订单有关的操作(下单-支付-退款等),并且每一步操作也有具体的金额相关字段, 但是问题就在于 前面提到的异步队列 是定时的从 log 表去读这些操作日志 然后把响应的金额、数量等数据 写入订单统计表 所以做不到实时拿到当前整个平台的订单数据
问题: 1 、虽然 log 表确实必须得有,但是订单的统计为什么不能直接在订单操作的过程中直接把相关的数据写入统计表,而是要异步的定时任务去做?(比如支付后除了去继续进行订单流程外,还要把金额直接加到统计表中,而不是定时任务去统计) 2 、这样的设计有什么好处吗? 3 、更合适的方案是怎样的?
这个是以前的公司参与过的项目,但是问设计的人也没说为什么这样做
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.