Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodeJS中重新连接到galera群集数据库_Node.js_Mariadb_Galera - Fatal编程技术网

Node.js 如何在nodeJS中重新连接到galera群集数据库

Node.js 如何在nodeJS中重新连接到galera群集数据库,node.js,mariadb,galera,Node.js,Mariadb,Galera,我正在编写一个应用程序,它连接到使用galera(多主主动/主动设置)群集的mariaDB数据库。 我希望我的应用程序在DB集群的一个节点关闭时继续处理 以下是我目前的代码: const mariadb=require('mariadb'); function getDB() { return new Promise(function(resolve,reject) { var pool = mariadb.createPoolCluster(); po

我正在编写一个应用程序,它连接到使用galera(多主主动/主动设置)群集的mariaDB数据库。 我希望我的应用程序在DB集群的一个节点关闭时继续处理

以下是我目前的代码:

const mariadb=require('mariadb');
function getDB() {
    return new Promise(function(resolve,reject) {
        var pool = mariadb.createPoolCluster();

        pool.add('node1', {
          host : '127.0.0.1',
          port: 3306,
          database: 'myDB',
          user : 'root',
          password : ''
        });
        pool.add('node2', {
          host : '127.0.0.1',
          port: 3307,
          database: 'myDB',
          user : 'root',
          password : ''
        });

        pool.getConnection(/.*/,"RR")
        .then(function(connection) { 
            console.log('Database GALERA is connected!');
            resolve(connection);
        });
    });
}

getDB()
.then(function(db) {
    infiniteLoopFunction(db);
});

function infiniteLoopFunction(db) {

    db.query('select now()',[],function (err, rows, fields) {
        if(err) console.log(err);
        console.log(rows);
        setTimeout(function() { infiniteLoopFunction(db); } , 1000);
    });
}
当我停止DB node1时,它不会转到node2。相反,我得到了一个“协议连接丢失”或其他类似的错误

如何检测节点1已关闭,并将连接(包括失败的连接)转到节点2

谢谢你的帮助