Может кто-нибудь объяснить мне, в каких случаях я должен рассмотреть использование AMQP, например, RabbitMQ? Каковы плюсы и минусы?
Может кто-нибудь объяснить мне, в каких случаях я должен рассмотреть использование AMQP, например, RabbitMQ? Каковы плюсы и минусы?
Ответы:
Представьте, что у вас есть веб-сервис, который может принимать много запросов в секунду. У вас также есть система бухгалтерского учета, которая делает много вещей, одной из которых является обработка запросов, поступающих от веб-службы.
Если вы поставите очередь между веб-службой и системой учета, вы сможете:
Конечно, у вас могут быть более сложные ситуации, когда количество ваших приложений намного больше, чем два, и вам необходимо управлять связью между ними.
Помимо обеспечения буфера между веб-службой и другой серверной службой, очереди сообщений могут использоваться для более сложных сценариев. Rabbit MQ (и другие зрелые продукты очереди сообщений, также называемые MOM - Message-Oriented Middleware) можно настроить для маршрутизации и распространения сообщений в соответствии с другими правилами.
Например, метод маршрутизации Pub-Sub позволяет одному источнику отправлять сообщение и получать его могут многие слушатели. Это обычно используется программным обеспечением для торговли акциями, чтобы держать пользователей в курсе обновлений.
Также из-за того, что у большинства MOM есть sdks для разных языков и платформ, их можно использовать для интеграции приложений, написанных на разных платформах.
Это лишь некоторые из сценариев, включенных MOM.