Size: a a a

2020 March 09

λ

λλ in pro.kafka
в базе
источник

λ

λλ in pro.kafka
я не силен в джаве 3 года не писал на ней но кажется что да
источник

S🕶

Sander 🕶 in pro.kafka
он ведь просто принудительно пушит то что в сессии,
источник

λ

λλ in pro.kafka
Sander 🕶
он ведь просто принудительно пушит то что в сессии,
ну да но у тебя то ассинк с кафки взаимодействие а в базу блокинг идет пока он не запишет если лаг будет нулевой в кафке есть шанс получить тот же еффект
источник

λ

λλ in pro.kafka
что был до етого
источник

λ

λλ in pro.kafka
но эт тока мои предположения
источник

S🕶

Sander 🕶 in pro.kafka
в общем спасение ток outbox pattern, но я так посмотрел - изучать буду еще несколько дней (( поэтому я оставил flush.
источник

S🕶

Sander 🕶 in pro.kafka
надеюсь что на меня косо смотреть не будут, если конечно можно как-то быстро прикрутить outbox, я бы сделал,
источник

SB

Sergey Bezrukov in pro.kafka
Sander 🕶
у меня сейчас сохраняются данные в базу, а после отправляется сообщение,
но так как все в методе находится в одной транзакции, то вначале отправляется сообщение а потом сохраняется информация в базу.
Кафка вроде как не умеет поддерживать JTA транзакции, то есть сообщение отправится независимо от результатов коммита в БД.  А раз они всё равно не связаны, то почему бы не отправлять сообщение в Кафку после завершения транзакции в БД?
источник

S🕶

Sander 🕶 in pro.kafka
Sergey Bezrukov
Кафка вроде как не умеет поддерживать JTA транзакции, то есть сообщение отправится независимо от результатов коммита в БД.  А раз они всё равно не связаны, то почему бы не отправлять сообщение в Кафку после завершения транзакции в БД?
как ты отправишь сообщеиние после завершения транзакции? я могу ток во время транзации послать запрос.
источник

λ

λλ in pro.kafka
Sander 🕶
как ты отправишь сообщеиние после завершения транзакции? я могу ток во время транзации послать запрос.
wal лог базы почитать ?
источник

S🕶

Sander 🕶 in pro.kafka
?
источник

SB

Sergey Bezrukov in pro.kafka
Sander 🕶
как ты отправишь сообщеиние после завершения транзакции? я могу ток во время транзации послать запрос.
разбиваешь метод на 2:
- первый делает транзакционную работу с БД, на нём висит аннотация (надо ещё посмотреть какая и реально ли она работает, фокус с flush наводит на мысли, что может это и фикция - т.к. flush НЕ коммитит данные, только выполняет работу в БД)
- второй фигачит сообщение в кафку

метод, объединяющий их (вызывает сначала первый,  потом второй) выполняется вне транзакционного контекста
источник

SB

Sergey Bezrukov in pro.kafka
риски - что данные запишутся в БД, а в кафку не попадут
источник

S🕶

Sander 🕶 in pro.kafka
:( ну та же пробелма остается - но более красивый вариант
источник

S🕶

Sander 🕶 in pro.kafka
@hrensgory спасибо
источник

AB

Andriy Bashuk in pro.kafka
Привет ребят. У меня такой кейс. Есть некий топик в который пишутся все ивенты связанные с определенным агрегатом. Но ивенты разные. Вопрос: Как в консюмере мне различать что нужно делать?
источник

AB

Andriy Bashuk in pro.kafka
Мне приходит в голову или делать это через заголовки (тоесть название ивента связанного с агрегатом), или добавлять в схему дополнильные данные , например eventName
источник

VG

Vik Gamov in pro.kafka
Andriy Bashuk
Привет ребят. У меня такой кейс. Есть некий топик в который пишутся все ивенты связанные с определенным агрегатом. Но ивенты разные. Вопрос: Как в консюмере мне различать что нужно делать?
Ну вот @sander92 уже эксперт в этом вопросе
источник

VG

Vik Gamov in pro.kafka
Я рекомендую поглядеть еще на avro. В этом случае не надо заморачиваться с заголовками потому что schema id пишется в payload, а схема раздаётся через schema registry
источник