понятно, 1-ая БД read only 2-ая БД на запись, они между собой реплицируются. Настраиваю приложение на работу с двумя базами. Профит.
Event sourcing все примеры что я видел, они мягко говоря неадекватные.
Вариант 1. Выкидываем базу для чтения. Теперь все чтение происходит из event store. Проблема, если мне нужно считать для отчета дохулион заказов, то мне нужно считать дохулион ивентов этих заказов и сделать свертку. Даже при наличии снапшотов, это большие издержки.
Вариант 2. Предлагается выкинуть еще базу для записи. Писать сразу в event store и читать от туда же.
Не нашел практик и примеров при которых мы оставляем в покое базы для чтения и записи, и добавляем event store, только для того что проводить аудит и восстановление состояния системы.
Так же не нашёл практик, при которых мы ивенты пишем в kafka. А считываем их для обновления БД для чтения. Т.е. Kafka выполняет роль event store.
Такие практики вообще есть? они популярны? Или в большинстве своем все реализуется как в первых двух вариантах?
А как же третий вариант, выкинуть базу на запись, там оставить event store, а в read only уже вкинуть бд
Я чего только не видел, пока гуглил 🥲
Обсуждают сегодня