12 из 305 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
System Design · Design Problems — Hard & Advanced
Почему квитанции прочтения отслеживаются асинхронно в Redis, а не записываются синхронно в основную базу данных?
События квитанций прочтения — это чрезвычайно частые записи; асинхронное отслеживание в Redis предотвращает узкие места при записи, обеспечивая быстрый доступ в памяти к состоянию квитанций
Redis поддерживает строгие ACID-транзакции, которых нет в основной базе данных, что делает его более надёжным для отслеживания квитанций
Синхронная запись в основную базу данных нарушила бы гарантии упорядочивания сообщений, обеспечиваемые смещениями Kafka
Redis автоматически реплицирует данные квитанций на все экземпляры WebSocket-шлюза, что не могут делать реляционные базы данных