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

Bri*_*lie 5 python heroku flask

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

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

Jan*_*sky 0

根据 Heroku 规范,您应该监听环境中为您的应用程序提供的单个端口。多变的。

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

但您应该期望 ZeroRPC 在端口 80 上提供服务。

可能出现的问题:

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

建议的步骤:

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