Как заставить Mysqlnd_ms выполнять каждый запрос на другом экземпляре - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть AWS RDS с 1 репликой чтения (всего 2 экземпляра). Я планирую установить плагин mysqlnd_ms, чтобы мой запрос указывал на серверы баз данных в циклическом режиме.

У меня есть 2 основных вопроса, на которые я не смог найти прямых ответов в документации

  1. Используя mysqlnd_ms, можно сказать, что не все запросы select должны указывать на slave (читать реплику). Каждый запрос должен альтернативно указывать на существующие экземпляры
  2. Предположим, если мы запустим 2 запроса на каждый запрос, то будет ли каждый запрос указывать на 1 экземпляр? Это значит, что для каждого запроса будут открываться 2 подключения к базе данных? Правильно ли я понимаю это

1 Ответ

0 голосов
/ 07 сентября 2018

Создайте файл json и укажите путь в

/ и т.д. / php.d / mysqlnd_ms.ini

файл как показано ниже

mysqlnd_ms.config_file=/etc/mysqlnd_ms_cfg.json

Добавьте следующий код в файл json

/ и т.д. / mysqlnd_ms_cfg.json

    {

        "myapp": {
            "master": {
                "master_0": {
                    "host": "RDS master instance IP/doamin name",
                    "port": 3306
                }
            },
            "slave": {
                "slave_0": {
                    "host": "RDS master instance IP/doamin name",
                    "port": 3306
                },
                "slave_1": {
                    "host": "RDS read replica instance IP/doamin name",
                    "port": 3306
                }
            },
            "filters": [
                "roundrobin"
            ]
        }
    }
...