수색…


데이터베이스없이 연결 풀 사용

여러 데이터베이스가 호스팅 된 데이터베이스 서버에서 멀티 테넌시를 달성합니다.

멀티 테넌시는 오늘날 엔터프라이즈 애플리케이션의 일반적인 요구 사항이며 데이터베이스 서버의 각 데이터베이스에 대한 연결 풀 작성은 권장되지 않습니다. 그래서 우리가 대신 할 수있는 것은 데이터베이스 서버와 연결 풀을 생성하고 필요에 따라 데이터베이스 서버에서 호스팅되는 데이터베이스간에 전환하는 것입니다.

우리 애플리케이션이 데이터베이스 서버에서 호스팅되는 각 회사에 대해 서로 다른 데이터베이스를 가지고 있다고 가정합니다. 사용자가 애플리케이션에 접근하면 해당 회사 데이터베이스에 연결됩니다. 다음은이를 수행하는 방법에 대한 예제입니다.

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);
    });
});

내가 그 예를 드러 낼 수 있도록하자.

풀 구성을 정의 할 때 데이터베이스 이름을 지정하지 않았지만 데이터베이스 서버 만 제공했습니다.

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

그래서 우리는 특정 데이터베이스를 데이터베이스 서버에서 사용하고자 할 때 다음과 같이 데이터베이스 연결을 요청합니다 :

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

공식 문서는 여기에서 참조 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow