如何设计合并操作类似于Quora主题



我正在尝试设计一个应用程序,在该应用程序中,用户协作建立存储库,类似Quora:

  • 问题将有主题(主题ID引用)。
  • 每个主题都可以具有父母主题和子话题(主题ID引用)。

我试图了解如何设计合并操作。

  • 用户应该能够合并另一个(将保持合并日志)。
  • 如果发现错误的话,他们也应该能够解开。
  • 当想要找到与主题相关的答案时,我应该能够从当前主题和合并到该主题的答案中获得答案。
  • 当我访问问题时,只能看到合并的主题。

问题是

合并发生时应执行哪些操作,如果合并到其中的主题,将其添加到其下的所有问题或保持原样的所有问题,然后添加合并主题的参考

显示与主题相关的答案时,也可以通过合并的参考ID搜索主题的参考ID并循环。

做到这一点的方法是文档管理系统的开发方式。因此,想法是在每次合并完成后都要编译文档并提供。

以这种方式,该主题的副本只有一个副本,并在执行搜索,存储或负责分发的系统中索引。

应该将对主题的引用保持分开,并且在每次合并中,应重新创建文档

由于在这些情况下最终的一致性很重要(因此该文档可以始终保留并从缓存中引用/删除)

希望这会有所帮助。请查看Twitter Architechture获取接近实时数据http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-uses-to-deal-with-with-with-150m-active-users.html

最新更新