Предложение по созданию архитектуры для API веб-сокетов - PullRequest
0 голосов
/ 15 января 2019

Я создаю API веб-сокетов на python, используя python WebSockets . В соответствии с услугами, которые я использую в своем API, мне нужно обернуть их потоками. Поэтому я должен сделать так, чтобы мои веб-сокеты asyncio ожидали, пока поток выводит данные для ответа.

Я обнаружил, что существует множество способов реализовать такую ​​услугу. Я могу использовать потоков + собственный Python сокет модуль или мультиплексирование (Python селектор модуль) + Python сокет модуль или многопоточность + Python сокет модуль или нити + асинхронный питон веб-сокеты .

Я хочу, чтобы сервис python для веб-сокетов работал следующим образом. Мой клиент отправляет данные на сервер. Сервер запускает thread_1, который каким-то образом модифицирует заданные данные, затем передает измененные данные в thread_2, который изменяет их еще раз, а затем возвращает дважды измененные данные в качестве ответа клиенту. Как я ожидаю, клиент не будет ждать ответа от сервера, чтобы отправить следующий пакет данных, но если сервер вернет какой-либо результат, клиент его обработает. Другими словами, клиент и сервер должны работать в асинхронном порядке. Хотя было бы здорово, если бы вы предложили некоторые материалы, которые помогут мне достичь цели в этом вопросе.

1 Ответ

0 голосов
/ 15 января 2019

Один из способов реализовать такую ​​архитектуру - объединить многопоточность с асинхронными веб-сокетами. Эта цель достигается с помощью asyncio executors .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...