์๋ฒ ์ด์คํ์ ํจ์ : ์์ค๋ฐ์ค๋ก ๋ณํด๋ฒ๋ฆฐ ๋ด ์น์ฌ์ดํธ ์ธ๋ค์ผ ๊ตฌ์ถ ์์
์น์ฌ์ดํธ๋ฅผ ์ด์ํ๋ฉด์ ๋ฐฉ๋ฌธ์๊ฐ ๋์ด๋๊ณ ํ์ฑํ๋๋ ๊ฒ์ ๋๋ฌด๋ ํ๋ณตํ ์ผ์ด์ง๋ง, ๋์์ '์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ์ด๋กํ์ง?'๋ผ๋ ์์ฒญ๋ ์๋ฐ๊ฐ์ด ์ฐพ์์ต๋๋ค. ๋จ์ผ ์๋ฒ๋ก ์ด์ํ๋ค๊ฐ ํธ๋ํฝ ํญํ์ ๋ง๊ฑฐ๋ ํด๋ผ์ฐ๋ ์ธ์คํด์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด, ์ฌ์ดํธ ์ ์์ด ๋๊ธฐ๊ณ ์ฌ์ฉ์๋ค์ ๋ ๋๊ฐ๊ธฐ ๋ง๋ จ์ด์ฃ .
๊ทธ๋์ ์ ๋ ์ต๊ทผ ์๋น์ค์ ์์ ์ฑ์ ๊ทน๋ํํ๊ธฐ ์ํด, ๋ฉ์ธ ์๋ฒ๊ฐ ์ฃฝ๋๋ผ๋ ์๋น ์๋ฒ๊ฐ ๊ทธ ์ญํ ์ ์ฆ์ ๋์ ํ๋ '์๋ฒ ์ด์คํ(Failover)' ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ๋ก ๊ฒฐ์ฌํ์ต๋๋ค. ํด๋ผ์ฐ๋ํ๋ ์ด(Cloudflare) ํฐ๋์ ํตํด ํธ๋ํฝ์ ๋ถ์ฐํ๊ณ , ๋ ๋ ํ ์ค๋ผํด ํด๋ผ์ฐ๋(Oracle Cloud) ์ธ์คํด์ค๋ฅผ ์๋ธ ์๋ฒ๋ก ์ฐ๊ฒฐํ๋ ์ผ์ฌ ์ฐฌ ํ๋ก์ ํธ์์ต๋๋ค. ํ์ง๋ง ์ด ์ธํ๋ผ ๊ณ ๋ํ ์์ ์ ์ ์๊ฒ '์์ค๋ฐ์ค(์ด๋ฏธ์ง ๊นจ์ง) ๋์ฐธ์ฌ'๋ผ๋ ๋ผ์ํ ์๋ จ์ ์๊ฒจ์ฃผ์์ต๋๋ค.
์ค๋์ ์๋ฒ ์ด์คํ๋ฅผ ์ฒ์ ์๋ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด 100% ๋ง์ฃผ์น๊ฒ ๋๋ ๋ฌผ๋ฆฌ์ ์ ์ฅ์ ๋ถ๋ฆฌ, ์ผ๋ช ์คํ๋ฆฟ ๋ธ๋ ์ธ(Split-Brain) ํ์์ ํธ๋ฌ๋ธ์ํ ๊ณผ์ ์ ๊ณต์ ํด ๋ณด๋ ค ํฉ๋๋ค.
1. ์ ๋ชฝ์ ์์: ๊ณผ๊ฑฐ์ ๋ฏธ๋์ด ํ์ผ์ด ๋ชจ๋ ์์ค๋ฐ์ค๊ฐ ๋๋ค

ํด๋ผ์ฐ๋ํ๋ ์ด ๋ก๋๋ฐธ๋ฐ์์ ํฐ๋ ์ค์ ์ ๋ง์น๊ณ , ์ค๋ผํด ํด๋ผ์ฐ๋ ์๋ฒ์ ํ์ด์ฌ ๋ฐฑ์๋(FastAPI) ์ฝ๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ฐฐํฌํ์ต๋๋ค. "์ด์ ๋ฉ์ธ ์๋ฒ๊ฐ ์ฃฝ์ด๋ ๋๋ก์๋ค!"๋ผ๊ณ ํํธํ๋ฉฐ ์ฌ์ดํธ์ ์ ์ํ ์๊ฐ, ์ ๋์ ์์ฌํ ์๋ฐ์ ์์์ต๋๋ค.
ํ ์คํธ๋ก ๋ ๊ฒ์๊ธ์ ๋ฉ์ฉกํ๊ฒ ์ ๋์ค๋๋ฐ, ๊ณผ๊ฑฐ์ ์ ์ ๋ค์ด ์ฌ๋ ค๋์๋ ์๋ง์ ์ธ๋ค์ผ๊ณผ ๋ณธ๋ฌธ ์ด๋ฏธ์ง๋ค์ด ๋ชจ์กฐ๋ฆฌ '์์ค๋ฐ์ค(Xํ์)'๋ก ๊นจ์ ธ์ ๋์ค๊ณ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฑ์ค๊ธฐ์ ์์๋์ด ํ๋ ์ต๋๋ค. '์ค๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ค๊ฐ 30GB๊ฐ ๋๋ ์์คํ ๋ฏธ๋์ด ํ์ผ๋ค์ ๋ค ๋ ๋ ค๋ฒ๋ฆฐ ๊ฑด๊ฐ?' ํ๋ ๋์ฐํ ์๊ฐ์ด ์ค์ณ ์ง๋๊ฐ์ต๋๋ค.
ํ์ง๋ง ์นจ์ฐฉํ๊ฒ ํ ์คํธ๋ฅผ ํด๋ณด๋ ์ค, ์์ฃผ ๊ฒฐ์ ์ ์ธ ๋จ์๋ฅผ ํ๋ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ณผ๊ฑฐ์ ๊ธ๋ค์ ์ด๋ฏธ์ง๊ฐ ๋ค ๊นจ์ง๋๋ฐ, ๋ฐฉ๊ธ ๋ง ์๋ก ํ ์คํธ ์ผ์ ์ ๋ก๋ํ ๊ฒ์๊ธ์ ์ด๋ฏธ์ง๋ ์์ฃผ ์ ์์ ์ผ๋ก ์ ๋ณด์ธ๋ค๋ ๊ฒ์ด์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ ๊ฒ์ด ์๋๋ผ, ๋ฌด์ธ๊ฐ ๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๊ฐ ๋์ด์ก๋ค๋ ํ์ ์ด ๋ค์์ต๋๋ค.
2. ์์ธ ํ์ : ๋ ๊ฐ์ ๋, ๋ฌผ๋ฆฌ์ ์ ์ฅ์์ ๋ถ๋ฆฌ(Split-Brain)
๋ฌธ์ ์ ์์ธ์ ๋ฐ๋ก ์๋ฒ ์ธํ๋ผ ๊ตฌ์กฐ ๊ทธ ์์ฒด์ ์์์ต๋๋ค. ์๋ฒ๋ฅผ ์ด์คํํ๋ค๋ ๊ฒ์ '์ฝ๋๋ฅผ ์คํํ๋ ์ปดํจํฐ(์๋ฒ)'๋ฅผ 2๋๋ก ๋๋ฆฐ๋ค๋ ๋ป์ ๋๋ค.
ํธ๋ํฝ ๋ถ์ฐ ์ฒ๋ฆฌ์ ์ํด ์ ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ์๋ก ๊ตฌ์ถํ ์ค๋ผํด ํด๋ผ์ฐ๋(์๋น ์๋ฒ)๋ก ํฅํ์ต๋๋ค. ์ค๋ผํด ์๋ฒ์ ๋ฐฑ์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํด "์ด ๊ธ์ ์ธ๋ค์ผ์ uploads/image_123.png์ ์์ต๋๋ค"๋ผ๋ ์ ๋ณด๋ ์ ๊ฐ์ ธ์์ต๋๋ค. ํ์ง๋ง ๋ง์ ์ค๋ผํด ์๋ฒ์ ํ๋๋์คํฌ ๋ด๋ถ uploads/ ํด๋๋ฅผ ๋ค์ ธ๋ณด๋ ๊ทธ ์ฌ์ง ํ์ผ์ด ์๋ ๊ฒ์
๋๋ค. ์๋ํ๋ฉด ๊ทธ 30GB์ ๊ณผ๊ฑฐ ์ฌ์ง ํ์ผ๋ค์ ๋ฉ์ธ ์๋ฒ์ ํ๋๋์คํฌ์๋ง ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋์ด ์์๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ฐ๋๋ก ์๋ก ์ ๋ก๋ํ ํ์ผ์ ํ์ฌ ํธ๋ํฝ์ด ์ฐ๊ฒฐ๋ ์ค๋ผํด ์๋ฒ์ ํ๋๋์คํฌ์ ์ ์ฅ๋์์ผ๋ ์ ์์ ์ผ๋ก ๋ณด์ด๋ ๊ฒ์ด ๋น์ฐํ์ต๋๋ค. ์ด๋ ๊ฒ ์ฌ๋ฌ ๋์ ์๋ฒ๊ฐ ๊ฐ์์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์๋ง ํ์ผ์ ์ ์ฅํ๊ณ ์๋ก ๊ณต์ ํ์ง ๋ชปํด ๋ฐ์ํ๋ ๋ฐ์ดํฐ ๋ถ์ผ์น ํ์, ์ด๊ฒ์ด ๋ฐ๋ก ์ธํ๋ผ ์์ง๋์ด๋ค์ด ๊ฐ์ฅ ๊ฒฝ๊ณํ๋ ์ ์ฅ์ ๋ถ๋ฆฌ ๋ฌธ์ ์ ๋๋ค.
3. ํด๊ฒฐ์ฑ 1: ๊ธด๊ธ ์ฒ๋ฐฉ (Rsync๋ฅผ ํตํ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ ๋๊ธฐํ)
๋น์ฅ ๊นจ์ ธ์๋ ์ฌ์ดํธ์ ์์ค๋ฐ์ค๋ฅผ ๊ณ ์น๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ ๊ธด๊ธ ์ฒ๋ฐฉ์ ๋ด๋ ธ์ต๋๋ค. ๋ฉ์ธ ์๋ฒ์ ์์ฌ์๋ 30GB์ ๊ณผ๊ฑฐ ๋ฏธ๋์ด ํ์ผ๋ค์ ์ค๋ผํด ์๋ฒ๋ก ๊ณ ์ค๋ํ ๋ณต์ฌํด ์ฃผ๋ ๊ฒ์ ๋๋ค.
๋ฆฌ๋
์ค์ ๊ฐ๋ ฅํ ํ์ผ ๋๊ธฐํ ํด์ธ rsync๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ์์
์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ฃผ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์ํํ ์ ์์ต๋๋ค. ๋ฉ์ธ ์๋ฒ ํฐ๋ฏธ๋์ ์ ์ํ์ฌ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ต๋๋ค.

๋ช ๋ น์ด๋ฅผ ์คํํ์ ์๋ง ๊ฐ์ ํ์ผ์ด ์ค๋ผํด ์๋ฒ๋ก ์ ์ก๋๊ธฐ ์์ํ๊ณ , ๋๊ธฐํ๊ฐ ์๋ฃ๋ ํ ์น์ฌ์ดํธ๋ฅผ ์๋ก๊ณ ์นจํ์ ๊นจ์ ธ์๋ ์ธ๋ค์ผ๊ณผ ๋ฏธ๋์ด ํ์ผ๋ค์ด ๋ง๋ฒ์ฒ๋ผ ๋ค์ ๋ํ๋ฌ์ต๋๋ค. ์ ์ ๋ค์๊ฒ๋ ์ฅ์ ๋ณต๊ตฌ๊ฐ ์๋ฃ๋ ๊ฒ์ด์ฃ .
4. ํด๊ฒฐ์ฑ 2: ๊ทผ๋ณธ์ ์ธ ์ํคํ ์ฒ ๊ฐ์ (Object Storage ๋ถ๋ฆฌ)
ํ์ง๋ง rsync๋ ์ด๋๊น์ง๋ ์์๋ฐฉํธ์ผ ๋ฟ์
๋๋ค. ์์ผ๋ก ์ฌ์ฉ์๋ค์ด ๋ฉ์ธ ์๋ฒ์ ์ค๋ผํด ์๋ฒ๋ฅผ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํ ํ
๋ฐ, ๋งค๋ถ ๋งค์ด๋ง๋ค ๋ ์๋ฒ์ ํด๋๋ฅผ ๋๊ธฐํ์ํฌ ์๋ ์๋ ๋
ธ๋ฆ์ด๋๊น์.
์๋ฒ ์ด์คํ(Scale-out) ํ๊ฒฝ์์ ๋ฏธ๋์ด ํ์ผ์ ์ฒ๋ฆฌํ๋ ๊ฐ์ฅ ๊ทผ๋ณธ์ ์ด๊ณ ์ฐ์ํ ํด๊ฒฐ์ฑ ์, ์น ์๋ฒ(Compute)์ ์ ์ฅ์(Storage)๋ฅผ ์์ ํ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
์ ๋ ๋ก์ปฌ ์๋ฒ์ uploads/ ํด๋์ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ๊ธฐ์กด ํ์ด์ฌ ์ฝ๋๋ฅผ ์ ๋ฉด ์์ ํ์ต๋๋ค. ์ ์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํ๋ฉด, ๋ฐฑ์๋ ์๋ฒ๋ ๊ทธ ํ์ผ์ ์ฆ์ AWS S3๋ Supabase Storage ๊ฐ์ ์ค์ ์ง์คํ '์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง(Object Storage)'๋ก ์ ์กํด ๋ฒ๋ฆฝ๋๋ค.
์ด๋ ๊ฒ ์ํคํ ์ฒ๋ฅผ ๋ฐ๊พธ๋ฉด, ๋ฉ์ธ ์๋ฒ๋ ์ค๋ผํด ์๋ฒ๋ ์ด๋ฏธ์ง๋ฅผ ์ง์ ๊ฐ์ง๊ณ ์์ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ค ์๋ฒ๋ก ํธ๋ํฝ์ด ๋ค์ด์ค๋๋ผ๋ ๋ชจ๋ ๋๊ฐ์ ์ค์ ์คํ ๋ฆฌ์ง(S3)๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ํ์ผ์ ์ฝ๊ณ ์ฐ๊ธฐ ๋๋ฌธ์, ์๋ฒฝํ ๋ฌด์ํ(Stateless) ์ํคํ ์ฒ๊ฐ ์์ฑ๋๊ณ ์คํ๋ฆฟ ๋ธ๋ ์ธ ํ์์ ์์ํ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
๋งบ์ผ๋ฉฐ: ์คํจ๋ฅผ ํตํด ์ง์ง ์ธํ๋ผ๋ฅผ ๋ฐฐ์ฐ๋ค
์ด๋ฒ ์ธ๋ค์ผ ์์ค๋ฐ์ค ์ฌํ๋ ์๋ฒ ํ ๋๋ง ๋์๋๊ณ ๊ฐ๋ฐํ ๋๋ ์ ๋ ๊ฒช์ด๋ณผ ์ ์๋, ๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ ๋ง์ ๋ ํนํ ํธ๋ฌ๋ธ์ํ ๊ฒฝํ์ด์์ต๋๋ค.
์ฒ์์๋ ์ฌ์ดํธ๊ฐ ๋ง๊ฐ์ง ์ค ์๊ณ ๋์์ด ์บ์บํ์ง๋ง, ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ ํ๋ฆ๊ณผ ๋ฌผ๋ฆฌ์ ์ ์ฅ์์ ํ๊ณ๋ฅผ ์ง์ ๋ชธ์ผ๋ก ๋ถ๋ชํ๊ฐ๋ฉฐ ๊นจ๋ซ๊ฒ ๋์์ต๋๋ค. ๋จ์ํ ์ฝ๋๋ฅผ ๋์ด, ํผํผํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ธํ๋ผ ์ํคํ ์ฒ๋ฅผ ๊ทธ๋ฆด ์ ์๋ ์์ง๋์ด๋ก ํ ๋ผ ์ฑ์ฅํ ๊ธฐ๋ถ์ ๋๋ค.
์ง๊ธ ์ด ์๊ฐ์๋ ํธ๋ํฝ ์ฆ๊ฐ๋ฅผ ๋๋นํด ์๋ฒ ์ด์คํ๋ ๋ก๋๋ฐธ๋ฐ์ฑ์ ์ค๋นํ๊ณ ๊ณ์ 1์ธ ๊ฐ๋ฐ์๋ถ๋ค์ด ์๋ค๋ฉด, ์์ค ์ฝ๋๋ฟ๋ง ์๋๋ผ ์ ์ ๋ค์ด ์ ๋ก๋ํ๋ '๋ฏธ๋์ด ํ์ผ(์คํ ๋ฆฌ์ง)'์ ์ด๋ป๊ฒ ์ค์์์ ๊ด๋ฆฌํ ๊ฒ์ธ์ง ๋ฐ๋์ ๋จผ์ ์ค๊ณํ์๊ธฐ๋ฅผ ๊ถํด๋๋ฆฝ๋๋ค.
๐ฌ ๋๊ธ 0๊ฐ