Я изучаю RabbitMQ и думал об использовании его для предоставления пользователям обновлений «динамических сообщений», очень похоже на то, как facebook дает динамические ленты от друзей.
Моя идея была:
Каждый раз, когда создается пользователь, я буду создавать очередь с именем пользователя userId, поэтому имя очереди может быть "
100_message_queue
" (userId_message_queue).Производитель отправит все обновления в эту очередь.
Со стороны клиента (javascript) он вызовет REST API, например «
GET http://example.com/getliveupdates/100
», затем я получу все новые обновления из100_message_queue
и отправлю его в качестве ответа.
Я читал руководства по RabbitMQ php, но не могу понять, как это возможно? Более того, потребитель работает вечно, поэтому кажется, что я не могу сделать никаких запросов REST. Это дает мне тайм-аут.
Есть идеи, как реализовать такую структуру?
Спасибо