Citymobil์์๋ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฃผ์ ์๊ตฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ก ์ฌ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ํ ์๋น์ค์ ๋ชฉ์ ์ ์ํ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค.
๋ง์คํฐ์ ์ง์์ ์ธ ๊ฐ์ฉ์ฑ์ ์ ์ฒด ์์คํ
๊ณผ ๊ฐ๋ณ ๋ถํ์ ์ฑ๋ฅ์ ๋ํ๋ด๋ ์ค์ํ ์งํ์
๋๋ค. ๋ง์คํฐ ์ฅ์ ๋ฐ์ ์ ์๋ ํด๋ฌ์คํฐ ๋ณต๊ตฌ๋ ์ฌ๊ณ ๋์ ์๊ฐ๊ณผ ์์คํ
๊ฐ๋ ์ค์ง ์๊ฐ์ ํฌ๊ฒ ์ค์ฌ์ค๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ MySQL ํด๋ฌ์คํฐ์ ๊ณ ๊ฐ์ฉ์ฑ(HA) ์ค๊ณ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
VIP ๊ธฐ๋ฐ HA ์๋ฃจ์
๋จผ์ , ๋น์ฌ์ ๋ฐ์ดํฐ ์ ์ฅ ์์คํ ์ด ๋ฌด์์ธ์ง ๊ฐ๋ตํ๊ฒ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ํ๋์ ์ฐ๊ธฐ ์ก์ธ์ค ๊ฐ๋ฅํ ๋ง์คํฐ์ ์ฌ๋ฌ ๊ฐ์ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ด ์๋ ํด๋์ ๋ณต์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํด๋ฌ์คํฐ์๋ ๋ณต์ ๋ณธ์ด์ ๋ค๋ฅธ ๋ ธ๋์ ๋ง์คํฐ์ธ ๋ ธ๋์ธ ์ค๊ฐ ๋ง์คํฐ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ HAProxy๋ฅผ ํตํด ๋ณต์ ๋ณธ์ ์ก์ธ์คํ๋ฏ๋ก ๋ก๋ ๋ถ์ฐ์ด ๊ท ์ผํ๊ณ ํ์ฅ์ด ์ฉ์ดํฉ๋๋ค. HAProxy๋ฅผ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ ์ญ์ฌ์ ์ธ ์ด์ ๋๋ฌธ์ด๋ฉฐ, ํ์ฌ ProxySQL๋ก ๋ง์ด๊ทธ๋ ์ด์ ์ ์งํ ์ค์ ๋๋ค.
๋ณต์ ๋ ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ๋๊ธฐ ๋ชจ๋๋ก ์ํ๋ฉ๋๋ค. GTID
. ์ด๋ ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ ์ ์ ์ ์ด๋ ํ๋์ ๋ณต์ ๋ณธ์ด ํธ๋์ญ์
์ ๊ธฐ๋กํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์ด ๋ณต์ ๋ชจ๋๋ ๋ง์คํฐ ๋
ธ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ฑ๋ฅ๊ณผ ๋ฐ์ดํฐ ์์ ๊ฐ์ ์ต์ ์ ๊ท ํ์ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ง์คํฐ์์ ๋ณต์ ๋ณธ์ผ๋ก ์ ์ก๋ฉ๋๋ค. Row Based Replication (RBR)
ํ์ง๋ง ์ผ๋ถ ๋
ธ๋์๋ mixed binlog format
.
์ค์ผ์คํธ๋ ์ดํฐ๋ ์ฃผ๊ธฐ์ ์ผ๋ก ํด๋ฌ์คํฐ ํ ํด๋ก์ง ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์์ ๋ ์ ๋ณด๋ฅผ ๋ถ์ํ๋ฉฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ ๋ณต๊ตฌ ์ ์ฐจ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ ์ฐจ๋ VIP, DNS ๊ธฐ๋ฐ, ์๋น์ค ๊ฒ์ ์๋น์ค ์ฌ์ฉ ๋๋ ์์ฒด ์์ฑ ๋ฉ์ปค๋์ฆ ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ ์ฐจ ์์ฒด์ ๋ํ ์ฑ ์์ด ์์ต๋๋ค.
๋ง์คํฐ๊ฐ ์คํจํ ๊ฒฝ์ฐ ๋ง์คํฐ๋ฅผ ๋ณต์ํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ ์ค ํ๋๋ ์ ๋ VIP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๊ณ์ ์งํํ๊ธฐ ์ ์ ์ด ์๋ฃจ์ ์ ๋ํด ์์์ผ ํ ์ฌํญ:
- VIP๋ ํน์ ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ์ฐ๊ฒฐ๋์ง ์์ IP ์ฃผ์์ ๋๋ค. ๋ ธ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์์ ๋ ์ ์ง ๊ด๋ฆฌ ๊ธฐ๊ฐ ๋์ ๊ฐ๋ ์ค์ง ์๊ฐ์ ์ต์ํํ๋ฉด์ VIP๋ฅผ ๋ค๋ฅธ ๋ฆฌ์์ค๋ก ์ ํํ ์ ์์ต๋๋ค.
- ๊ฐ์ IP ์ฃผ์๋ฅผ ํด์ ํ๊ณ ๋ฐ๊ธํ๋ ๊ฒ์ ์ ๋ ดํ๊ณ ๋น ๋ฅธ ์์ ์ ๋๋ค.
- VIP๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด SSH๋ฅผ ํตํด ์๋ฒ์ ์ก์ธ์คํ๊ฑฐ๋ ๋ค์๊ณผ ๊ฐ์ ํน์ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
keepalived
.
๋ง๋ฒ์ฌ์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ดํด๋ณด๊ณ ์๋ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ์ด ์ด๋ป๊ฒ ์๋ํด์ผ ํ๋์ง ์์ํด ๋ณด๊ฒ ์ต๋๋ค.
๋ง์คํฐ์์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋์ด์ก๊ฑฐ๋, ํ๋์จ์ด ์ฐจ์์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ
- ์ค์ผ์คํธ๋ ์ดํฐ๋ ํด๋ฌ์คํฐ ํ ํด๋ก์ง๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ๊ฐ ๋ณต์ ๋ณธ์ ๋ง์คํฐ๋ฅผ ์ฌ์ฉํ ์ ์์์ ๋ณด๊ณ ํฉ๋๋ค. ์ค์ผ์คํธ๋ ์ดํฐ๋ ์๋ก์ด ๋ง์คํฐ์ ์ญํ ์ ์ ํฉํ ๋ณต์ ๋ณธ์ ์ ํํ๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ๊ณ ๋ณต๊ตฌ๋ฅผ ์์ํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ ์ด์ ๋ง์คํฐ์์ VIP๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ์๋ํ๊ณ ์์ง๋ง ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค.
- ๋ณต์ ๋ณธ์ด ๋ง์คํฐ ์ญํ ๋ก ์ ํ๋ฉ๋๋ค. ํ ํด๋ก์ง๋ฅผ ๋ค์ ์์ฑํ๋ ์ค์ ๋๋ค.
- VIP๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค. VIP๋ฅผ ์ ๊ฑฐํ ์ ์์๊ธฐ ๋๋ฌธ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์์ฒญ์ ๋ณด๋ด๊ธฐ ์์ํฉ๋๋ค. ๋ฌด๋ฃ ARP. ์ด๋ฌํ ์ ํ์ ์์ฒญ/์๋ต์ ํตํด ์ฐ๊ฒฐ๋ ์ค์์น์ IP ๋ฐ MAC ์ฃผ์ ๋งคํ ํ
์ด๋ธ์ ์
๋ฐ์ดํธํ์ฌ VIP๊ฐ ์ด๋ํ์์ ์๋ฆด ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๋ฅ์ฑ์ด ์ต์ํ๋ฉ๋๋ค.
split brain
์ ์ฃผ์ธ์ ๋๋๋ฆด ๋. - ๋ชจ๋ ์๋ก์ด ์ฐ๊ฒฐ์ ์ฆ์ ์๋ก์ด ๋ง์คํฐ๋ก ๋ฆฌ๋๋ ์ ๋ฉ๋๋ค. ์ด์ ์ฐ๊ฒฐ์ด ์คํจํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๋ฐ๋ณต ํธ์ถ์ด ์ด๋ฃจ์ด์ง๋๋ค.
์๋ฒ๊ฐ ์ ์ ๋ชจ๋๋ก ์๋ ์ค์ธ๋ฐ DBMS ์์ค์์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ด์ ์ฌ๋ก์ ์ ์ฌํฉ๋๋ค: ํ ํด๋ก์ง ์ ๋ฐ์ดํธ ๋ฐ ๋ณต๊ตฌ ํ๋ก์ธ์ค ์์. ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด์ ๋ง์คํฐ์์ VIP๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํด์ ํ๊ณ ์ ๋ง์คํฐ๋ก ์ ์กํ ํ ์ฌ๋ฌ ARP ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด์ ๋ง์คํฐ์ ๋ฐํ ๊ฐ๋ฅ์ฑ์ ์ฌ๊ตฌ์ถ๋ ํด๋ฌ์คํฐ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์๋์ ์ํฅ์ ์ฃผ์ด์๋ ์ ๋ฉ๋๋ค.
๊ธฐํ ๋ฌธ์
๋ณต์ ๋ณธ ๋๋ ์ค๊ฐ ๋ง์คํฐ ์ค๋ฅ ์ด๋์ง ์๋๋ค ์๋ ์์ ์ ์ํํ๊ณ ์๋ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
๊ฐ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ ํญ์ ์์๋ก ์ถ๊ฐ๋ฉ๋๋ค. ์ฆ, ์๋ฒ ์ฌ๋ถํ
ํ VIP๊ฐ ์๋์ผ๋ก ํ ๋น๋์ง ์์ต๋๋ค. ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋์์ ์์๋๋ฉฐ ์ค์ผ์คํธ๋ ์ดํฐ๋ ์๋์ผ๋ก ์ ๋ง์คํฐ๋ฅผ ์ฐ๊ธฐ ๋ชจ๋๋ก ์ ํํ๊ณ ์ค์น๋ฅผ ์๋ํฉ๋๋ค. read only
์ ์ฃผ์ธ์๊ฒ. ์ด๋ฌํ ์กฐ์น๋ ๊ฐ๋ฅ์ฑ์ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. split brain
.
๋ณต๊ตฌ ํ๋ก์ธ์ค ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ด๋ ํ์ค ๋ชจ๋ํฐ๋ง ๋๊ตฌ ์ธ์ ์ค์ผ์คํธ๋ ์ดํฐ UI๋ฅผ ํตํด์๋ ์๋ ค์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ REST API๋ฅผ ํ์ฅํ์ต๋๋ค(
HA ์๋ฃจ์ ์ ์ผ๋ฐ์ ์ธ ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๋ก์ด ๋ง์คํฐ ์ ํ
์ค์ผ์คํธ๋ ์ดํฐ๋ ์ถฉ๋ถํ ๋๋ํ๊ณ ์ ํ์ ์๋ํฉ๋๋ค.
- ๋ณต์ ๋ณธ์ ๋ง์คํฐ๋ณด๋ค ๋ค์ณ์ง๋๋ค.
- ๋ง์คํฐ ๋ฐ ๋ณต์ ๋ณธ์ MySQL ๋ฒ์ .
- ๋ณต์ ์ ํ(RBR, SBR ๋๋ ํผํฉ)
- ๋์ผํ๊ฑฐ๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ์ ์์น
- ๊ฐ์ฉ์ฑ
errant GTID
โ ๋ง์คํฐ์๋ ์๊ณ ๋ณต์ ๋ณธ์์ ์คํ๋ ํธ๋์ญ์ - ์ฌ์ฉ์ ์ ์ ์ ํ ๊ท์น๋ ๊ณ ๋ ค๋ฉ๋๋ค.
๋ชจ๋ ํ๊ฐ ๋ง์คํฐ์๊ฒ ์ด์์ ์ธ ํ๋ณด๋ ์๋๋๋ค. ์๋ฅผ ๋ค์ด ๋ณต์ ๋ณธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์
ํ ์ ์๊ฑฐ๋ ์๋ฒ์ ํ๋์จ์ด ๊ตฌ์ฑ์ด ๋ ์ทจ์ฝํ ์ ์์ต๋๋ค. ์ค์ผ์คํธ๋ ์ดํฐ
์๋ต ๋ฐ ๋ณต๊ตฌ ์๊ฐ
์ฌ๊ณ ๋ฐ์ ์ ์์คํ ๊ฐ๋ ์ค์ง ์๊ฐ์ ์ต์ํํ๋ ๊ฒ์ด ์ค์ํ๋ฏ๋ก ์ค์ผ์คํธ๋ ์ดํฐ์ ํด๋ฌ์คํฐ ํ ํด๋ก์ง ์์ฑ ๋ฐ ์ ๋ฐ์ดํธ์ ์ํฅ์ ๋ฏธ์น๋ MySQL ๋งค๊ฐ๋ณ์๋ฅผ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค.
โ ์ฐ๊ฒฐ์ด ๋์ด์ง ๊ฒ์ผ๋ก ์ธ์๋๊ณ ๋ค์ ์ฐ๊ฒฐ๋๊ธฐ ์ ์ ๋ณต์ ๋ณธ์ด ๋ง์คํฐ์์ ๋์ฐฉํ๋ ์ ๋ฐ์ดํฐ ๋๋ ํํธ๋นํธ ์ ํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ(์ด)์ ๋๋ค. ๊ฐ์ด ๋ฎ์์๋ก ๋ณต์ ๋ณธ์ด ๋ง์คํฐ์์ ํต์ ์ด ๋์ด์ก์์ ๋ ๋นจ๋ฆฌ ํ์ธํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ 5์ด๋ก ์ค์ ํ์ต๋๋ค.slave_net_timeout
โ ์ฌ์ฐ๊ฒฐ ์๋ ์ฌ์ด์ ์๊ฐ(์ด)์ ๋๋ค. ๋คํธ์ํฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด ๋งค๊ฐ๋ณ์์ ๊ฐ์ด ๋ฎ์ผ๋ฉด ๋น ๋ฅด๊ฒ ๋ค์ ์ฐ๊ฒฐํ ์ ์์ผ๋ฉฐ ํด๋ฌ์คํฐ ๋ณต๊ตฌ ํ๋ก์ธ์ค๊ฐ ์์๋์ง ์์ต๋๋ค. ๊ถ์ฅ ๊ฐ์ 1์ด์ ๋๋ค.MASTER_CONNECT_RETRY
MASTER_RETRY_COUNT
โ ์ต๋ ์ฌ์ฐ๊ฒฐ ์๋ ํ์.MASTER_HEARTBEAT_PERIOD
โ ๋ง์คํฐ๊ฐ ํํธ๋นํธ ์ ํธ๋ฅผ ๋ณด๋ด๋ ๊ฐ๊ฒฉ(์ด)์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ ๋ฐ ๊ฐslave_net_timeout
.
์ค์ผ์คํธ๋ ์ดํฐ ๋งค๊ฐ๋ณ์:
DelayMasterPromotionIfSQLThreadNotUpToDate
- ๊ฐ๋ค๋ฉดtrue
, ๊ทธ๋ฌ๋ฉด ๋ณต์ ๋ณธ์ SQL ์ค๋ ๋๊ฐ ๋ฆด๋ ์ด ๋ก๊ทธ์์ ์ ์ฉ๋์ง ์์ ๋ชจ๋ ํธ๋์ญ์ ์ ์๋ฃํ ๋๊น์ง ๋ง์คํฐ ์ญํ ์ด ํ๋ณด ๋ณต์ ๋ณธ์ ์ ์ฉ๋์ง ์์ต๋๋ค. ๋ชจ๋ ํ๋ณด ๋ณต์ ๋ณธ์ด ๋ค์ณ์ง ๋ ํธ๋์ญ์ ์์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.InstancePollSeconds
โ ํ ํด๋ก์ง๋ฅผ ๊ตฌ์ถํ๊ณ ์ ๋ฐ์ดํธํ๋ ๋น๋.RecoveryPollSeconds
- ํ ํด๋ก์ง ๋ถ์ ๋น๋. ๋ฌธ์ ๊ฐ ๊ฐ์ง๋๋ฉด ํ ํด๋ก์ง ๋ณต๊ตฌ๊ฐ ์์๋ฉ๋๋ค. ์ด๊ฒ์ผ์ ํ , 1์ด์ ๊ฐ์ต๋๋ค.
๊ฐ ํด๋ฌ์คํฐ ๋
ธ๋๋ ์ค์ผ์คํธ๋ ์ดํฐ์ ์ํด ํ ๋ฒ์ฉ ํด๋ง๋ฉ๋๋ค. InstancePollSeconds
์ด ๋ฌธ์ ๊ฐ ๊ฐ์ง๋๋ฉด ํด๋ฌ์คํฐ ์ํ๊ฐ ๊ฐ์ ๋ฉ๋๋ค.
ํ ์คํธ ๋ฒค์น
์ฐ๋ฆฌ๋ ๋ก์ปฌ ๊ฐ๋ฐ๋ก HA ์ฒด๊ณ๋ฅผ ํ
์คํธํ๊ธฐ ์์ํ์ต๋๋ค.
์ฐ์ต ์ค์ ๋ฌธ์ ๊ฐ ์๋ ์๋ฎฌ๋ ์ด์
๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค. kill -9
, ํ๋ก์ธ์ค๋ฅผ ๋ถ๋๋ฝ๊ฒ ์ข
๋ฃํ๊ณ ์๋ฒ๋ฅผ ์ค์งํฉ๋๋ค(docker-compose stop
), ๋ค์์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ ๋ฌธ์ ๋ฅผ ์๋ฎฌ๋ ์ด์
ํฉ๋๋ค. iptables -j REJECT
๋๋ iptables -j DROP
. ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ํฉ๋๋ค:
- ์ค์ผ์คํธ๋ ์ดํฐ๋ ๋ง์คํฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๊ณ 10์ด ์ด๋ด์ ํ ํด๋ก์ง๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ๋ณต๊ตฌ ์ ์ฐจ๊ฐ ์๋์ผ๋ก ์์๋ฉ๋๋ค. ๋คํธ์ํฌ ๊ตฌ์ฑ์ด ๋ณ๊ฒฝ๋๊ณ ๋ง์คํฐ์ ์ญํ ์ด ๋ณต์ ๋ณธ์ผ๋ก ์ ๋ฌ๋๋ฉฐ ํ ํด๋ก์ง๊ฐ ๋ค์ ๊ตฌ์ถ๋ฉ๋๋ค.
- ์ ๋ง์คํฐ๋ ์ฐ๊ธฐ ๊ฐ๋ฅํด์ง๋ฉฐ ์ฌ๊ตฌ์ถ ํ๋ก์ธ์ค ์ค์ ๋ผ์ด๋ธ ๋ณต์ ๋ณธ์ด ์์ค๋์ง ์์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ ๋ง์คํฐ์ ๊ธฐ๋ก๋๊ณ ๋ณต์ ๋๊ธฐ ์์ํฉ๋๋ค.
- ์ด ๋ณต๊ตฌ ์๊ฐ์ 30์ด๋ฅผ ๋์ง ์์ต๋๋ค.
์์๋ค์ํผ ์์คํ ์ ํ๋์จ์ด ๋ฐ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ์ฐจ์ด, ํฉ์ฑ ๋ก๋์ ์ค์ ๋ก๋์ ์ฐจ์ด ๋ฑ์ผ๋ก ์ธํด ํ ์คํธ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ์์ ๋ค๋ฅด๊ฒ ์๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ค์ ์ํฉ์์ ์ ๊ธฐ์ ์ผ๋ก ํ๋ จ์ ์ค์ํ์ฌ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋์ด์ง๊ฑฐ๋ ๊ฐ๋ณ ๋ถํ์ ์ฑ๋ฅ์ด ์ ํ๋ ๋ ์์คํ ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํฉ๋๋ค. ์์ผ๋ก ์ฐ๋ฆฌ๋ ๋ ํ๊ฒฝ ๋ชจ๋์ ๋ํด ์์ ํ ๋์ผํ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๊ณ ํ ์คํธ๋ฅผ ์๋ํํ๋ ค๊ณ ํฉ๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์คํ ๋ ธ๋์ ์ํ๋ SRE ๋ฐ ์ด์ํ์ ์ฃผ์ ๋ชฉํ ์ค ํ๋์ ๋๋ค. VIP ๊ธฐ๋ฐ์ ์ค์ผ์คํธ๋ ์ดํฐ์ HA ์๋ฃจ์ ์ ๊ตฌํํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์ ํ ํด๋ก์ง ๋ฌธ์ ๋ฅผ ์์ ์ ์ผ๋ก ๊ฐ์งํฉ๋๋ค.
- ๋ง์คํฐ ๊ด๋ จ ์ฌ๊ณ ์ ์๋์ผ๋ก ์ ์ํ๊ฒ ๋์ํ์ฌ ์์คํ ๊ฐ๋ ์ค์ง ์๊ฐ์ ์ค์ ๋๋ค.
๊ทธ๋ฌ๋ ์ด ์๋ฃจ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ํ๊ณ์ ๋จ์ ์ด ์์ต๋๋ค.
- HA ์ฒด๊ณ๋ฅผ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ๋ก ํ์ฅํ๋ ค๋ฉด ์ด๋ค ์ฌ์ด์ ๋จ์ผ L2 ๋คํธ์ํฌ๊ฐ ํ์ํฉ๋๋ค.
- ์ ๋ง์คํฐ์ VIP๋ฅผ ํ ๋นํ๊ธฐ ์ ์ ์ด์ ๋ง์คํฐ์์ ์ด๋ฅผ ํด์ ํด์ผ ํฉ๋๋ค. ํ๋ก์ธ์ค๋ ์์ฐจ์ ์ด๋ฏ๋ก ๋ณต๊ตฌ ์๊ฐ์ด ๋์ด๋ฉ๋๋ค.
- VIP๋ฅผ ํด์ ํ๋ ค๋ฉด ์๋ฒ์ ๋ํ SSH ์ก์ธ์ค ๋๋ ์๊ฒฉ ์ ์ฐจ๋ฅผ ํธ์ถํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค. ์๋ฒ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณต๊ตฌ ํ๋ก์ธ์ค๋ฅผ ์ ๋ฐํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ VIP ์ ๊ฑฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ์ง ํ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ก ์ธํด ๋์ผํ ๊ฐ์ IP ์ฃผ์๋ฅผ ๊ฐ์ง ๋ ๊ฐ์ ์๋ฒ๊ฐ ๋ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
split brain
.
ํผํ๊ธฐ ์ํด split brain
, ๋น์ ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค
์ ๋ MySQL ์ฅ์ ์กฐ์น ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ๊ตฌํํ๊ธฐ ์ฝ๊ณ ํ์ฌ ์กฐ๊ฑด์์ ํ์ฉ ๊ฐ๋ฅํ ์์ค์ ์ ๋ขฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ์ฒด ์์คํ
๊ณผ ํนํ ์ธํ๋ผ๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ์ด ์ ๊ทผ ๋ฐฉ์์ ์์ฌํ ์ฌ์ง ์์ด ๋ฐ์ ํ ๊ฒ์
๋๋ค.
์ถ์ฒ : habr.com