170 похожих чатов

Коллеги! Помогите выкурить CQRS + Event sourcing С cqrs все

понятно, 1-ая БД read only 2-ая БД на запись, они между собой реплицируются. Настраиваю приложение на работу с двумя базами. Профит.

Event sourcing все примеры что я видел, они мягко говоря неадекватные.

Вариант 1. Выкидываем базу для чтения. Теперь все чтение происходит из event store. Проблема, если мне нужно считать для отчета дохулион заказов, то мне нужно считать дохулион ивентов этих заказов и сделать свертку. Даже при наличии снапшотов, это большие издержки.

Вариант 2. Предлагается выкинуть еще базу для записи. Писать сразу в event store и читать от туда же.

Не нашел практик и примеров при которых мы оставляем в покое базы для чтения и записи, и добавляем event store, только для того что проводить аудит и восстановление состояния системы.

Так же не нашёл практик, при которых мы ивенты пишем в kafka. А считываем их для обновления БД для чтения. Т.е. Kafka выполняет роль event store.

Такие практики вообще есть? они популярны? Или в большинстве своем все реализуется как в первых двух вариантах?

2 ответов

23 просмотра

А как же третий вариант, выкинуть базу на запись, там оставить event store, а в read only уже вкинуть бд

Vladislav-Zhuravskiy Автор вопроса
Dima
А как же третий вариант, выкинуть базу на запись, ...

Я чего только не видел, пока гуглил 🥲

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта