0

我正在使用 Apache 和 Django 开发一个 Web 应用程序应用程序,用户在其中与数据模型(包装到 Python 中的 C++ 实现)进行交互。

为了避免在每次用户操作后在文件或数据库中加载/保存数据,只要用户连接到应用程序,我更喜欢将数据模型保留在内存中。到目前为止,数据模型都存储在附加到 Web 服务的变量中。由于在 Apache 下运行的 Python 有时会出现奇怪的行为,我更喜欢将用户操作执行到单独的 python 进程中,今天在同一台服务器上,也许明天在不同的节点上。

我的印象是分布式计算库(dispy、dask 分布式)无法将内存连接到节点。有没有人对我可以使用哪些库有解决方案/想法?

4

1 回答 1

0

简单的答案:不要再浪费时间去做那些在典型的 Web 服务器上永远无法正常工作的复杂事情,并将数据存储在数据库中(不必是 mysql 数据库 FWIW)。

最长的答案:在生产环境中,您通常有几个并行(子)进程处理传入的请求,并且这些进程中的任何一个都可以随时为任何用户提供服务,因此将您的数据保存在进程中的内存中永远不会可靠地工作。这是设计使然,这是一个理智的设计,因此试图与之抗争只是浪费时间和精力。Web 服务器进程并不意味着在请求之前保留数据,这就是您的数据库的用途,因此请使用它。

于 2017-07-24T11:34:19.937 回答