А такой вопрос - реальна ли ситуация, что консюмер начнет

читать с earliest на грани с ttl сообщений, и перед вторым poll сработает ретеншен, который заденет так же данные которые должны были считаны вторым poll, и консюмер потеряет какие то данные ?

7 ответов

15 просмотров

Конечно реальна.

Petr-O. Автор вопроса
Вячеслав
Конечно реальна.

и как с подобным живут, понимаю что кейс 1 на миллион, но как с этим жить)?

Petr O.
и как с подобным живут, понимаю что кейс 1 на милл...

А в чём проблема-то? Начни он читать на минуту позже - он бы их и так потерял.

Petr-O. Автор вопроса
Вячеслав
А в чём проблема-то? Начни он читать на минуту поз...

предположим, что мы сложили историю топика из с3 в таблицу, в ней ключ X имеет значение 10 (X = 10) потом запустили процесс который из кафки обновляет эту таблицу, он начинает читать с самого начала - тк первый раз к ней подключается, он прочитал из первого poll - что ключ X=1, применил, (мы надеемся на eventually consistency, что в конечном итоге мы согласуемся с источником) во втором poll содержится что X=10, но мы его не получили, В итоге X = 1 , и останется им - пока X кто нибудь не обновит еще раз Можно придумывать всякие if else и применять обновления только если offset больше записанного, но не факт что в с3 будет оффсет или что ваша пишущая коробка в виде синк коннектора поддерживает такую логику, ну и в целом это не оптимально

Petr O.
предположим, что мы сложили историю топика из с3 ...

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

Petr O.
предположим, что мы сложили историю топика из с3 ...

Выглядит как будто вам тогда нужен compacted топик или долгий ретеншн

Petr O.
предположим, что мы сложили историю топика из с3 ...

что мешает засетапить топик с бесконечным ретеншном, стартануть обработку, после прохода уже настроить нужный ретеншн уже с учетом рисков и скорости обработки?

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта