MQ (RabbitMQ) vs Web Service (REST)
От: frontsquat  
Дата: 29.06.12 14:26
Оценка:
Здравствуйте.

Задался таким вопросом (в скобках уточнение, что именно интересует). В моей задаче сервер должен уметь в реальном времени сообщать всем клиентам об определенных событиях. Причем определенный вид таких событий должен быть подтвержден человеком-оператором на стороне клиента. И до момента такого подтверждения, событие должно передаваться даже вновь подключившимся клиентам (которые на момент возникновения события были отключены). Сюда же можно отнести всякие труднопрогнозируемые неприятности в виде падений клиента(ов) или даже сервера. Это не должно позволить событию остаться незамеченным. И вот пришла идея попробовать применить MQ. Что теряю в этом случае? Наверно возможность реализации тонкого клиента, что легко позволяет делать REST. Но взамен получаю надежный асинхронный двунаправленный канал связи. В случае же REST, нужно каким-то образом самому реализовывать server push (будет это long polling или WebSocket). Можно ли в общем сделать такой вывод, что если требуется классический клиент-сервер работающий по схеме запрос-ответ, то однозначно выбираем REST; но если нужна двухсторонняя надежная связь, то MQ будет наиболее гибким решением, пусть и в ущерб простоте создания тонких клиентов? Или я что-то упускаю из виду?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.