【发布时间】:2011-06-12 20:42:35
【问题描述】:
我将 DDD 用于面向服务的应用程序,旨在在大量网络客户端(即浏览器)之间传输大量消息。
因为在所需功能的情况下,传输需求大于存储需求,我喜欢主要依赖 RAM 并尽量减少数据库使用的想法。
但是,我不清楚如何从可扩展性的角度构建它。 Web 场创建服务端点和域逻辑处理的高可用性。但无论我有多少台服务器,似乎它们都必须共享一个公共存储库,以便它们的数据保持一致。
如何构建此存储库以使其尽可能具有可扩展性?如何以一种方式将它分散到一组物理机器上,使所有机器都保持一致,并且如果另一台机器出现故障,每台机器都不会在意?
此外,由于偶尔需要接触数据库(例如,当客户端丢失并且必须存储发送给它的消息直到它返回时),我应该如何组织基于内存的代码和数据访问层?它们都被视为“存储库”吗?
【问题讨论】:
标签: domain-driven-design repository scalability soa volume