Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Heroku服务器上使用ZeroRPC的最佳方法_Python_Heroku_Flask - Fatal编程技术网

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

Python 在Heroku服务器上使用ZeroRPC的最佳方法,python,heroku,flask,Python,Heroku,Flask,我们之所以使用Heroku是因为历史原因,我有一个很棒的基于ZeroRPC的服务器,我很想在Heroku服务上安装它。我对这些基于“云”的平台施加的限制有点天真,但大多数平台不允许打开任意套接字。因此,我要么做一些端口转发技巧,要么放置一个web前端(如Flask)来接收请求并将其转发到ZeroRPC后端。我没有刚刚做过Flask/ZeroRPC的原因是它感觉很尴尬(我的前端体验基本上是零),但我假设我会设置RESTful路由,然后将内容转发到ZeroRPC…head scratch 也许以一种

我们之所以使用Heroku是因为历史原因,我有一个很棒的基于ZeroRPC的服务器,我很想在Heroku服务上安装它。我对这些基于“云”的平台施加的限制有点天真,但大多数平台不允许打开任意套接字。因此,我要么做一些端口转发技巧,要么放置一个web前端(如Flask)来接收请求并将其转发到ZeroRPC后端。我没有刚刚做过Flask/ZeroRPC的原因是它感觉很尴尬(我的前端体验基本上是零),但我假设我会设置RESTful路由,然后将内容转发到ZeroRPC…head scratch


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

根据Heroku规范,您应该侦听在env中为您的应用程序提供的单个端口。变数

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

但是您应该期望您的ZeroRPC在端口80上得到服务

可能的问题:

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

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