2014-01-26 3 views
5

Мы используем Heroku по историческим причинам, и у меня есть этот удивительный сервер на основе ZeroRPC, который я бы хотел смириться с сервисом Heroku. Я немного наивен вокруг ограничений, налагаемых для этих «облачных» платформ, но большинство из них не позволяют открывать произвольный сокет. Поэтому мне придется либо сделать трюк для переадресации портов, либо разместить веб-интерфейс (например, Flask), чтобы получать запросы и пересылать их на сервер ZeroRPC. Причина, по которой я не просто сделал Flask/ZeroRPC, - это то, что он чувствует себя неловко (мой опыт переднего плана в основном нулевой), но я предполагаю, что настрою маршруты RESTful, а затем просто отправлю материал в ZeroRPC ... head scratch ....Лучший способ использования ZeroRPC на сервере Heroku

Возможно, задавая вопрос более открытым способом; Я ищу предложения о том, как лучше всего развертывать службу на основе ZeroRPC на Heroku (кстати, я знаю, что dotCloud/Docker использует zeroRPC внутри, но я также не уверен, могу ли я на нем установить собственный сервер ZeroRPC).

ответ

0

Согласно спецификации Heroku, вы должны слушать один PORT, который предоставляется вашему приложению в env. переменная.

Если вашему приложению требуется только один порт (для ZeroRPC), возможно, вам повезет.

Но вы должны ожидать, что ваш ZeroRPC обслуживается на порту 80.

Возможные проблемы:

  • не уверен, если Heroku позволяет кроме протоколов HTTP. Он попытается подключиться к вашему приложению после того, как он начнет тестирование, он работает и работает. Возможно, тест попытается выполнить некоторый HTTP-запрос, который, скорее всего, потерпит неудачу с помощью службы ZeroRPC.
  • Что относительно аутентификации пользователей? Вам нужно будет создать некоторую безопасность в самом ZeroRPC или принять публичное предоставление услуги анонимным клиентам.

Предлагаемые шаги:

  • попытка предоставления услуг ZeroRPC на порту, Heroku предоставляет вам.
  • вместо настройки HTTP-прокси перед ZeroRPC, проверьте PyPi для «RPC». Существует множество библиотек, обслуживающих уже через HTTP.
Смежные вопросы