[nodejs] MongoDB 연동을 위한 클러스터링 설정

Node.js는 데이터베이스로 MongoDB를 기본적으로 지원하며, 클러스터링은 MongoDB의 확장성과 안정성을 향상시키는 중요한 구성 요소입니다. 이 블로그 포스트에서는 Node.js 애플리케이션에서 MongoDB 클러스터링을 위한 설정과 연동 방법에 대해 알아보겠습니다.

MongoDB 클러스터 구성

  1. Replica Set 설정
  2. Sharding 설정

Node.js에서의 MongoDB 클러스터 연동

Node.js에서 MongoDB 클러스터와의 연동은 MongooseMongoDB Node.js 드라이버와 같은 라이브러리를 사용하여 쉽게 구현할 수 있습니다.

Mongoose를 사용한 연동 예제

const mongoose = require('mongoose');

mongoose.connect('mongodb://<username>:<password>@<cluster-1-url>,<cluster-2-url>,<cluster-3-url>/<database-name>?ssl=true&replicaSet=<replica-set-name>&authSource=admin', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB 연결 오류:'));
db.once('open', function() {
  console.log('MongoDB 클러스터 연결 성공');
});

MongoDB Node.js 드라이버를 사용한 연동 예제

const { MongoClient } = require('mongodb');
const uri = 'mongodb://<username>:<password>@<cluster-1-url>,<cluster-2-url>,<cluster-3-url>/<database-name>?ssl=true&replicaSet=<replica-set-name>&authSource=admin';

const client = new MongoClient(uri, { useUnifiedTopology: true });

async function connectToCluster() {
  try {
    await client.connect();
    console.log('MongoDB 클러스터 연결 성공');
  } catch (e) {
    console.error('MongoDB 연결 오류:', e);
  } finally {
    await client.close();
  }
}

connectToCluster();

마치며

MongoDB 클러스터링을 통한 안정성과 확장성은 Node.js 애플리케이션의 성능 및 신뢰성을 향상시킬 수 있습니다. 올바르게 구성 및 연동하여 안정적이고 확장 가능한 애플리케이션을 구축할 수 있도록 노력해 보시기를 권장합니다.

이렇게 MongoDB 클러스터링과 Node.js의 연동 방법에 대해 간단히 살펴보았습니다. 부가적인 정보가 필요하다면 MongoDB 및 Node.js 공식 문서를 참고하시기 바랍니다.