需求如下
举个例子
秒杀活动开始,用户下单购买商品,然后创建订单号发送到交易系统中,但是订单号并不是由系统生成的,而是由用户自己输入的(虽然这个需求很奇怪,但是就假设他一定要这么做吧),成功下单后会有下单记录,所以需要即时响应给用户告知其是否下单成功
需求 1+3,直接往 redis 里面丢,持久化就丢进队列让他慢慢写 db,不管唯一了,梭哈!但是行为队列程序是后期再进行持久化,这样就无法甄别数据唯一这个奇怪的需求了
需求 2+3,直接往 db 里面丢就完了,梭哈!但是此场景是会出现高并发的情况,db 的处理能力无法满足到需求 1 。
需求 2+1,我想到的是用 redis 等缓存服务,把所有交易的订单号塞进去,这样就能高效地实现判断数据是否唯一了。但是内存比较昂贵,订单长年累月下了数据量巨大,可能满足不了需求 3 ?
想请教一下有没有解决方案,难道是 redis 机器堆起来梭哈?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.