Простой (или потоковый) протокол текстовых сообщений ( STOMP ), ранее известный как TTMP, представляет собой простой текстовый протокол , разработанный для работы с промежуточным программным обеспечением, ориентированным на сообщения (MOM). Он обеспечивает совместимый проводной формат, который позволяет клиентам STOMP общаться с любым брокером сообщений, поддерживающим протокол.
Обзор
Протокол в целом похож на HTTP и работает через TCP с использованием следующих команд:
- СОЕДИНЯТЬ
- ОТПРАВИТЬ
- ПОДПИСЫВАТЬСЯ
- ОТПРАВИТЬСЯ
- НАЧИНАТЬ
- СОВЕРШИТЬ
- ПРЕРЫВАТЬ
- ACK
- NACK
- ОТКЛЮЧИТЬ
Связь между клиентом и сервером осуществляется через «фрейм», состоящий из нескольких строк. Первая строка содержит команду, за которой следуют заголовки в форме <ключ>: <значение> (по одному в каждой строке), за которыми следует пустая строка, а затем текст тела, заканчивающийся нулевым символом . Связь между сервером и клиентом осуществляется через кадр СООБЩЕНИЕ, ПОЛУЧЕНИЕ или ОШИБКА с аналогичным форматом заголовков и содержимого тела.
Реализации
Вот некоторые продукты MOM, которые поддерживают STOMP:
- Apache ActiveMQ , также известный как Fuse Message Broker
- HornetQ
- Открытая очередь сообщений (OpenMQ)
- RabbitMQ (брокер сообщений, поддерживает STOMP )
- syslog-ng через плагин назначения STOMP
Список реализаций также поддерживается на веб - сайте STOMP.