我有一个 python(嗯,它现在是 php,但我们正在重写)函数,它接受一些参数(A 和 B)并计算一些结果(在图中找到从 A 到 B 的最佳路径,图是只读的),在典型场景一次调用需要 0.1s 到 0.9s 完成。用户可以通过简单的 REST Web 服务 (GET bestpath.php?from=A&to=B) 访问此功能。当前的实现非常愚蠢-它是一个简单的php脚本+apache+mod_php+APC,每个请求都需要加载所有数据(php数组中超过12MB),创建所有结构,计算路径并退出。我想改变它。
我想要一个具有 N 个独立工作人员的设置(每台服务器 X 和 Y 个服务器),每个工作人员都是一个循环运行的 python 应用程序(获取请求 -> 处理 -> 发送回复 -> 获取请求...),每个工作人员都可以处理一次一个请求。我需要一些可以充当前端的东西:从用户那里获取请求,管理请求队列(具有可配置的超时)并一次向我的工作人员提供一个请求。
如何解决这个问题?你能提出一些设置吗?nginx + fcgi 或 wsgi 还是别的什么?代理?如您所见,我是python、反向代理等方面的新手。我只需要一个关于架构(和数据流)的起点
顺便提一句。工作人员正在使用只读数据,因此无需维护它们之间的锁定和通信