Intro
์ด๋ฒ ์๊ฐ์๋ spring boot ์์ mongodb read preference๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ ๊ฒฝ์ฐ Spring boot ๋ก ๊ตฌ์ฑ๋ ํ๋ก์ ํธ์ monogo db read preference ๊ฐ ๋ฐ๋ก ์ ์ฉ๋์ด ์์ง ์์์ต๋๋ค. ์ฌ๋ฌ read preference mode ์ค์์ secondaryPreferred ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด ๊ตฌ๊ธ๋ง์ ํด๋ดค์ต๋๋ค.
Read preference
์ฐธ๊ณ ๋ก, Read preference๋ MongoDB ํด๋ผ์ด์ธํธ๊ฐ ์ฝ๊ธฐ ์์ ์ replica set์ members์๊ฒ route ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ๊ฒ์ ๋๋ค. ์ด 5๊ฐ์ง์ ๋ฐฉ์์ด ์์ผ๋ฉฐ, primary๊ฐ ๊ธฐ๋ณธ default ๊ฐ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
- primary (default mode)
- primaryPreferred
- secondary
- secondaryPreferred
- nearest
How to solve the problem
MongoTemplate template = new MongoTemplate(...);
template.setReadPreference(ReadPreference.secondaryPreferred())
๋ค์์ ํ์์ผ๋ก ์ฌ์ฉํ๊ณ ์ ํ๋ read preference๋ฅผ ์ ์ฉํด์ฃผ๋ฉด ๋ฉ๋๋ค.
https://www.mongodb.com/docs/manual/core/read-preference/