์์ฒด ๊ด๋ฆฌํ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ
์ด ํ์ด์ง์ ๋ด์ฉ
๋ณต์ ๋ณธ ์ธํธ์ ๊ตฌ์ฑ์ rs.conf()
๋ฉ์๋ ๋๋ replSetGetConfig
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ณต์ ๋ณธ ์ธํธ์ ๊ตฌ์ฑ์ ์์ ํ๋ ค๋ฉด rs.reconfig()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ๋ฉ์๋์ ์ ๋ฌํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ rs.reconfig()
๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฒฝ๊ณ
์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น์ MongoDB ๋ฒ์ ๋ง๋ค ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ MongoDB ๋ฒ์ ์ ๋ฉค๋ฒ๋ฅผ ํฌํจํ๋ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ๋ค์ ๊ตฌ์ฑํ์ง ๋ง์ญ์์ค.
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์ ์์
๋ค์ ๋ฌธ์๋ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์์ ํํ์ ์ ๊ณตํฉ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ์ ๊ตฌ์ฑ์๋ ๋ค์๊ณผ ๊ฐ์ ์ค์ ์ ํ์ ์งํฉ๋ง ํฌํจ๋ ์ ์์ต๋๋ค.
{ _id: <string>, version: <int>, term: <int>, protocolVersion: <number>, writeConcernMajorityJournalDefault: <boolean>, configsvr: <boolean>, members: [ { _id: <int>, host: <string>, arbiterOnly: <boolean>, buildIndexes: <boolean>, hidden: <boolean>, priority: <number>, tags: <document>, secondaryDelaySecs: <int>, votes: <number> }, ... ], settings: { chainingAllowed : <boolean>, heartbeatIntervalMillis : <int>, heartbeatTimeoutSecs: <int>, electionTimeoutMillis : <int>, catchUpTimeoutMillis : <int>, getLastErrorModes : <document>, getLastErrorDefaults : <document>, replicaSetId: <ObjectId> } }
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ํ๋
_id
์ ํ: ๋ฌธ์์ด
๋ณต์ ๋ณธ ์ธํธ์ ์ด๋ฆ์ ๋๋ค.
_id
๋ ๋ช ๋ น์ค์์replication.replSetName
๋๋mongod
์ ์ง์ ๋--replSet
์ ๊ฐ๊ณผ ๋์ผํด์ผ ํฉ๋๋ค.ํ
์ฐธ์กฐ:
version
ํ์: int
๊ตฌ์ฑ์ ์ด์ ๋ฒ์ ๊ณผ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์์ ๊ฐ์ ํ์ ๊ตฌ๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฆ๋ถ ๋ฒํธ์ ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋
term
๊ณผversion
์ ์ฌ์ฉํ์ฌ '์ต์ ' ๋ณต์ ๋ณธ ๊ตฌ์ฑ์ ๊ดํ ํฉ์๋ฅผ ๋์ถํฉ๋๋ค. ๋ฉค๋ฒ๊ฐ ๋ณต์ ๋ณธ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ๋น๊ตํ ๋term
๊ฐ์ด ๋ ํฐ ๊ตฌ์ฑ ๋ฌธ์๊ฐ '์ต์ ' ๋ฌธ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.term
์ด ๊ฐ๊ฑฐ๋ ์๋ ๊ฒฝ์ฐ,version
๊ฐ์ด ๋ ํฐ ๊ตฌ์ฑ ๋ฌธ์๊ฐ '์ต์ '์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
term
ํ์: int
featureCompatibilityVersion(fCV) '4.4' ์ด์์ด์ด์ผ ํฉ๋๋ค.
๊ตฌ์ฑ์ ์ด์ ๋ฐ๋ณต๊ณผ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์์ ๊ฐ์ ํ์ ๊ตฌ๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฆ๋ถ ๋ฒํธ์ ๋๋ค. ๊ตฌ์ฑ ๋ฌธ์์
term
์ ์ฌ๊ตฌ์ฑ์ ์ํํ ๊ธฐ๋ณธ ๋ณต์ ๋ณธ ์ธํธ ํ๋ผ์ด๋จธ๋ฆฌ์ ํ ๊ณผ ์ผ์นํฉ๋๋ค. ํ๋ผ์ด๋จธ๋ฆฌ๋ ํฌํ์์ ์น๋ฆฌํ ํ ๋ฑ๊ธ์ด ์ฌ๋ผ๊ฐ ๋๋ง๋ค ํ ์ด ์ฆ๊ฐํฉ๋๋ค. ํ๋ผ์ด๋จธ๋ฆฌ๋replSetReconfig
์์ ์์ ๋ช ์์ ์ผ๋ก ์ค์ ๋ ๊ฒฝ์ฐterm
ํ๋๋ฅผ ๋ฌด์ํฉ๋๋ค.๊ฐ์ ์ฌ๊ตฌ์ฑ์ ์คํํ๋ฉด
term
ํ๋๊ฐ ์ ๊ฑฐ๋ฉ๋๋ค. ์ดํ์ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐreplSetReconfig
๋ฅผ ๊ฐ์ ์ฑ ์์ด ์คํํ๋ ๊ฒฝ์ฐ, ์์ฒด ํ ์term
์ ์ค์ ํฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋
term
๊ณผversion
์ ์ฌ์ฉํ์ฌ '์ต์ ' ๋ณต์ ๋ณธ ๊ตฌ์ฑ์ ๊ดํ ํฉ์๋ฅผ ๋์ถํฉ๋๋ค. ๋ฉค๋ฒ๊ฐ ๋ณต์ ๋ณธ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ๋น๊ตํ ๋term
๊ฐ์ด ๋ ํฐ ๊ตฌ์ฑ ๋ฌธ์๊ฐ '์ต์ ' ๋ฌธ์๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.term
์ด ๊ฐ๊ฑฐ๋ ์๋ ๊ฒฝ์ฐ,version
๊ฐ์ด ๋ ํฐ ๊ตฌ์ฑ ๋ฌธ์๊ฐ '์ต์ '์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
configsvr
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: false
์ค๋ฉ๋ ํด๋ฌ์คํฐ์ config ์๋ฒ์ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ฌ์ฉํ ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ config ์๋ฒ์ฉ์ธ ๊ฒฝ์ฐ
true
๋ก ์ค์ ํฉ๋๋ค.
protocolVersion
์ ํ: ์ซ์
๊ธฐ๋ณธ๊ฐ: 1
MongoDB๋
protocolVersion: 1
๋ง ์ง์ํ๋ฉฐ ๋ ์ด์protocolVersion: 0
์ ์ง์ํ์ง ์์ต๋๋ค.
writeConcernMajorityJournalDefault
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: true
์ฐ๊ธฐ ๊ณ ๋ ค๊ฐ ์ ๋ ์ต์ j๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ
{ w: "majority" }
์ฐ๊ธฐ ๊ณ ๋ ค์ ๋์์ ๊ฒฐ์ ํฉ๋๋ค.๋ค์ ํ์๋
writeConcernMajorityJournalDefault
๊ฐ๊ณผ ๊ด๋ จ{ w: "majority" }
๋์์ด ๋์ด๋์ด ์์ต๋๋ค.๊ฐ{ w: "majority" }
ํ๋trueMongoDB๋ ๋๋ค์์ ํฌํ ๋ฉค๋ฒ๊ฐ ์จ๋์คํฌ ์ ๋์ ์ฐ๊ธฐ๋ฅผ ์ํํ ํ์ ์ฐ๊ธฐ ์์ ์ ์น์ธํฉ๋๋ค.
์ค์: ๋ณต์ ๋ณธ ์ธํธ ์ ๋ชจ๋ ํฌํ ๋ฉค๋ฒ๋
writeConcernMajorityJournalDefault
์ดtrue
์ผ ๋ ์ ๋๋ง๊ณผ ํจ๊ป ์คํ ๋์ด์ผ ํฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ์ ํฌํ ๋ฉค๋ฒ๊ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
writeConcernMajorityJournalDefault
๋ฅผfalse
๋ก ์ค์ ํด์ผ ํฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ์ ํฌํ ๋ ธ๋๊ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง์ ์ฌ์ฉํ๋ฉฐ
writeConcernMajorityJournalDefault
๊ฐtrue
์ธ ๊ฒฝ์ฐ,"majority"
์ฐ๊ธฐ (write) ์์ ์ ์คํจํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋replSetStepDown
๋ช ๋ น ๋ฑ ๋ณธ์ง์ ์ผ๋ก"majority"
์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ฅผ ์ฌ์ฉํ๋ ์์ ์ด๋ ์ฌ์ฉ์ ๊ด๋ฆฌ ๋ฉ์๋ ๋ฐ ์ญํ ๊ด๋ฆฌ ๋ฉ์๋ ๋ฑ ๊ธฐ๋ณธ๊ฐ์ผ๋ก"majority"
๋ฅผ ์ฌ์ฉํ๋ ๋ค์ํmongosh
๋ฉ์๋๋ฅผ ํฌํจํฉ๋๋ค.๋ฒ์ 4.2(4.0.13 ๋ฐ 3.6.14 ํฌํจ)๋ถํฐ, ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง(ํฌํ ๋๋ ๋นํฌํ)์ ์ฌ์ฉํ์ง๋ง ๋ณต์ ๋ณธ ์ธํธ์
writeConcernMajorityJournalDefault
๊ฐ 'true'๋ก ์ค์ ๋ ๊ฒฝ์ฐ, ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ ์์ ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.๊ฑฐ์งMongoDB๋ ๋๋ค์์ ํฌํ ๋ฉค๋ฒ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ ์ ์ ์ฉํ ํ์ ์ฐ๊ธฐ ์์ ์ ์น์ธํฉ๋๋ค.
๊ฒฝ๊ณ :
๋ณต์ ๋ณธ ์ธํธ์ ํฌํ ๋ฉค๋ฒ๊ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
writeConcernMajorityJournalDefault
๋ฅผfalse
๋ก ์ค์ ํด์ผ ํฉ๋๋ค.๋ฒ์ 4.2(4.0.13 ๋ฐ 3.6.14 ํฌํจ)๋ถํฐ, ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง(ํฌํ ๋๋ ๋นํฌํ)์ ์ฌ์ฉํ์ง๋ง ๋ณต์ ๋ณธ ์ธํธ์
writeConcernMajorityJournalDefault
๊ฐ 'true'๋ก ์ค์ ๋ ๊ฒฝ์ฐ, ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ ์์ ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.writeConcernMajorityJournalDefault
๊ฐfalse
๋ก ์ค์ ๋ ์ค๋๊ฐ ์๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ(์: ์ธ๋ฉ๋ชจ๋ฆฌ ์คํ ๋ฆฌ์ง ์์ง์ ์ฌ์ฉํ๋ ํฌํ ๋ฉค๋ฒ๊ฐ ์๋ ์ค๋)์์๋ ํธ๋์ญ์ ์ ์คํํ ์ ์์ต๋๋ค.
members
members
์ ํ: ๋ฐฐ์ด
๋ ธ๋ ๊ตฌ์ฑ ๋ฌธ์์ ๋ฐฐ์ด์ด๋ฉฐ, ๋ณต์ ๋ณธ ์ธํธ์ ๋ ธ๋๋ง๋ค ํ ๊ฐ๊ฐ ์์ต๋๋ค.
members
๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ 0์ธ ๋ฐฐ์ด์ ๋๋ค.๊ฐ ๋ฉค๋ฒ๋ณ ๊ตฌ์ฑ ๋ฌธ์์๋ ๋ค์ ํ๋๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
members[n]._id
์ ํ: integer
๋ณต์ ๋ณธ ์ธํธ์ ์๋ ๋ฉค๋ฒ์ ์ ์ ์๋ณ์์ด๋ฉฐ, ๋ชจ๋ ๋ฉค๋ฒ ๊ฐ์ ๊ณ ์ ํฉ๋๋ค.
MongoDB 5.0๋ถํฐ ๊ฐ์
0
์ด์์ ์ ์ ๊ฐ์ผ ์ ์์ต๋๋ค. ์ด์ ์๋ ์ด ๊ฐ์ด0
๋ถํฐ255
๊น์ง์ ์ ์๋ก ์ ํ๋์์ต๋๋ค.๊ฐ ๋ณต์ ๋ณธ ์ธํธ ๋ ธ๋์๋ ๋ฐ๋์ ๊ณ ์ ํ
_id
๊ฐ ์์ด์ผ ํฉ๋๋ค. ํ์ฌ ๊ตฌ์ฑ์์ ํด๋น_id
๋ฅผ ์ฌ์ฉํ๋members[n]
ํญ๋ชฉ์ด ์๋๋ผ๋_id
๊ฐ์ ๋ค์ ์ฌ์ฉํ์ง ๋ง์ธ์.ํ ๋ฒ ์ค์ ํ ๋ฉค๋ฒ์
_id
๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.์ฐธ๊ณ
๋ณต์ ๋ณธ ๊ตฌ์ฑ ๊ฐ์ฒด๋ฅผ ์ ๋ฐ์ดํธํ ๋๋ ๋ฐฐ์ด ์ธ๋ฑ์ค๊ฐ ์๋
members
๋ฐฐ์ด์์ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ์ก์ธ์คํฉ๋๋ค. ๋ฐฐ์ด ์ธ๋ฑ์ค๋0
์ผ๋ก ์์ํฉ๋๋ค. ์ด ์ธ๋ฑ์ค ๊ฐ์members
๋ฐฐ์ด์ ์๋members[n]._id
ํ๋ ๊ฐ์ผ๋ก ํผ๋ํ์ง ๋ง์ธ์.
members[n].host
์ ํ: ๋ฌธ์์ด
์ธํธ ๋ฉค๋ฒ์ ํธ์คํธ ์ด๋ฆ ๋ฐ ํฌํธ ๋ฒํธ(์ง์ ๋ ๊ฒฝ์ฐ)์ ๋๋ค.
ํธ์คํธ ์ด๋ฆ์ ๋ณต์ ๋ณธ ์ธํธ์ ๋ชจ๋ ํธ์คํธ์์ ํด์ํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฒฝ๊ณ
members[n].host
๋ ์ธํธ์ ๋ชจ๋ ๋ฉค๋ฒ๊ฐlocalhost
๋ก ํด์๋๋ ํธ์คํธ์ ์์ง ์์ ์ด์,localhost
๋๋ ๋ก์ปฌ ์ธํฐํ์ด์ค๋ก ํด์๋๋ ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
members[n].arbiterOnly
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: false
์ค์ฌ์๋ฅผ ์๋ณํ๋ ๋ถ์ธ์ ๋๋ค. ๊ฐ์ด
true
์ด๋ฉด ๋ฉค๋ฒ๊ฐ ์ค์ฌ์์์ ๋ํ๋ ๋๋ค.rs.addArb()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ฌ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ, ์ด ๋ฉ์๋๋ ์ถ๊ฐ๋ ๋ฉค๋ฒ์ ๋ํดmembers[n].arbiterOnly
๋ฅผtrue
๋ก ์๋ ์ค์ ํฉ๋๋ค.
members[n].buildIndexes
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: true
mongod
๊ฐ ์ด ๋ฉค๋ฒ์ ๋ํด ์ธ๋ฑ์ค๋ฅผ ๋น๋ํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ ๋ถ์ธ์ ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ ๋๋ง ์ด ๊ฐ์ ์ค์ ํ ์ ์์ต๋๋ค. ๋ ธ๋๋ฅผ ์ธํธ์ ์ถ๊ฐํ ํ์๋members[n].buildIndexes
ํ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ค๋ฉดrs.add()
๋ฐrs.reconfig()
๋ฅผ ์ฐธ์กฐํ์ธ์.ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋
mongod
์ธ์คํด์ค์ ๊ฒฝ์ฐfalse
๋ก ์ค์ ํ์ง ๋ง์ธ์.๋ค์ ์กฐ๊ฑด์ ๋ชจ๋ ํด๋นํ๋ ๊ฒฝ์ฐ,
buildIndexes
๋ฅผfalse
๋ก ์ค์ ํ๋ ๊ฒ์ด ์ ์ฉํ ์ ์์ต๋๋ค.์ด ์ธ์คํด์ค๋
mongodump
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์ ์ ์ํํ๋ ๋ฐ๋ง ์ฌ์ฉํ๊ณ ์๊ณ์ด ๋ฉค๋ฒ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ง ์์ต๋๋ค.
์ธ๋ฑ์ค ์์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋ก ์ธํด ํธ์คํธ ์์คํ ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
์ธ์ปจ๋๋ฆฌ๋
false
๋ก ์ค์ ๋๋๋ผ๋, ๋ณต์ ์ ํ์ํ ์์ ์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด_id
ํ๋์ ์ธ๋ฑ์ค๋ฅผ ๋น๋ํ ๊ฒ์ ๋๋ค.๊ฒฝ๊ณ
members[n].buildIndexes
๋ฅผfalse
๋ก ์ค์ ํ๋ ๊ฒฝ์ฐmembers[n].priority
๋ ๋ฐ๋์0
์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.members[n].priority
๊ฐ0
์ด ์๋ ๊ฒฝ์ฐ,false
์ ๋์ผํmembers[n].buildIndexes
๊ฐ ์๋ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํ๋ฉด MongoDB๋ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค.๋ฉค๋ฒ๊ฐ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ง ์๋๋ก ํ๋ ค๋ฉด ์ธ๋ฑ์ค๋ฅผ ๋น๋ํ์ง ์๋ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ์จ๊ฒจ์ผ ํฉ๋๋ค.
๋ค๋ฅธ ์ธ์ปจ๋๋ฆฌ๋
members[n].buildIndexes
๊ฐ false์ธ ๋ ธ๋๋ก๋ถํฐ ๋ณต์ ํ ์ ์์ต๋๋ค.
members[n].hidden
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: false
์ด ๊ฐ์ด
true
์ด๋ฉด ๋ณต์ ๋ณธ ์ธํธ๋ ์ด ์ธ์คํด์ค๋ฅผ ์จ๊ธฐ๊ณ ํด๋น ๋ฉค๋ฒ๋ฅผdb.hello()
๋๋hello
์ ์ถ๋ ฅ์ ํฌํจํ์ง ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๊ธฐ ์์ (์ฟผ๋ฆฌ)์ด ์ธ์ปจ๋๋ฆฌ ์ฝ๊ธฐ ์ค์ ์ ํตํด ์ด ํธ์คํธ์ ๋๋ฌํ ์ ์์ต๋๋ค.์จ๊ฒจ์ง ๋ฉค๋ฒ๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ก ์คํ๋ ์ฐ๊ธฐ (write) ์์ ์ ์น์ธํ ์ ์์ต๋๋ค.
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ก ์คํ๋ ์ฐ๊ธฐ (write) ์์ ์ ๊ฒฝ์ฐ, ๋ฐ๋์ ํด๋น ๋ ธ๋๋ ํฌํ๊ถ์ด ์๋ ๋ ธ๋์ฌ์ผ ํฉ๋๋ค(์ฆ,votes
๊ฐ0
๋ณด๋ค ํผ).
members[n].priority
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ํ๋ผ์ด๋จธ๋ฆฌ/์ธ์ปจ๋๋ฆฌ์ ๊ฒฝ์ฐ 0์์ 1,000 ์ฌ์ด์ ์ซ์์ ๋๋ค. ์ค์ฌ์์ ๊ฒฝ์ฐ 0 ๋๋ 1์ ๋๋ค.
๊ธฐ๋ณธ๊ฐ: ํ๋ผ์ด๋จธ๋ฆฌ/์ธ์ปจ๋๋ฆฌ๋ 1.0, ์ค์ฌ์๋ 0์ ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ์๋์ ์ธ ๊ฐ๋ฅ์ฑ์ ๋ํ๋ด๋ ์ซ์์ ๋๋ค.
๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ ๋์ด๋ ค๋ฉด ํด๋น ๋ฉค๋ฒ์ ๋ํด ๋ ๋์
priority
๊ฐ์ ์ง์ ํ์ธ์.๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ ๋ฎ์ถ๋ ค๋ฉด ํด๋น ๋ฉค๋ฒ์ ๋ํด ๋ ๋ฎ์
priority
๊ฐ์ ์ง์ ํ์ธ์.
๋ฉค๋ฒ์ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ํ๋ ์ด์์ ํฌํ๊ฐ ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค. ํฌํ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๋ฉค๋ฒ๋ฅผ ํ๋ผ์ด๋จธ๋ฆฌ๋ก ์ ์ถํ๊ธฐ ์ํด ์ต์ ์ ์กฐ์น๋ฅผ ์ทจํฉ๋๋ค. ํ์ง๋ง ์ฐ์ ์์๊ฐ ๋์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ฐ์ ์์๊ฐ ๋ ๋ฎ์ ๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ๊ฐ ๋ ์ ์์ต๋๋ค.
๋ง์ฝ ์ฐ์ ์์๊ฐ ๋ ๋ฎ์ ๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋๋ฉด, ์๋ฒ๋ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ๋๊น์ง ์ฃผ๊ธฐ์ ์ผ๋ก ํฌํ๋ฅผ ๊ณ์ ํธ์ถํฉ๋๋ค. ํฌํ ๋น๋๋ ์ ์ถ๋ ๋ฉค๋ฒ์ ์ต์ฐ์ ์์ ๋ฉค๋ฒ ๊ฐ์ ์ฐ์ ์์ ์ฐจ์ด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์ฐ์ ์์๊ฐ
0
์ธ ๋ฉค๋ฒ๋ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ์ ์์ต๋๋ค.ํฌํ๊ถ์ด ์๋ ๋ ธ๋(
votes
๊ฐ0
์ผ๋ก ์ค์ ๋ ๋ ธ๋)๋ ์ฐ์ ์์๊ฐ ๋ฐ๋์0
์ด์ด์ผ ํฉ๋๋ค.
members[n].tags
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ฌธ์
๊ธฐ๋ณธ๊ฐ: ์์
tags
๋ฌธ์์๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ฅผ ์ํ ์ฌ์ฉ์ ์ ์ ํ๊ทธ ํ๋์ ๊ฐ ์์ด ํฌํจ๋์ด ์์ต๋๋ค.{ "<tag1>": "<string1>", "<tag2>": "<string2>",... } ์ฝ๊ธฐ ์์ ์ ๊ฒฝ์ฐ, ์ฝ๊ธฐ ์ค์ ์์ ํ๊ทธ ์ธํธ๋ฅผ ์ง์ ํ์ฌ ์ง์ ๋ ํด๋น ํ๊ทธ๊ฐ ์๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์๊ฒ ์์ ์ ์ง์ํ ์ ์์ต๋๋ค.
์ฐ๊ธฐ (write) ์์ ์ ๊ฒฝ์ฐ
settings.getLastErrorModes
๋ฐsettings.getLastErrorDefaults
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ์ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์์ฑํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๋ณต์ ๋ณธ ์ธํธ ํ๊ทธ ์ธํธ ๊ตฌ์ฑ์์ ํ์ธํ์ธ์.
members[n].secondaryDelaySecs
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: integer
๊ธฐ๋ณธ๊ฐ: 0
์ด ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ '์ง์ฐ'ํด์ผ ํ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ณด๋ค '๋ค์ฒ์ง๋' ์๊ฐ(์ด)์ ๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ์ฌ ์ง์ฐ ๋ฉค๋ฒ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ง์ฐ ๋ฉค๋ฒ๋ ๊ณผ๊ฑฐ ํน์ ์์ ์ ๋ฐ์ดํฐ ์ํ๋ฅผ ๋ฐ์ํ๋ ๋ฐ์ดํฐ ์ฌ๋ณธ์ ์ ์งํฉ๋๋ค.
์ง์ฐ ๋ฉค๋ฒ๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ก ์คํ๋ ์ฐ๊ธฐ (write) ์์ ์ ์น์ธํ๋ ๋ฐ ๊ธฐ์ฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ตฌ์ฑ๋ ์ง์ฐ ๊ฐ ์ด์ ์๋ ์ฐ๊ธฐ (write) ์น์ธ์ ๋ฐํํ์ง ์์ต๋๋ค.
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ก ์คํ๋ ์ฐ๊ธฐ (write) ์์ ์ ๊ฒฝ์ฐ, ํด๋น ๋ ธ๋๋ ํฌํ๊ถ์ด ์๋ ๋ ธ๋์ฌ์ผ ํฉ๋๋ค(์ฆ,votes
๊ฐ0
๋ณด๋ค ํผ).
members[n].votes
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: integer
๊ธฐ๋ณธ๊ฐ: 1
์๋ฒ๊ฐ ๋ณต์ ๋ณธ ์ธํธ ํฌํ์์ ํฌํํ ํฌํ๊ถ ์์ ๋๋ค. ๊ฐ ๋ฉค๋ฒ๊ฐ ๊ฐ์ง ํฌํ๊ถ ์๋
1
๋๋0
์ด๋ฉฐ, ์ค์ฌ์๋ ํญ์ ์ ํํ1
๊ฐ์ ํฌํ๊ถ์ ๊ฐ์ต๋๋ค.priority
๊ฐ 0๋ณด๋ค ํฐ ๋ ธ๋๋votes
0๊ฐ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.๋ณต์ ๋ณธ ์ธํธ๋ ์ต๋ ๋ ธ๋ 50๊ฐ๋ฅผ ํฌํจํ ์ ์์ง๋ง ํฌํ๊ถ์ ๊ฐ์ง ๋ ธ๋๋ 7๊ฐ๋ฟ์ ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ ํ ๊ฐ์ 7๊ฐ๊ฐ ๋๋ ๋ ธ๋๊ฐ ํ์ํ ๊ฒฝ์ฐ, ํฌํ๊ถ์ด ์๋ ์ถ๊ฐ ๋ ธ๋์ ๋ํด
members[n].votes
๋ฅผ0
์ผ๋ก ์ค์ ํฉ๋๋ค.ํฌํ๊ถ์ด ์๋(์ฆ,
votes
๊ฐ0
์) ๋ ธ๋๋ ๋ฐ๋์ 0์ธpriority
๊ฐ ์์ด์ผ ํฉ๋๋ค.MongoDB 5.0๋ถํฐ ์๋ก ์ถ๊ฐ๋ ์ธ์ปจ๋๋ฆฌ๋ ํฌํ ๋ฉค๋ฒ๋ก ๊ฐ์ฃผ๋์ง ์์ผ๋ฉฐ,
SECONDARY
์ํ์ ๋๋ฌํ ๋๊น์ง ์ ์ถ๋ ์ ์์ต๋๋ค.ํฌํ๊ถ์ด ์๋ ๋ฉค๋ฒ๋
"majority"
์ฐ๊ธฐ ๊ณ ๋ ค๋ก ์คํ๋ ์ฐ๊ธฐ ์์ ์ ์น์ธํ ์ ์์ต๋๋ค.ํ
๋ค์๋ ์ฐธ์กฐํ์ธ์.
settings
settings
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ฌธ์
์ ์ฒด ๋ณต์ ๋ณธ ์ธํธ์ ์ ์ฉ๋๋ ๊ตฌ์ฑ ์ต์ ์ด ํฌํจ๋ ๋ฌธ์์ ๋๋ค.
settings
๋ฌธ์์๋ ๋ค์ ํ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.settings.chainingAllowed
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ถ์ธ
๊ธฐ๋ณธ๊ฐ: true
MongoDB 5.0.1 ์ด์ ๋ฒ์ ์์๋
settings.chainingAllowed
๊ฐ ๋ค์์ธ ๊ฒฝ์ฐ,true
๋ก ์ค์ ํ๋ฉด ๋ณต์ ๋ณธ ์ธํธ์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๊ฐ ๋ค๋ฅธ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค.false
(์ผ)๋ก ์ค์ ํ๋ฉด ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ ํ๋ผ์ด๋จธ๋ฆฌ์ ๋ฐ์ดํฐ๋ง ๋ณต์ ํ ์ ์์ต๋๋ค.
MongoDB 5.0.2๋ถํฐ๋
๋ณต์ ๋ณธ ์ธํธ์ ์ธ์ปจ๋๋ฆฌ ๋ ธ๋๋
settings.chainingAllowed
๊ฐfalse
์ธ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ์ธ์ปจ๋๋ฆฌ ๋ ธ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค.settings.chainingAllowed
๋ฅผ ์ฌ์ ์ํ๋ ค๋ฉดenableOverrideClusterChainingSetting
์๋ฒ ๋งค๊ฐ ๋ณ์๋ฅผtrue
๋ก ์ค์ ํ์ธ์.enableOverrideClusterChainingSetting
์ ๊ธฐ๋ณธ๊ฐ์false
์ ๋๋ค.
settings.getLastErrorDefaults
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ฌธ์
MongoDB 5.0๋ถํฐ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์
MongoDB 5.0๋ถํฐ ๊ธฐ๋ณธ๊ฐ์ด
{ w: 1, wtimeout: 0 }
์ธ ๊ฒฝ์ฐ ์ธ์๋settings.getLastErrorDefaults
๊ธฐ๋ณธ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋์setDefaultRWConcern
๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ ์ธํธ ๋๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ ๋ํ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern) ๊ตฌ์ฑ์ ์ค์ ํฉ๋๋ค.
settings.getLastErrorModes
์ ํ ์ฌํญ์ ๋๋ค.
์ ํ: ๋ฌธ์
members[n].tags
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฌธ์์ ๋๋ค. ์ฌ์ฉ์ ์ง์ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ ๋ฐ์ดํฐ ์ผํฐ ์ธ์์ ์ ๊ณตํ ์ ์์ต๋๋ค.{ getLastErrorModes: { <name of write concern> : { <tag1>: <number>, .... }, ... } } <number>
๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ฅผ ์ถฉ์กฑํ๊ธฐ ์ํด ํ์ํ ๋ค์ํ ํ๊ทธ ๊ฐ์ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์์settings.getLastErrorModes
๋dc
ํ๊ทธ ๊ฐ์ด ๋ค๋ฅธ ๋ ธ๋ ๋ ๊ฐ์ ์ฐ๊ธฐ (write)๋ฅผ ์ ํํด์ผ ํ๋,datacenter
๋ผ๋ ์ด๋ฆ์ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern)๋ฅผ ์ ์ํฉ๋๋ค.{ getLastErrorModes: { datacenter: { "dc": 2 } } } ์ฌ์ฉ์ ์ง์ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ฐ๊ธฐ ๊ณ ๋ ค ์ด๋ฆ์
w
์ต์ ์ผ๋ก ์ ๋ฌํฉ๋๋ค. ๊ทธ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.{ w: "datacenter" } ์์ธํ ๋ด์ฉ๊ณผ ์์๋ ๋ณต์ ๋ณธ ์ธํธ ํ๊ทธ ์ธํธ ๊ตฌ์ฑ์์ ํ์ธํ์ธ์.
settings.heartbeatTimeoutSecs
์ ํ ์ฌํญ์ ๋๋ค.
ํ์: int
๊ธฐ๋ณธ๊ฐ: 10
๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ์๋ก์๊ฒ์ ์ฑ๊ณต์ ์ธ ํํธ๋นํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ(์ด)์ ๋๋ค. ๋ฉค๋ฒ๊ฐ ์๊ฐ ๋ด์ ์๋ตํ์ง ์์ผ๋ฉด ๋ค๋ฅธ ๋ฉค๋ฒ๋ ์ง์ฐ๋๋ ํด๋น ๋ฉค๋ฒ๋ฅผ ์ก์ธ์ค ๋ถ๊ฐ๋ก ํ์ํฉ๋๋ค.
settings.electionTimeoutMillis
์ ํ ์ฌํญ์ ๋๋ค.
ํ์: int
๊ธฐ๋ณธ๊ฐ: 10000(10์ด)
๋ณต์ ๋ณธ ์ธํธ์ ํ๋ผ์ด๋จธ๋ฆฌ์ ์ฐ๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์งํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ ์ ํ(๋ฐ๋ฆฌ์ด)์ ๋๋ค. ์ด ์ค์ ์
protocolVersion: 1
์ฌ์ฉ ์ ํ์ผ์ค๋ฒ ๋ฏผ๊ฐ๋๋ฅผ ์ ์ดํฉ๋๋ค. ํ์ผ์ค๋ฒ๊ฐelectionTimeoutMillis
๊ฐ์ ์ด๊ณผํ์ง ์์ ๊ฒ์ผ๋ก ์์ํ ์ ์์ต๋๋ค.๊ฐ์ ์ ํํ ๋ ๋ค์ ์ฌํญ์ ๊ณ ๋ คํ์ธ์.
๊ฐ์ด ๋์์๋ก ํ์ผ์ค๋ฒ๋ ๋๋ ค์ง์ง๋ง, ํ๋ผ์ด๋จธ๋ฆฌ ๋ ธ๋๋ ๋คํธ์ํฌ์ ์๋ ์ ํ ๋๋ ์ฅ์ ์ ๋ํ ๋ฏผ๊ฐ๋๊ฐ ๋ฎ์์ง๋๋ค.
๊ฐ์ด ๋ฎ์์๋ก ํ์ผ์ค๋ฒ๋ ๋นจ๋ผ์ง์ง๋ง, ํ๋ผ์ด๋จธ๋ฆฌ ๋ ธ๋๋ ๋คํธ์ํฌ์ ์๋ ์ ํ ๋๋ ์ฅ์ ์ ๋ํ ๋ฏผ๊ฐ๋๊ฐ ๋์์ง๋๋ค.
์ด ์ค์ ์
protocolVersion: 1
์ ์ฌ์ฉํ ๋๋ง ์ ์ฉ๋ฉ๋๋ค.์ฐธ๊ณ
force
ํ๋๋ฅผtrue
๋ก ์ค์ ํ์ง ์๊ณrs.stepDown()
๋๋replSetStepDown
์ ์ฌ์ฉํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๊ฐ๋ฑํ๋ ๊ฒฝ์ฐ, ๊ฐ๋ฑ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ ์ฆ์ ํฌํ๋ฅผ ํธ์ถํ ์ ์๋ ์ ๊ฒฉ ์ธ์ปจ๋๋ฆฌ๋ฅผ ์ง๋ช ํฉ๋๋ค.
settings.catchUpTimeoutMillis
์ ํ ์ฌํญ์ ๋๋ค.
ํ์: int
๊ธฐ๋ณธ๊ฐ: -1, ์บ์น์ ์๊ฐ ๋ฌดํ๋
์๋ก ์ ์ถ๋ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ ์ต๊ทผ ์ฐ๊ธฐ๊ฐ ์์ ์ ์๋ ๋ค๋ฅธ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ๋๊ธฐํ(์บ์น์ )ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ(๋ฐ๋ฆฌ์ด)์ ๋๋ค. ๋ฌด์ ํ ๋๋ ๋์ ์๊ฐ ์ ํ์ ํฌํ ํ ๋ค๋ฅธ ๋ฉค๋ฒ๊ฐ ๋กค๋ฐฑํด์ผ ํ๋ ๋ฐ์ดํฐ์ ์์ ์ค์ผ ์ ์์ง๋ง, ํ์ผ์ค๋ฒ ์๊ฐ์ ๋๋ฆด ์ ์์ต๋๋ค.
์๋ก ์ ์ถ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ ๋ณต์ ๋ณธ ์ธํธ์ ๋ค๋ฅธ ๋ฉค๋ฒ๋ค์ ์์ ํ ๋ฐ๋ผ์ก์ผ๋ฉด ์บ์น์ ๊ธฐ๊ฐ์ ์ผ์ฐ ์ข ๋ฃํฉ๋๋ค. ์บ์น์ ๊ธฐ๊ฐ ๋์ ์๋ก ์ ์ถ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ ํด๋ผ์ด์ธํธ์ ์ฐ๊ธฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
replSetAbortPrimaryCatchUp
์ ์ฌ์ฉํ์ฌ ์บ์น์ ์ ์ค๋จํ ๋ค์ ํ๋ผ์ด๋จธ๋ฆฌ๋ก์ ์ ํ์ ์๋ฃํฉ๋๋ค.์ด ์ค์ ์
protocolVersion: 1
์ ์ฌ์ฉํ ๋๋ง ์ ์ฉ๋ฉ๋๋ค.
settings.catchUpTakeoverDelayMillis
์ ํ ์ฌํญ์ ๋๋ค.
ํ์: int
๊ธฐ๋ณธ๊ฐ: 30000(30์ด)
๋ ธ๋๊ฐ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ณด๋ค ์์ ์๋ค๊ณ ํ๋จํ ํ ์บ์น์ ํ ์ดํฌ์ค๋ฒ๋ฅผ ์์ํ๊ธฐ ์ํด ๋๊ธฐํ๋ ์๊ฐ(๋ฐ๋ฆฌ์ด)์ ๋๋ค. ์บ์น์ ํ ์ดํฌ์ค๋ฒ ์ค์ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ณด๋ค ์์ ๋ ธ๋๊ฐ ๋ณต์ ๋ณธ ์ธํธ์ ์๋ก์ด ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋๊ธฐ ์ํ ํฌํ๋ฅผ ์์ํฉ๋๋ค.
ํ ์ดํฌ์ค๋ฒ๋ฅผ ์์ํ ๋ ธ๋๊ฐ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ณด๋ค ์์ ์๋ค๊ณ ํ๋จํ ํ, ์ง์ ๋ ์๊ฐ(๋ฐ๋ฆฌ์ด) ๋์ ๊ธฐ๋ค๋ฆฐ ํ ๋ค์์ ํ์ธํฉ๋๋ค.
์ฌ์ ํ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ณด๋ค ์์ ์์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ ธ๋ ์ค ๊ฐ์ฅ ์ต์ ๋ ธ๋์ ๋๋ค.
ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ์ด๋ฅผ ๋ฐ๋ผ์ก๊ณ ์์ต๋๋ค.
์ด๋ฌํ ์กฐ๊ฑด์ด ๋ชจ๋ ์ถฉ์กฑ๋๋ค๊ณ ํ๋จ๋๋ฉด ํ ์ดํฌ์ค๋ฒ๋ฅผ ์์ํ๋ ๋ ธ๋๊ฐ ์ฆ์ ํฌํ ํ๋ณด์ ์ค๋ฆ ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ํฌํ์ ๊ดํ ์์ธํ ๋ด์ฉ์ ๋ณต์ ๋ณธ ์ธํธ ํฌํ์์ ํ์ธํ์ธ์.
์ฐธ๊ณ
catchUpTakeoverDelayMillis
๋ฅผ-1
๋ก ์ค์ ํ๋ฉด ์บ์น์ ํ ์ดํฌ์ค๋ฒ๊ฐ ๋นํ์ฑํ๋ฉ๋๋ค.catchUpTimeoutMillis
๋ฅผ0
์ผ๋ก ์ค์ ํ๋ฉด ํ๋ผ์ด๋จธ๋ฆฌ ์บ์น์ ์ด ๋นํ์ฑํ๋๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์บ์น์ ํ ์ดํฌ์ค๋ฒ๋ ๋นํ์ฑํ๋ฉ๋๋ค.
settings.heartbeatIntervalMillis
๋ด๋ถ์ฉ์ผ๋ก๋ง ์ฌ์ฉํ์ธ์.
ํํธ๋นํธ์ ๋ฐ๋ฆฌ์ด ๋จ์ ์ฃผํ์์ ๋๋ค.
settings.replicaSetId
์ ํ: ObjectId
๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐ๋์ด ์๊ณ
rs.initiate()
๋๋replSetInitiate
๋์ ์๋์ผ๋ก ์์ฑ๋ ObjectId์ ๋๋ค.replicaSetId
๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.