我有一个分布式应用程序。这里有一组进程,遍布多台计算机,相互通信。我有一个数据结构,在这些过程中进行了修改。这不存储在数据库中。
现在的问题是如何在所有流程中保持对此数据结构的相同视图
即,在任何时候,所有进程都应该看到相同的数据结构
答案 0 :(得分:1)
你说你没有数据库。这是一种耻辱,因为数据库作者已经解决了您的问题。您需要在项目中加入等效技术。显然,采用数据库技术的最快速,最简单的方法是合并数据库。
答案 1 :(得分:1)
Redis旨在解决您的问题。它是一个键值存储,用于在不同计算机上运行但共享数据的程序之间共享。它是您在某处运行的服务器,您的程序都使用它提供的客户端库连接到此服务器。
您也可以使用mysql这样的数据库,但使用in-memory表。
如果您的数据结构不能很好地适应键值或关系模型,那么您就会遇到与多玩家游戏相同的情况。同步多人游戏并不是一件容易的事情,但可以做到这一点,这里有一个很好的介绍:gafferongames.com
答案 2 :(得分:0)