如何在不同的实例上进行 Mysqlnd_ms 运行 每个查询

How to make Mysqlnd_ms run each query on a different instance

我有一个带有 1 个只读副本的 AWS RDS(总共 2 个实例)。我打算安装 mysqlnd_ms 插件,这样我就可以让我的请求以循环方式指向数据库服务器。

我有 2 个基本问题无法在文档中找到直接答案

  1. 使用 mysqlnd_ms,有没有办法说,并非所有 select 查询都应指向从属(只读副本)。每个请求都应交替指向现有实例
  2. 假设我们 运行 每个请求有 2 个查询,那么每个查询是否指向 1 个实例?这意味着它将为每个请求打开 2 个数据库连接?我理解正确吗

创建一个json文件并在

中提及路径

/etc/php.d/mysqlnd_ms.ini

文件如下

mysqlnd_ms.config_file=/etc/mysqlnd_ms_cfg.json

在json文件中添加以下代码

/etc/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"
            ]
        }
    }