Реализация длинного опроса в асинхронных веб-фреймворках, таких как Twisted или Klein. - PullRequest
0 голосов
/ 12 ноября 2018

Я относительно новичок в REST API и веб-разработке в целом. Я ищу варианты для клиентского запроса GET для получения данных постепенно / потоковой передачи, пока все данные не будут отправлены с некоторыми критериями:

  • Должен быть асинхронным (необходимо использовать Twisted / Klein в качестве каркаса), здесь только с Flask в качестве эталона.
  • Необходимость рендеринга на стороне сервера (у next.js есть опция с socket.io в здесь с реагировать -> это интерфейс, который я использую), я знаю, что это не связано, но приятно иметь чтение такие материалы, чтобы я мог склеивать / Франкенштейнизировать компоненты вместе.

my model

С сервера (python) Он должен быть получен от объекта генератора, верно? что меня смущает, так это лежащие в основе опции / причуды между websocket, длинным опросом и событиями, отправляемыми сервером, не говоря уже о таких фреймворках, как autobahn, WAMP и таких сервисах, как pushpin и crossbar.io, которые, по моему мнению, излишни для мой случай.

Причина, по которой я упоминаю их всех, состоит в том, чтобы спросить передовой опыт использования их с их многочисленными способами реализации (фу ...). Это немного ошеломляюще без достаточного опыта.

На уровне ядра (http заголовки / протоколы / curl), что на самом деле нужно установить на клиенте и сервере, учитывая мой сценарий? И звучит ли длинный опрос как решение? Асинхронизация - это хорошая идея?

Ссылка на чтение:

Что такое Long-Polling, Websockets, Отправленные сервером события (SSE) и Comet?

Мое понимание HTTP-опроса, длительного опроса, потоковой передачи HTTP и веб-сокетов

http://blog.fanout.io/2016/11/21/moving-from-polling-to-long-polling/

https://blog.al4.co.nz/2016/01/streaming-json-with-flask/

TL; DR: Лучшая практика реализации длинных опросов в асинхронном веб-сервере Python.

...