Хотя я уже встречался Kafka, я совсем недавно понял, что Кафка, возможно, может быть использована как (основа) a CQRS, eventstore.
Один из основных моментов, который поддерживает Kafka:
- Захват/хранение событий, все HA, конечно.
- Архитектура Pub/sub
- Возможность воспроизведения журнала событий, который позволяет зарегистрировать новые подписчики в системе после факта.
По общему признанию, я не на 100% разбираюсь в CQRS/Event sourcing, но это кажется довольно близким к тому, что должен быть в магазине событий. Смешная вещь: я действительно не могу так много узнать о том, что Кафка используется как eventstore, поэтому, возможно, мне что-то не хватает.
Итак, чего-то не хватает в Кафке, чтобы стать хорошим магазином событий? Будет ли это работать? Используя его производство? Интересует понимание, ссылки и т.д.
В основном состояние системы сохраняется на основе транзакций/событий, которые система когда-либо получала, вместо того, чтобы просто сохранять текущее состояние/моментальный снимок системы, что обычно делается. (Подумайте об этом как о Главной книге в бухгалтерии: все транзакции в конечном итоге складываются до конечного состояния). Это позволяет использовать всевозможные классные вещи, но просто читать на предоставляемых ссылках.