Проверяет знание кэширующей системы, объединяющей память нескольких узлов.
Распределённый кэш — это кэширующая система, где кэш-данные хранятся в центральном (или кластеризованном) хранилище, доступном из разных приложений или экземпляров. Он обеспечивает единое пространство кэша, упрощает координацию и поддерживает отказоустойчивость и масштабируемость за счёт репликации и шардинга (Redis Cluster, Memcached).
Архитектура:
Кластеры узлов, хранящие разделы (shards) кэша.
Репликация для надёжности: при падении одного узла данные доступны на другом.
Доступ:
TCP-протоколы (RESP у Redis), клиентские библиотеки на разных языках.
Механизмы аутентификации и шифрования (TLS).
Преимущества:
Горизонтальное масштабирование памяти кэша.
Глобальная согласованность и упрощённая инвалидация.
Высокая скорость доступа (операции O(1)).
Сценарии применения:
Кэширование результатов частых запросов в распределённых микросервисах.
Сессии пользователей, shopping cart, rate limiting.
Известные решения:
Redis Cluster, Memcached с клиентской шардированной логикой.
Hazelcast, Apache Ignite как in-memory data grid с расширенными возможностями.