Динамически добавлять новый сервер Memcached без перезапуска Django
Я планирую использовать django-cachalot
с memcached
Бэкенд для кеширования запросов в моем проекте.
У меня есть эта настройка на Elastic Beanstalk, которая может увеличиваться или уменьшаться, добавляя или удаляя экземпляры EC2. В настоящее время, когда memcached
запускается на экземпляре, я добавляю IP этого экземпляра в базу данных.
pylibmc
memcached
клиент, который я создаю, время от времени читает базу данных для IP-адресов сервера и создает нового клиента, если IP-адреса сервера изменились или были добавлены новые IP-адреса.
Как мне динамически добавлять серверы в django
"s memcached
кеш бэкэнд? или как мне установить memcached
клиент django
использует вручную?
1 ответ
Это, вероятно, много усилий для очень маленькой выгоды. Помните, что django распределяет объекты, которые вы кэшируете, между разными серверами memcached, которые вы определили. Таким образом, когда кто-то будет удален из рассмотрения путем автоматического масштабирования, все элементы в нем будут потеряны.
По умолчанию django не поддерживает динамическое добавление новых серверов memcached в список. Чтобы это работало, вам нужно будет создать пользовательский кеш-бэкэнд, изменив стандартный memcached бэкэнд