Size: a a a

Scala User Group

2020 January 21

KS

Kirill Shelopugin in Scala User Group
🔝Ivan Popovich 🔝
вроде есть fs2-kafka от ovotech, но что из них лучше не знаю.
Я про неё. Они вынесли ее в другую организацию, видимо, чтобы не было привязано к компании. Для чего грейсйфул шатдаун: обработка каких-то событий может включать в себя изменение какого-то стейта. События не всегда имеют какой-то уникальный идентификатор для дедупликации. Соответственно, без грейсфул шатдауна остановка приложения посреди обработки события может означать некорректный стейт в результате.
источник

KS

Kirill Shelopugin in Scala User Group
В альпакке есть комбинатор для грейсфул шатдауна, позволяющий какое-то время ожидать, что все вычитанные события добрались до конца флоу. Хотелось бы чего-то похожего
источник

λ

λλ in Scala User Group
Kirill Shelopugin
Я про неё. Они вынесли ее в другую организацию, видимо, чтобы не было привязано к компании. Для чего грейсйфул шатдаун: обработка каких-то событий может включать в себя изменение какого-то стейта. События не всегда имеют какой-то уникальный идентификатор для дедупликации. Соответственно, без грейсфул шатдауна остановка приложения посреди обработки события может означать некорректный стейт в результате.
как у тебя может поменяться стейт если после поднятия приложения сообщения дочитаються оттуда где закончились
источник

λ

λλ in Scala User Group
?
источник

λ

λλ in Scala User Group
и что если у тебя лаг никогда в 0 не придет ? не понимаю зачем там грейсфул
источник

λ

λoλdog in Scala User Group
Kirill Shelopugin
Я про неё. Они вынесли ее в другую организацию, видимо, чтобы не было привязано к компании. Для чего грейсйфул шатдаун: обработка каких-то событий может включать в себя изменение какого-то стейта. События не всегда имеют какой-то уникальный идентификатор для дедупликации. Соответственно, без грейсфул шатдауна остановка приложения посреди обработки события может означать некорректный стейт в результате.
А греисфул тебе как поможет? Ну и ты же не двинешь оффсет, потом просто заново обработаешь ивент и все
источник

KS

Kirill Shelopugin in Scala User Group
λλ
как у тебя может поменяться стейт если после поднятия приложения сообщения дочитаються оттуда где закончились
Консьюмер вычитал сообщение и начал его обработку. Изменил какой-то стейт. Но закоммитить офсет не успел, произошел шатдаун приложения. Другой консьюмер подпишется на эту партицию и вычитает это сообщение, повторно изменив стейт
источник

KS

Kirill Shelopugin in Scala User Group
λoλdog
А греисфул тебе как поможет? Ну и ты же не двинешь оффсет, потом просто заново обработаешь ивент и все
Поэтому я и сказал, что дедупликация не всегда возможна, ровно как и повторная обработка
источник

λ

λoλdog in Scala User Group
Kirill Shelopugin
Консьюмер вычитал сообщение и начал его обработку. Изменил какой-то стейт. Но закоммитить офсет не успел, произошел шатдаун приложения. Другой консьюмер подпишется на эту партицию и вычитает это сообщение, повторно изменив стейт
А стеит не хранится нигде ?
источник

λ

λλ in Scala User Group
Kirill Shelopugin
Консьюмер вычитал сообщение и начал его обработку. Изменил какой-то стейт. Но закоммитить офсет не успел, произошел шатдаун приложения. Другой консьюмер подпишется на эту партицию и вычитает это сообщение, повторно изменив стейт
если ты где то меняешь стейт будь добр там же сохранять офсет того сообщения от которого пришел евент
источник

λ

λoλdog in Scala User Group
λλ
если ты где то меняешь стейт будь добр там же сохранять офсет того сообщения от которого пришел евент
И партицию тож?)
источник

λ

λλ in Scala User Group
и ее )
источник

Oℕ

Oleg ℕizhnik in Scala User Group
не уверен, как это поможет сконструировать корректную систему дедупликации
источник

λ

λλ in Scala User Group
и топик
источник

λ

λoλdog in Scala User Group
Тож не уверен
источник

KS

Kirill Shelopugin in Scala User Group
Вопрос не в дедупликации. Вопрос в том, чтобы при шатдауне консьюмера убедиться, что все, что уже было вычитано, обработано и закоммичено
источник

λ

λoλdog in Scala User Group
Тут вопрос хранится ли стеит где-то
источник

Oℕ

Oleg ℕizhnik in Scala User Group
я скорее поверю, что сообщения для дедупликации должны иметь какие-то строго инкрементящиеся айди, привязанные к каким-то идентификаторам и где-то в стейте хранить последний обработанный дедупликационный айди
источник

λ

λλ in Scala User Group
Oleg ℕizhnik
я скорее поверю, что сообщения для дедупликации должны иметь какие-то строго инкрементящиеся айди, привязанные к каким-то идентификаторам и где-то в стейте хранить последний обработанный дедупликационный айди
ну так ето и есть topic-partition-offset зачем грейсфул шутдаун Кириллу остается загадкой
источник

Oℕ

Oleg ℕizhnik in Scala User Group
λλ
ну так ето и есть topic-partition-offset зачем грейсфул шутдаун Кириллу остается загадкой
Это не может быть топик партишен офсетом
источник