Я с нетерпением жду разработки API-интерфейса реального времени для моего веб-приложения с использованием Websocket. Для этого я использую RabbitMQ в качестве брокера, а My backend основан на python (gevent + websocket) и Pika / Puka в качестве клиента rabbitmq.
Проблема, с которой я здесь сталкиваюсь, заключается в том, как мы можем использовать websocket для соединения с rabbitMQ. После первоначального установления соединения через веб-сокет объект сокета ожидает новых сообщений от клиента, а в случае rabbitMQ нам нужно настроить для него получателя, чтобы он обрабатывал сообщение при получении. Мы можем принять это таким образом,
- Клиентам устанавливается соединение с сервером через полнодуплексный веб-сокет.
- Все клиенты должны действовать как потребитель RabbitMQ после первоначального рукопожатия websocket, поэтому они все получают обновления, когда клиент получает какое-либо сообщение.
- Когда новое сообщение поступает в websocket, этот клиент отправляет его в RabbitMQ, поэтому в настоящее время этот клиент выступает в роли издателя.
Проблема в том, что Websocket ожидает нового сообщения, а потребитель RabbitMQ ожидает нового сообщения на своем канале. Мне не удалось связать эти два случая.
Я не уверен, что это неправильный метод ...
Я не могу найти метод для реализации этого сценария. Если я иду не в ту сторону или есть какой-то альтернативный метод? Пожалуйста, помогите мне исправить это.
Спасибо,
Харидас Н.