Как мы сделали очередь внутри Cassandra без отдельного брокера
Как мы сделали очередь внутри Cassandra без отдельного брокера Недавно мы рассказывали, как четыре раза переписывали Outbox на PostgreSQL. Теперь делимся опытом с Cassandra. Классический Outbox предполагает транзакции, но в Cassandra их нет в привычном понимании. Мы не стали добавлять дополнительных Kafka или RabbitMQ в зоопарк технологий. Вместо этого адаптировали паттерн под свои ограничения и назвали это Non-transactional Outbox. В карточках наш системный аналитик Илья Глазунов и разработчик Захар Корсаков поделились, как храним события, почему отказались от Exactly Once в пользу At Least Once, зачем нужен часовой лаг между записью и чтением и как воспроизвели логику топиков Kafka внутри Cassandra. А подробнее читайте на Хабре.