
MongoDBDriverManager::getReadPreference의 기본값은 PRIMARY입니다.
readPreference를 변경하는 방법은 다음과 같습니다.
1. PRIMARY: PRIMARY 노드에만 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.primary())
.build();
MongoClient mongoClient = MongoClients.create(settings);
2. PRIMARY_PREFERRED: PRIMARY 노드에 읽기 요청을 보내고, PRIMARY 노드가 없을 때 SECONDARY 노드에 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.primaryPreferred())
.build();
MongoClient mongoClient = MongoClients.create(settings);
3. SECONDARY: SECONDARY 노드에만 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.secondary())
.build();
MongoClient mongoClient = MongoClients.create(settings);
4. NEAREST: PRIMARY 또는 SECONDARY 노드 중 가까운 노드에 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.nearest())
.build();
MongoClient mongoClient = MongoClients.create(settings);
5. LOCAL: 같은 서버에 있는 MongoDB 노드에만 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.local())
.build();
MongoClient mongoClient = MongoClients.create(settings);
6. MASTER: PRIMARY 노드에만 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.master())
.build();
MongoClient mongoClient = MongoClients.create(settings);
7. SLAVE: SECONDARY 노드에만 읽기 요청을 보내는 방법입니다.
#hostingforum.kr
java
MongoClientSettings settings = MongoClientSettings.builder()
.readPreference(ReadPreference.slave())
.build();
MongoClient mongoClient = MongoClients.create(settings);
2025-06-21 02:13