Описание
RabbitMQ — отличное решение, если вы обрабатываете относительно немного сообщений, они небольшие и вам не важен порядок их доставки.
Программный брокер сообщений на основе стандарта AMQP, написанный на языке Erlang
Компоненты
Mnesia - распределённая СУБД реального времени
Сервер с HTTP и прочими библиотеками
Горизонтальное масштабировние
Оправитель - Puplisher
отправляет сообщение на
Обменники - exchange
отправляют в др обменники и очереди
При получении сообщения - отправляет сообщение отправителям
Получатель - consumers
Поддерживает постоянное TCP соединение и объевляет какую очередь читает
Rebbit пушит сообщения получателям
Получатели отправляют подтверждение успех/ошибка
После получения - сообщение удаляется из очереди
Гарантии доставки
-
Как минимум одна доставка
-
Как максимум однократная доставка
Модель доставки
Проталкивание - кролик сам отправляет сообщения
push
Очередь FIFO
QoS - Можно настроить ограничение на кол-во неподтверждённых сообщений
Чуть быстрее отправляет сообщения кафки
Умный сервер - Тупой клиент
Возможна репликация
Гарантия отправки сообщений последовательна
Сравнение
Только для событий которые происходят сейчас