Сообщение об удалении очереди сообщений после того, как все подписчики получат его

Я новичок в очереди сообщений. Назовите его RabbitMQ, Service Bus, Kafka и т. Д. Я пытаюсь найти решение, которое позволит m отправлять сообщения (очередь / тема) конкретному абоненту / получателю, и очередь / тема будет удалить после того, как все мои подписчики получили сообщение. Подобно,

Производитель -> Q1 только для sub1 и sub2. sub2 получает сообщение, затем sub1 получает сообщение. Теперь сообщение удаляется. Моих подписчиков может быть больше 2. Так есть ли решение для обмена сообщениями, которое помогает в этом сценарии

1 ответ

Почему вы хотите удалить сообщение после его использования? Используя что-то вроде Apache Kafka, вы можете независимо получать сообщения из нескольких приложений, а Kafka отслеживает, какие сообщения вы использовали (чтобы не дублировать их). Преимущество их удаления заключается в том, что вы можете повторно обрабатывать их, если это необходимо (например, ваш код содержит ошибку и нуждается в повторной обработке). Преимущество также заключается в том, что вы можете использовать те же данные в других местах ваших систем, например, чтобы передать их в хранилище данных для аналитики и т. Д.

Вот справочник, сравнивающий Apache Kafka с другими решениями для обмена сообщениями.

Другие вопросы по тегам