์ปจํธ๋กค๋ฌ
๐ก ์ด๋ฒ ํฌ์คํ ์์๋ ์ปจํธ๋กค์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์นดํ์นด ํด๋ฌ์คํฐ ์ค ํ๋์ ๋ธ๋ก์ปค๊ฐ ์ปจํธ๋กค๋ฌ ์ญํ ์ ํ๊ฒ ๋๋ฉฐ, ํํฐ์ ์ ISR ๋ฆฌ์คํธ ์ค์์ ๋ฆฌ๋๋ฅผ ์ ์ถํฉ๋๋ค.
๋ฆฌ๋๋ฅผ ์ ์ถํ๊ธฐ ์ํ ISR ๋ฆฌ์คํธ ์ ๋ณด๋ ์์ ํ ์ ์ฅ์์ ๋ณด๊ด๋์ด ์์ด์ผ ํ๋๋ฐ, ๊ฐ์ฉ์ฑ ๋ณด์ฅ์ ์ํด ์ฃผํคํผ์ ์ ์ฅ๋์ด ์์ต๋๋ค.
์ปจํธ๋กค๋ฌ๋ ๋ธ๋ก์ปค๊ฐ ์คํจํ๋ ๊ฒ์ ์์์ฃผ์ํ๊ณ ์์ผ๋ฉฐ, ๋ง์ฝ ๋ธ๋ก์ปค์ ์คํจ๊ฐ ๊ฐ์ง๋๋ฉด ์ฆ์ ISR ๋ฆฌ์คํธ ์ค ํ๋๋ฅผ ์๋ก์ด ํํฐ์ ๋ฆฌ๋๋ก ์ ์ถํฉ๋๋ค.
๊ทธ๋ฌ๊ณ ๋์ ์๋ก์ด ๋ฆฌ๋์ ์ ๋ณด๋ฅผ ์ฃผํคํผ์ ๊ธฐ๋กํ๊ณ , ๋ณ๊ฒฝ๋ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ธ๋ก์ปค์๊ฒ ์ ๋ฌํฉ๋๋ค.
ํํฐ์ ์ ๋ฆฌ๋๊ฐ ๋ค์ด๋๋ค๋ ๊ฒ์ ํด๋น ํํฐ์ ์ ๋ฆฌ๋๊ฐ ์๋ ์ํ๋ฅผ ์๋ฏธํ๋ฉฐ, ์นดํ์นด ํด๋ผ์ด์ธํธ์ธ ํ๋ก๋์๋ ์ปจ์๋จธ๊ฐ ํด๋น ํํฐ์ ์ผ๋ก ์ฝ๊ฑฐ๋ ์ฐ๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ๊ฒ ์นดํ์นด ํด๋ผ์ด์ธํธ๊ฐ ์ฝ๊ธฐ/์ฐ๊ธฐ๋ฅผ ํ์ง ๋ชปํ๋ฉด ๋ชจ๋ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋์์ ์คํจํ๊ฒ ๋๊ณ , ํด๋ผ์ด์ธํธ์ ์ค์ ๋์ด ์๋ ์ฌ์๋ ์ซ์๋งํผ ์ฌ์๋๋ฅผ ํ๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ๋ค์ด ์ฌ์๋ํ๋ ์๊ฐ ๋ด์ ๋ฆฌ๋ ์ ์ถ ์์ ์ด ๋น ๋ฅด๊ฒ ์ด๋ค์ ธ์ผ ํฉ๋๋ค.
๋ฆฌ๋ ์ ์ถ ๊ณผ์ ์ ์ปจํธ๋กค๋ฌ์ ์ํด ์ด๋ฃจ์ด์ง๋๋ค. ํํฐ์ ์ด ํ๋์ธ ๊ฒฝ์ฐ, ์ปจํธ๋กค๋ฌ๊ฐ ์๋ก์ด ๋ฆฌ๋๋ฅผ ์ ์ถํ๊ณ ๋ฆฌ๋ ์ ๋ณด๋ฅผ ์ฃผํคํผ์ ๊ธฐ๋กํ๋ฉฐ ๋ค๋ฅธ ๋ธ๋ก์ปค๋ค์๊ฒ ์ ๋ฐ์ดํธ ์ ๋ณด๋ฅผ ์ ํํ๋ ๋ฐ๋ ๊ทธ๋ฆฌ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค.
ํ๋์ ํํฐ์ ์ ๋ํด ๋ฆฌ๋ ์ ์ถ ์์ ์ด ์ฝ 0.2์ด๊ฐ ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ํ๋์ ํํฐ์ ์ 0.2์ด ๋ง์ ์๋ฃ๋๋ ๋ฐ๋ฉด 1๋ง ๊ฐ์ ํํฐ์ ์ ๋ํด ๋ฆฌ๋ ์ ์ถ์ด ์ด๋ค์ ธ์ผ ํ๋ค๋ฉด, ์ ์ฒด ์์ ์์์๊ฐ์ ์ฝ 2,000์ด๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
1๋์ ๋ธ๋ก์ปค ์ฅ์ ๊ฐ ๋ฐ์ํ๊ณ , ์๋ก์ด ๋ฆฌ๋ ์ ์ถ ์์ ์ผ๋ก ์นดํ์นด์ ํด๋ผ์ด์ธํธ ๊ฐ์ 30์ฌ ๋ถ๊ฐ ํต์ ์ด ๋์ด์ง๋ ์ฌํ๊ฐ ๋ฐ์ํ๋ค๋ฉด, ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ๋ถ์๋ค์ ๋ชจ๋ ์ฅ์ ์ํฉ์ ๊ฒช๊ฒ ๋ ๊ฒ์ ๋๋ค.
2018๋ 11์ ๋ฆด๋ฆฌ์ค ๋ 1.1.0 ๋ฒ์ ๋ถํฐ๋ ๋ฆฌ๋ ์ ์ถ ์์ ์๋๊ฐ ๋นจ๋ผ์ก์ต๋๋ค.
์นดํ์นด ๋ฒ์ 1.0.0์์ 6๋ถ 30์ด๊ฐ ๊ฑธ๋ฆฌ๋ ์์ ์ด ๋ถํ์ํ ๋ก๊น ์ ์์ ๊ณ ์ฃผํคํผ ๋น๋๊ธฐ API๊ฐ ๋ฐ์๋ 1.1.0์์๋ ์ฝ 3์ด ๋ง์ ์๋ฃ๋์ต๋๋ค.
์ ์ด๋ ๋ธ๋ก์ปค ์ข ๋ฃ
์ ์ด๋ ๋ธ๋ก์ปค ์ข ๋ฃ๋, ์๊ธฐ์น ์์ ๋ธ๋ก์ปค์ ์คํจ๋ ์ฅ์ ๊ฐ ์๋๋ผ ๊ด๋ฆฌ์์ ์ํด ์ด๋ค์ง๋ ์์ฐ์ค๋ฌ์ด ์ข ๋ฃ ๋๋ ์์ ํ ์ข ๋ฃ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ ์ด๋ ์ข ๋ฃ์ ์ฅ์ ๋ก ์ธํ ๊ธ์์ค๋ฌ์ด ์ข ๋ฃ์ ์ฐจ์ด๋ ๋ฐ๋ก ๋ค์ดํ์์ ๋๋ค.
์ ์ด๋ ์ข ๋ฃ๋ฅผ ์ฌ์ฉํ๋ฉด ์นดํ์นด ๋ด๋ถ์ ์ผ๋ก ํํฐ์ ๋ค์ ๋ค์ดํ์์ ์ต์ํํ ์ ์์ต๋๋ค.
๐ข ๋ธ๋ก์ปค๊ฐ ์ข ๋ฃ๋๊ธฐ ์ , ์ปจํธ๋กค๋ฌ๋ ํด๋น ๋ธ๋ก์ปค๊ฐ ๋ฆฌ๋๋ก ํ ๋น๋ ์ ์ฒด ํํฐ์ ์ ๋ํด ๋ฆฌ๋ ์ ์ถ ์์ ์ ์งํํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์ด๋ ์ข ๋ฃ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด controlled.shutdown.enable ์ต์ ์ true๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๋ฆฌ๋ ๋ถํฌ์ ๋ถ๊ท ํ
๋ฆฌ๋ ๋ถํฌ์ ๋ถ๊ท ํ์ด๋ ๋ฆฌ๋ ํํฐ์ ์ด ๊ฐ ๋ธ๋ก์ปค๋ง๋ค ๊ณจ๊ณ ๋ฃจ ๋ถํฌ๋์ง ์์๋ค๋ ๋ป์ ๋๋ค.
Preferred Leader Election
1๋ฒ์ฒ๋ผ m-brk-topic-dd ํ ํฝ์ ํํฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด๋ฉด Replicas์ ๊ฐ์ฅ ์ฒซ ๋ธ๋ก์ปค๋ก ์ค์ ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Replicas์ ์ฒซ ๋ธ๋ก์ปค๋ ๋ค๋ฅธ ๋ง๋ก Preferred Leader๋ผ๊ณ ๋ ํ๋ฉฐ, ํํฐ์ ์ ๋ฆฌ๋๊ฐ Preferred Leader์ ๋์ผํ ๊ฒฝ์ฐ Preferred Leader์ ๊ท ํ์ด ๋ง๋ค๊ณ ๋งํฉ๋๋ค.
ํ ํฝ์ ์ ๋ณด๋ฅผ ๋จผ์ ์กฐํ ํ ๋ธ๋ก์ปค 3์ ์ข ๋ฃํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ํ ํฝ์ ์ ๋ณด๋ฅผ ์กฐํํ๋ฉด ํํฐ์ 1๋ฒ์ ๋ํ ๋ฆฌ๋๋ ๋ธ๋ก์ปค 1์ด ์ ์ถ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๊ณ ๋์ ๋ค์ ๋ธ๋ก์ปค 3์ ์คํํ๊ฒ ๋๋ฉด, ์ผ์ ์๊ฐ(๊ธฐ๋ณธ 300์ด) ์ดํ ๋ฆฌ๋๋ฅผ ์ฌ์ ์ถํ๊ฒ ๋๋๋ฐ ์ด๋ ์ด๊ธฐ์ ํ ๋น๋ Preferred Leader๋ก ์ ์ถํ์ฌ ์์ ์ค๋ช ํ Preferred Leader์ ๊ท ํ์ ๋ง์ถฅ๋๋ค.
๊ทธ๋์ ๋ง์ง๋ง 3๋ฒ์ฒ๋ผ ์ผ์ ์๊ฐ ์ดํ ๋ค์ ํ ํฝ์ ์ ๋ณด๋ฅผ ์กฐํํ๋ฉด ๋ฆฌ๋๊ฐ Preferred Leader์ ๋ง์ถฐ ๋ณ๊ฒฝ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Unclean Leader Election
๊ธฐ์กด์ ๋ฆฌ๋ ๋ธ๋ก์ปค๊ฐ ์ค๋ ๊ธฐ๊ฐ ์ด์๋์ง ์์ ๊ฒฝ์ฐ ๋ณต์ ๊ฐ ์๋ฃ๋์ง ์์, ์ฆ ISR์ด ์๋ OSR(Out of Sync Replica)์ธ ํ๋ก์ ๋ธ๋ก์ปค๊ฐ ๋ฆฌ๋๊ฐ ๋ ์ง ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
์ด๋ ๊ธฐ์กด์ ๋ฆฌ๋ ๋ธ๋ก์ปค๊ฐ ๊ฐ์ง ๋ฉ์์ง ์์ค ์ฌ๋ถ๋ฅผ ๊ฐ์ํ๊ณ ๋ณต์ ๊ฐ ์๋ฃ๋์ง ์์ ํ๋ก์ ๋ธ๋ก์ปค๊ฐ ๋ฆฌ๋๊ฐ ๋๊ฒ ํ๋ ค๋ฉด unclean.leader.election.enable ์ต์ ์ true๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
์ด ์ต์ ์ด ์๋ ์ด์ ๋ ์นดํ์นด๋ ๋ฐ์ดํฐ์ ์ ์ค์ด ๋ฐ์ํ๋๋ผ๋ ์นดํ์นด ์๋ฒ๊ฐ ์ค์ง๋๋ ์ํฉ์ ๋ง์์ ์๋น์ค ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ๋ ค๋ ๋ชฉ์ ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ง์ฝ unclean.leader.election.enable ์ต์ ์ ํ์ฑํํ์ง ์์ ์ํ์์ ISR์์ ๋ ์ด์ ๋ฆฌ๋๋ก ์ ์ถ๋ ๋ธ๋ก์ปค๊ฐ ์์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ๋ฆฌ๋๋ none์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ปจ์๋จธ๋ ๋ฆฌ๋ ํํฐ์ ์์ ๋ฉ์์ง๋ฅผ ์ฝ๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋๊ฐ none์ผ ๊ฒฝ์ฐ ์ปจ์๋จธ๋ ๋ ์ด์ ๋ฉ์์ง๋ฅผ ์ฝ์ ์ ์๊ฒ ๋ฉ๋๋ค.
์ฐธ๊ณ ์๋ฃ