Гарантия Kafka Real-Time

Может ли Kafka гарантировать, что потребитель видит сообщение x ms после его (успешного) выпуска?

Задний план:

У меня есть система, в которой служба A принимает запросы. Служба B должна быть в состоянии ответить, сколько запросов поступило к определенному времени. Обслуживание B должно быть точным. Мой план:

  • Служба A принимает запросы, она выдает сообщение и ждет подтверждение хотя бы одной реплики. По мере того как он получит его, он отправит пользователю, что его запрос «в системе».

  • Когда задается услуга B, я жду x ms. Затем я проверяю тему для новых запросов. Поэтому я знаю 100% состояние службы A в «now () - x ms».

В этом случае Kafka должен гарантировать, что я могу потреблять сообщение максимум X ms после его создания. Это так?

apache-kafka,real-time,

0

Ответов: 1


0 принят

В Kafka сообщения доступны для потребления, когда высокий водяной знак был увеличен. Это гарантировано после того, как будет выполнено минимальное количество синхроимпульсов. Компромисс здесь - долговечность. Если вам требуется более низкая латентность, только подтверждение у лидера происходит быстрее. Однако это не так долго, как ожидание 2 в синхронизирующих репликах. Когда вы отвечаете «когда я могу потреблять?», Вы действительно отвечаете «когда сообщение было подтверждено как написанное Кафкой?»

апач-Кафки, в режиме реального времени,
Похожие вопросы