Django публикует в KAFKA вместо сохранения в базе данных

Мы пытаемся разработать микросервисную архитектуру на фреймворке Django rest, в которой все записи в базу данных SQL выполняются путем публикации сообщений в темы в системе обмена сообщениями Apache Kafka, а все чтения выполняются непосредственно из базы данных SQL. Это делается по нескольким причинам, но самое главное - чтобы иметь историю журнала событий через Kafka, и чтобы избежать задержек из-за медленных циклов записи (чтение в базы данных обычно намного быстрее, чем запись). Используя сигналы, довольно легко вызвать метод Kafka producer в Django, который опубликует событие на Kafka, показывающее данные модели для записи в db. Однако мы не знаем, как избежать того, чтобы метод save() ничего не записывал в базу данных. Мы не хотим полностью переопределять метод save(), так как это может вызвать проблемы при работе с отношениями ManytoMany. Есть ли у кого-нибудь простое предложение, как избежать записи в базу данных, но при этом читать базу данных в Django? Пожалуйста, имейте в виду, что мы по-прежнему хотим использовать традиционный метод чтения из базы данных SQL с помощью моделей Django. Любые предложения будут ценны! Заранее спасибо.

Вернуться на верх