Recherche…


Utilisation d'un pool de connexions sans base de données

Atteindre le multitenancy sur le serveur de base de données avec plusieurs bases de données hébergées sur celui-ci.

La multitenancy est une exigence courante des applications d'entreprise et la création d'un pool de connexions pour chaque base de données sur le serveur de base de données n'est pas recommandée. Ainsi, ce que nous pouvons faire à la place, c'est créer un pool de connexions avec un serveur de base de données et basculer entre les bases de données hébergées sur un serveur de base de données à la demande.

Supposons que notre application dispose de différentes bases de données pour chaque entreprise hébergée sur un serveur de base de données. Nous allons nous connecter à la base de données de l'entreprise respective lorsque l'utilisateur accède à l'application. voici l'exemple sur comment faire cela: -

var pool  = mysql.createPool({
      connectionLimit : 10,
      host            : 'example.org',
      user            : 'bobby',
      password        : 'pass'
    });
    
pool.getConnection(function(err, connection){
    if(err){
        return cb(err);
    }
    connection.changeUser({database : "firm1"});
    connection.query("SELECT * from history", function(err, data){
        connection.release();
        cb(err, data);
    });
});

Laissez-moi décomposer l'exemple: -

Lors de la définition de la configuration du pool, je n'ai pas donné le nom de la base de données, mais uniquement le serveur de base de données, c.-à-d.

{
  connectionLimit : 10,
  host            : 'example.org',
  user            : 'bobby',
  password        : 'pass'
}

Ainsi, lorsque nous voulons utiliser la base de données spécifique sur le serveur de base de données, nous demandons à la connexion d'accéder à la base de données en utilisant: -

    connection.changeUser({database : "firm1"});

vous pouvez consulter la documentation officielle ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow