При использовании кластера SQL с репликацией данных по схеме Master-Slave или Master-Master необходимо в файле конфигурации Smarty прописать подключение к каждой СУБД в переменной DATABASES
, задав каждому подключению уникальное имя и роль.
Smarty будет распределять запросы на чтение между Master и Slave-серверами, а запросы на запись только между Master-серверами.
Также необходимо добавить в файл конфигурации следующие опции:
REPLICATED_DATABASE_SLAVES
, тип: list. По умолчанию, роль каждого подключения определена как Master, для выделения Slave ролей необходимо в массиве REPLICATED_DATABASE_SLAVES указать имена подключений, которые будут использоваться как Slave.
REPLICATED_DATABASE_DOWNTIME
, тип: int. Время недоступности сервера БД в секундах, по прошествии которого он отключается из схемы распределения запросов.
Пример:
REPLICATED_DATABASE_SLAVES = ['slave1', 'slave2'] REPLICATED_DATABASE_DOWNTIME = 60