๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Spring๐Ÿƒ

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ(Primary, Replica)

728x90

์ถœ์ฒ˜ : ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

 

DB๊ฐ€ ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ : ํšŒ์›์ •๋ณด, ์„œ๋น„์Šค ์ด์šฉ์ •๋ณด ๋“ฑ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฆฌ์†Œ์Šค

-> DB์˜ ํ›ผ์† ๊ฐ€๋Šฅ์„ฑ : DB๊ฐ€ ์žˆ๋Š” ํ•˜๋“œ๋””์Šคํฌ์˜ ์†์ƒ ๋“ฑ ~ ์ผ๋ฐ˜์ ์œผ๋กœ 2๋Œ€ ์ด์ƒ์„ ์šด์šฉํ•˜๊ณ  ์ด๋ฅผ ๋™๊ธฐํ™”ํ•œ๋‹ค.

 

๋™๊ธฐํ™” ๋ฐฉ๋ฒ• :

์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ๊ธฐ ์ „์šฉ DB์™€ ์“ฐ๊ธฐ ์ „์šฉ DB๋กœ ๋‚˜๋ˆ„๊ณ 

์“ฐ๊ธฐ ์ „์šฉ DB๋Š” ํ•˜๋‚˜, ์ฝ๊ธฐ ์ „์šฉ DB๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋‘๊ณ  ์“ฐ๊ธฐ DB๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

-> Primary/Replica ๋ฐฉ์‹

Primary : ์“ฐ๊ธฐ ์ „์šฉ == @Transactional(readOnly = false) ~ readOnly ๊ธฐ๋ณธ๊ฐ’์€ false

Replica : ์ฝ๊ธฐ ์ „์šฉ == @Transactional(readOnly = true)

 

์ „์ œ์กฐ๊ฑด : ์Šคํ”„๋ง์— Primary DB endpoint, Replica DB endpoint๋ฅผ ์„ค์ •ํ•ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค

 

+ Primary DB์— ์ด์ƒ์ด ์ƒ๊ธด ๊ฒฝ์šฐ, Replica ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐฑ์—… DB๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‚˜์ค‘์— ์ถ”๊ฐ€ ๊ณต๋ถ€ํ•˜๊ธฐ!

 

 

728x90