Поддержка OpenWhisk веб-сокетов и статических сайтов - PullRequest
1 голос
/ 11 июня 2019

Я выбираю безсерверную платформу для своих проектов. Я изучил AWS и обнаружил, что он чрезмерно сложен: они предоставляют огромную кучу настроек, но некоторые базовые сценарии слишком сложны для реализации.

Другая перспективная для меня платформа - это IBM Cloud с OpenWhisk. И я хотел бы проверить, реализованы ли необходимые возможности или в ближайших планах к реализации.

Вопросы * * 1005 Могу ли я использовать веб-сокет для своих функций в качестве триггера для подключения, сообщения и отключения? Я нашел только полугодовое обсуждение и больше ничего. Но эта функция востребована для приложений реального времени. Могу ли я иметь статические веб-сайты как в моем пользовательском домене, так и в подпути? Я видел рецепты, в которых использовались док-контейнер и лямбда-функции. Но написание моей собственной реализации Nginx выглядит чепухой. Но эта функция также настоятельно требуется для одностраничных приложений (SPA), и в одном домене может быть несколько таких SPA.

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

Поддержка веб-сокетов для прокси-сервера ActionLoop (используется Go, Swift, Python, PHP, Rust и Java) здесь: https://github.com/sciabarracom/incubator-openwhisk-runtime-go/tree/websocket-support.

Может использоваться для создания сред выполнения, которые поддерживают веб-сокет, но вам нужноразвернуть среду выполнения самостоятельно с помощью Kubernetes.Поддержка была отложена, поскольку интеграция OpenWhisk с Knative - лучший способ включить ее в OpenWhisk.

0 голосов
/ 11 июня 2019

Этот блог с обзором функций IBM Cloud содержит ссылки и ответы на ваш второй вопрос. Существуют учебные пособия по использованию пользовательских доменов с IBM Cloud Functions в качестве бэкэнда для приложений (см. Этот учебник со статической страницей / настраиваемый домен SPA и рецепты для Express и Flask ).

В IBM Cloud Functions также есть пакет для публикации в Websockets . AFAIK есть функциональность для прослушивания Websockets. Насколько я понимаю, что отсутствие сервера несовместимо с «всегда включенной» природой Websockets , и для безсерверной среды выполнения потребуется интерфейс API или аналогичный шлюз для управления связью. Если что-то получено, действие будет вызвано.

...