作者 陈彩华
文章转载交流请联系 caison@aliyun.com
Чтобы выполнить предыдущий«Понимание архитектуры кэша в распределенных системах (часть 1)», знакомит с соответствующими теориями кэширования в больших распределенных системах, общими компонентами кэширования и сценариями приложений.В этой статье в основном представлены общие проблемы и решения проектирования архитектуры кэширования, а также отраслевые примеры.
1 Архитектура иерархического кэша
2 Проблема сложности, вызванная кэшированием
Общие проблемы в основном включают
- согласованность данных
- проникновение в кеш
- Кэш Лавина
- Высокая доступность кэша
- точка доступа к кешу Анализ этих проблем и соответствующие решения представлены по одному ниже.
согласованность данных
Поскольку кеш является копией постоянных данных, неизбежно возникнут несоответствия данных. Условие, которое приводит к грязным операциям чтения или данным, которые невозможно прочитать. Несогласованность данных обычно вызвана нестабильностью сети или сбоем узла.
Есть 3 распространенных сценария и решения проблемы:
проникновение в кеш
Кэш обычно имеет форму ключа и значения. Если определенный ключ не существует, база данных будет опрошена. Если ключ не существует все время, база данных будет часто запрашиваться, что приведет к ограничению доступа к базе данных.
основное решение:
- Данные с пустым результатом также кешируются.Когда в ключе есть данные, очищаем кеш
- Для ключа, который не должен существовать, используйте фильтр Блума, чтобы создать большое растровое изображение, и отфильтруйте растровое изображение при запросе.
Кэш Лавина
Высокая доступность кэша
Высокая доступность кэша зависит от фактического сценария. Не всем предприятиям требуется высокая доступность кэша. Решение необходимо разрабатывать в сочетании с конкретным бизнесом и конкретными обстоятельствами, например, влияет ли критическая точка на серверную часть. база данных.
основное решение:
- Распределенный: реализовать массивный кеш данных
- Репликация: высокая доступность кэшированных узлов данных
точка доступа к кешу
Для некоторых особенно горячих данных большое количество одновременных обращений к одним и тем же кэшированным данным приводит к чрезмерной нагрузке на кэш-сервер.
решать: копирование нескольких копий кеша, распределение запросов на несколько серверов кеша и снижение нагрузки на один сервер кеша, вызванной горячими точками кеша.
3 отраслевых кейса
Дело в основном касается Сины Вейбо Чен Бо.обмен технологиями
технические проблемы
Схема архитектуры кэша фидов
Архитектурные особенности
Sina Weibo применяет SSD в сценариях распределенного кэша, расширяя традиционный метод Redis/MC + Mysql до метода Redis/MC + SSD Cache + Mysql, используя SSD Cache в качестве кэша L2, что в первую очередь снижает стоимость MC/Redis Проблема слишком высокой а небольшая емкость также решает проблемы с доступом к базе данных, вызванные проникновением в БД.
В основном оптимизированы и улучшены в различных аспектах, таких как архитектура данных, производительность, стоимость хранения и сервис-ориентированность.
Более интересно, добро пожаловать на официальный аккаунт автора [архитектура распределенной системы]
Ссылаться на
Изучаем архитектуру с нуля - Alibaba Ли Юньхуа
36 лекций по технологии Java Core — Oracle Yang Xiaofeng
Практика проектирования архитектуры кэша Weibo — Чен Бо
Лучшее применение кэша в больших распределенных системах — Хоу Чжунхао