在Heroku服务器上使用ZeroRPC的最佳方式

时间:2014-01-26 04:03:50

标签: python heroku flask

我们使用Heroku是出于历史原因而且我有一个非常棒的基于ZeroRPC的服务器,我很乐意在Heroku服务上使用它。对于基于这些“基于云”的平台所施加的限制,我有点天真,但大多数都不允许打开任意插槽。因此,我要么必须做一些端口转发技巧,要么放置一个Web前端(如Flask)来接收请求并将它们转发到ZeroRPC后端。我之前没有完成Flask / ZeroRPC的原因是它感觉很尴尬(我的前端体验基本上是零),但我假设我会设置RESTful路线,然后只需将内容转发给ZeroRPC ...... ....

也许以更开放的方式提出问题;我正在寻找关于如何最好地在Heroku上部署基于ZeroRPC的服务的建议(顺便说一下,我知道dotCloud / Docker在内部使用zeroRPC,但我也不确定我是否可以在其上部署我自己的ZeroRPC服务器。)

1 个答案:

答案 0 :(得分:0)

根据Heroku规范,您应该收听在环境中提供给您的应用程序的单个PORT。变量

如果您的应用程序只需要单个端口(对于ZeroRPC),您可能会很幸运。

但是你应该期望你的ZeroRPC在端口80上提供。

可能出现的问题:

  • 不确定,如果Heroku允许HTTP协议以外的其他协议。它应该在开始测试后尝试连接到您的应用程序,它已启动并运行。有可能,测试将尝试执行一些可能因ZeroRPC服务而失败的HTTP请求。
  • 用户身份验证怎么样?您必须在ZeroRPC本身中构建一些安全性,或者接受向匿名客户公开提供服务。

建议的步骤:

  • 尝试在端口上提供ZeroRPC服务,Heroku为您提供。
  • 而不是在ZeroRPC前面设置HTTP代理,检查PyPi是否为" RPC"。有很多库已通过HTTP服务。