В последнее время набирают популярность асинхронные, событийно-ориентированные архитектуры приложений, микросервисы и т.п. На этой волне развиваются такие фреймворки и сервисы как Akka, Rx4Java, RabbitMQ, Kafka, и др.
В потоке стремительно развивающихся технологий приходится периодически переоценивать сложившиеся традиции в использовании стандартов, протоколов и продуктов.
Предлагается обсудить подход к организации потоков сообщений в Java Middleware (и не только), отступающий от стандарта JMS, (благословленного JCP) в сторону AMQP.
Мы познакомимся с протоколом AMQP и его реализациями. Рассмотрим принципиальные отличия от JMS, поговорим об областях применимости — классах задач, когда использовать, например, RabbitMQ будет хорошей идеей, а когда — не очень. Сделаем обзор возможностей RabbitMQ, как использовать его через Spring и обсудим пару примеров применения технологии для конкретных задач.