我们有一个关系数据库表来累积客户的订单。订单具有不同的类型和参数以及它们的生命周期(例如,新的,修改,更新,取消等)。
要求:
我们需要一个满足上述所有要求的服务器端应用程序。
问题:
我将很高兴听到建筑和技术理念。 谢谢。
答案 0 :(得分:3)
Hazelcast是Oracle Coherence的分布式缓存实现和免费开源替代方案,它还支持Write-behind和Continuous Query机制,这些机制可以解决您的三个问题。
消息传递中间件是另一种可用于解决问题的选项。
请注意,通过消息传递,您可以同时获得高可用性,可靠性和可伸缩性。
假设您使用Oracle作为数据库,至少有以下问题1-3:
事实上,您可以考虑上述方法的组合,以实现特定案例的最佳性能和可扩展性。
我没有考虑迁移到NoSQL数据存储区,因为IMO,NoSQL解决方案不适合数据一致性至关重要的应用程序,我认为这是你的情况。
答案 1 :(得分:2)
在这种情况下,CQRS设计模式可能是合适的 see here, Martin Fowler's article
想法是分离选择和插入/更新命令