nodejs链接mysql集群

三世轮回 提交于 2019-11-30 07:58:48
const mysql = require('mysql2');
const config = require('../config/config');
module.exports = async (sql, options) => {
    const poolCluster = mysql.createPoolCluster({
        removeNodeErrorCount: 1, // Remove the node immediately when connection fails.
        defaultSelector: 'RR' //RR,RANDOM,ORDER
    });
    poolCluster.add('node1', config.mysql.node1);
    poolCluster.add('node2', config.mysql.node2);
    poolCluster.add('node3', config.mysql.node3);
    poolCluster.add('node4', config.mysql.node4);
    return new Promise((resolve, reject) => {
        poolCluster.getConnection((err, conn) => {
            if (err) {
                reject(err)
            } else {
                conn.query(sql, options, function (error, results, fields) {
                    if (error) {
                        reject(error)
                    } else {
                        conn.release();
                        resolve(results);
                    }
                });
            }
        });
    })
};
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!