我们正在构建一个saas平台,用于管理/分发旅行库存(酒店、租赁、长途汽车、餐馆、航空公司、铁路、活动和事件),并通过多种渠道分发它们。
在这个用例中,将有4种用户(旅行社、供应商、旅游运营商和客户),每个用户都可以从不同的web界面访问系统,这些界面根据他们管理库存和预订的需求进行调整。
在测试了一个原型后,我们发现即使我们对数据模型进行了反规范化,也很难确保使用mongo的多个用户的原子性。我们想知道是否有人遇到了同样的挑战,以及他们是如何解决的,因为启动应用程序将需要一个快速的持久层,以具有成本效益,并在12月15日处理超过5000名用户。
发布于 2012-10-29 23:26:25
您可以考虑对架构进行一些更改,以启用事务性行为。(优先级队列),并使用TTL-Collections来清除未完成预订的后台工作进程。
有一些模式设计幻灯片解释了如何在MongoDB中做到这一点。这里有一个例子:MongoDB State Machine
https://stackoverflow.com/questions/13089068
复制相似问题