На самом деле я использую конфигурацию Redis Master-Slave с HAProxy для Wordpress, чтобы иметь высокую доступность. Эта конфигурация хороша и работает идеально (я могу удалить любой сервер для обслуживания без простоев). Проблема этой конфигурации заключается в том, что только один сервер Redis получает весь трафик, а остальные просто ждут, если этот сервер умрет, поэтому на веб-странице с очень высокой нагрузкой может возникнуть проблема, и добавление дополнительных серверов не является решением, потому что всегда только один будет хозяином.
Имея это в виду, я думаю, могу ли я просто использовать Redis Cluster, чтобы разрешить чтение/запись на всех узлах, но я не совсем уверен, будет ли он работать в моей настройке.
Моя настройка в большинстве случаев ограничена тремя узлами, и я читал в некоторых местах, что минимальная настройка кластера Redis — это три узла, но рекомендуется шесть. Это рационально, потому что эта установка позволяет иметь узлы Slaves, которые станут Masters, если ее Master умрет, и тогда все данные будут сохранены, но что произойдет, если данные не заботятся? Я имею в виду, что в моих настройках данные представляют собой просто кэшированные объекты, поэтому, если они не существуют, просто создайте их снова, поэтому:
- Данные будут потеряны (неважно), а другие узлы снова получат объекты от клиентов, чтобы обслуживать их в более поздних запросах (например, при сбросе данных).
- Узлы ответят, что данных не существует, и откажутся от кэширования, потому что объект должен находиться на другом узле, который мертв.
Кто-то это знает?
Спасибо!!