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

问题描述 投票:0回答:1

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

我有两个基本问题,我在文档中找不到直接答案

  1. 使用mysqlnd_ms,有没有办法说,并非所有选择查询都应指向slave(只读副本)。每个请求都应该指向现有实例
  2. 假设我们每个请求运行2个查询,那么每个查询指向1个实例吗?这意味着它将为每个请求打开2个数据库连接?我是否正确理解这一点
php mysqli mysqlnd
1个回答
1
投票

创建一个json文件并提及其中的路径

/etc/PHP.的/MySQL你的_马上.INI

文件如下

mysqlnd_ms.config_file=/etc/mysqlnd_ms_cfg.json

在json文件中添加以下代码

/etc/MySQL你的_马上_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"
            ]
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.