MongoDB架构设计,以支持应用程序水平扩展

时间:2018-06-13 16:35:13

标签: mongodb database-design architecture transactions mongodb-java

我在MongoDB数据库中有两个集合:

posts
user_clicks

posts集合中,我存储了有关用户发布的帖子的信息。 在user_buttons中,我将用户在这些帖子中存储有关按下按钮的信息。

另外,在posts中,我存储了每个totalButtonClicks文档中所有用户的post信息。

因此,当用户点击时我必须执行两个操作:

  1. user_buttons集合添加/更新文档,了解按钮上新增/更改的点击次数。
  2. 更新totalButtonClicks中与post集合中点击的按钮相关的posts个计数器。
  3. 在这里,我可能遇到数据不一致问题,因为AFAIK MongoDB仅在文档级别支持事务,但根据上述逻辑,我必须更新两个不同的文档。

    你能否建议一下这个......可能是设计问题,可以用MongoDB有效解决。请注意,单个post可以关联数千个相应的用户按钮点击。

    另外,我需要在群集上扩展系统。当上述逻辑同时在集群中的不同应用程序实例上工作以平衡负载时,如何使用MongoDB正确设计此逻辑。

0 个答案:

没有答案