帮助我选择一个webservice平台来扩展现有的python webservice

2024-04-28 22:57:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的web服务,我需要大幅扩展。在

我正试图在各种web框架、负载均衡器、应用服务器(例如Mongrel2、Tornado和nginx、mod峈proxy)中决定该去哪里。在

我有一个现有的Python应用程序(当前通过BaseHTTPServer公开),它接受一些JSON数据(每个请求大约900KB),并返回一些JSON数据(大约1k)。这个处理是算法化的,用Python和一些C语言混合完成(通过Cython)。在

这已经进行了大量优化(从1小时开始,每项作业减少到1.1秒)。但我不能再乐观了。虽然我重写了一些更线程友好的东西,但我需要横向扩展(可能是ec2)。在

没有会话或状态,但应用程序的启动时间非常慢(即使是酸洗和兑现)。加载所有源数据大约需要3秒钟。一旦运行,每个请求大约需要1.1秒。我

也许我可以把一些拷贝转过来,然后反向代理它们?也许我可以在其中一个框架中创建一些有趣的工人资源库?但我仍然在未知的未知中。在


Tags: 数据算法框架webmodjson应用程序nginx
1条回答
网友
1楼 · 发布于 2024-04-28 22:57:04

首先,您应该将web服务层与数字处理分离开来。使用外部作业队列(例如http://celeryproject.org/)卸载web前端。然后可以相互依赖地缩放每个部分。在

您应该寻找IaaS类型的云提供商(EC2、Rackspace、Linode、Softlayer等),在那里您应该能够自动添加节点(首选的方法是启动一些预配置的映像以最小化节点设置时间)。在

相关问题 更多 >