Node.js
Pula połączeń MySQL
Szukaj…
Korzystanie z puli połączeń bez bazy danych
Osiągnięcie multitenancy na serwerze bazy danych z wieloma bazami danych hostowanymi na nim.
Wielozadaniowość jest obecnie powszechnym wymogiem aplikacji korporacyjnych i nie jest zalecane tworzenie puli połączeń dla każdej bazy danych na serwerze bazy danych. więc zamiast tego możemy utworzyć pulę połączeń z serwerem bazy danych i przełączać się między bazami danych hostowanymi na serwerze bazy danych na żądanie.
Załóżmy, że nasza aplikacja ma różne bazy danych dla każdej firmy hostowanej na serwerze bazy danych. Po uzyskaniu dostępu do aplikacji połączymy się z odpowiednią firmową bazą danych. oto przykład, jak to zrobić:
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);
});
});
Pozwól mi rozbić przykład:
Podczas definiowania konfiguracji puli nie podałem nazwy bazy danych, a jedynie serwer bazy danych, tj
{
connectionLimit : 10,
host : 'example.org',
user : 'bobby',
password : 'pass'
}
więc gdy chcemy użyć konkretnej bazy danych na serwerze bazy danych, prosimy o połączenie z bazą danych za pomocą:
connection.changeUser({database : "firm1"});
możesz zapoznać się z oficjalną dokumentacją tutaj