Я хочу сделать отказоустойчивость Redis с помощью Django, но не могу найти способ сделать это.
То, что я настроил, выглядит следующим образом:
- Я использую Redis в качестве серверной части сеанса.
- Я настроил два сервера Redis в отношениях «главный-ведомый», чтобы при сбое ведущего ведомый автоматически становился ведущим (используя Sentinel)
Я настраиваю settings.py следующим образом
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION':[
"127.0.0.1",
"IPofSlave"
],
'OPTIONS': {
'PASSWORD': "xxxxxxxx",
'DB': 0,
}
}
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = "default"
Я хочу, чтобы Django обычно использовал только мастер и автоматически переключался на подчиненный, когда он не может подключиться к мастеру.
Как я могу сделать это, отредактировав settings.py, или мне следует пойти другим путем?
settings.py
информацией о подчиненном сервере, а затем перезапускать приложение. В качестве альтернативы вы можете иметь несколько копийsettings.py
,settings.py.slave
,settings.py.master
, а затем ваша система опроса перезапишетsettings.py
соответствующим файлом. - person Dirty Penguin   schedule 08.12.2015