Python多处理管理器服务器架构

Python多处理管理器服务器架构,python,multiprocessing,python-multiprocessing,Python,Multiprocessing,Python Multiprocessing,我正在使用多处理管理器为Flask应用程序设置共享内存。 我有以下两个实验脚本。它的工作原理很简单。我运行“服务器”脚本,它提供服务,然后运行客户端脚本,它连接 服务器 from multiprocessing.managers import BaseManager from my_library import some_function def get_obj(collection='kenya'): obj = my_library.some_function(collec

我正在使用多处理管理器为Flask应用程序设置共享内存。 我有以下两个实验脚本。它的工作原理很简单。我运行“服务器”脚本,它提供服务,然后运行客户端脚本,它连接

服务器

from multiprocessing.managers import BaseManager
from my_library import some_function
    
def get_obj(collection='kenya'):
    obj = my_library.some_function(collection)
    return obj


manager = BaseManager(('', 37844), b'password')
manager.register('get_obj', get_obj)
server = manager.get_server()
server.serve_forever()
客户

from multiprocessing.managers import BaseManager 

manager = BaseManager(('', 37844), b'password')
manager.register('get_obj')
manager.connect()

result = manager.get_obj('kenya')
print(result)
这在我的笔记本电脑上没有问题。转到部署场景,服务器脚本将位于本地主机上,而客户端位于容器中。我使用的是Dokku(它的工作原理与Heroku几乎相同,基本上创建了一个Docker容器)。我通常知道如何使用Docker映射端口,但我不知道这个manager服务器实际上在做什么。我想了解:

一般来说这台服务器是什么?它是一个网络服务器吗?WSGI?它像古尼康吗

特别是当Dokku问我端口映射要使用什么模式时,我应该放什么?http?ftp?还有别的吗?谢谢

或者如果您认为我应该在容器中运行服务器,而不是在本地主机上运行flask部署,以及关于如何执行此操作的任何提示

请注意,我已经阅读了以下内容:

细节上有点太少了:

服务器进程管理器比使用共享内存对象更灵活,因为可以使它们支持任意对象类型。此外,单个管理器可以由网络上不同计算机上的进程共享。但是,它们比使用共享内存慢

我不知道这是什么意思。(它们如何通过网络进行通信?为什么它们的速度较慢?)