ввела PIN номер 1234
2. Пользователь Боб ввел PIN номер 1235
3. Пользователь Джейн ввела PIN номер 1234, но эта транзакция отбросилась потому что есть бизнес правило - не должно быть двух одинаковых PIN'ов
В обычной парадигме, если надо проверить уникальность - то это либо на базу перекладывается (уникальный индекс) либо лок надо брать во время валидации PIN'а. Если обработка сценария осуществляется на разных хостах, то и лок понадобится распределенный.
Как правильно в Kafka Streams реализовать такой сценарий с архитектурной точки зрения?
Делать виндовинг по стримам с одинаковым пином, так ты получишь стрим где будут две попытки. Первую валидируешь, вторую отбрасываешь
вы пытаетесь избавиться от возможных дубликатов?
Обсуждают сегодня