๋ฐ๋ผ์ ์ธก์ ํญ๋ชฉ์ ์์งํฉ๋๋ค. ์ฐ๋ฆฌ์ฒ๋ผ. ์ฐ๋ฆฌ๋ ๋ํ ์งํ๋ฅผ ์์งํฉ๋๋ค. ๋ฌผ๋ก ์ฌ์
์ ํ์ํฉ๋๋ค. ์ค๋ ์ฐ๋ฆฌ๋ ๋ชจ๋ํฐ๋ง ์์คํ
์ ์ฒซ ๋ฒ์งธ ๋งํฌ์ธ statsd ํธํ ์ง๊ณ ์๋ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ด์ ๊ธฐ์ฌ์์ (
์ฃผ์ฅ 1. ํ๋ก์ ํธ ๊ฐ๋ฐ์์ธ Github๋ ํจ์น ๋ฐ ์์ ์ฌํญ ๊ฒ์, ์ฐ๋ฆฌ์ (์ฐ๋ฆฌ๋ฟ๋ง ์๋๋ผ) PR์ ์๋ฝํ๋ ๋ฑ ์ง์์ ์ค๋จํ์ต๋๋ค. ์ง๋ ๋ช ๋ฌ ๋์(2018๋
2์~XNUMX์๊ฒฝ) ํ๋์ด ์ฌ๊ฐ๋์์ง๋ง ๊ทธ ์ ์๋ ๊ฑฐ์ XNUMX๋
๋์ ์์ ํ ํ์จํ์ต๋๋ค. ๋ํ ํ๋ก์ ํธ๊ฐ ๊ฐ๋ฐ ์ค์
๋๋ค.
์ฃผ์ฅ 2. ๊ณ์ฐ์ ์ ํ์ฑ. Brubeck์ ์ง๊ณ๋ฅผ ์ํด ์ด 65536๊ฐ์ ๊ฐ์ ์์งํฉ๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ผ๋ถ ์งํ์ ๊ฒฝ์ฐ ์ง๊ณ ๊ธฐ๊ฐ(30์ด) ๋์ ํจ์ฌ ๋ ๋ง์ ๊ฐ์ด ๋์ฐฉํ ์ ์์ต๋๋ค(์ต๊ณ 1๊ฐ). ์ด ์ํ๋ง ๊ฒฐ๊ณผ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ธ๋ชจ์์ด ๋ณด์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋๋ก
์ด๋ ์ด์ผ ํ๋๋ฐ?
๊ฐ์ ์ด์ ๋ก ๊ธ์ก์ ์ผ๋ฐ์ ์ผ๋ก ์๋ชป ๊ณ์ฐ๋ฉ๋๋ค. ์ฌ๊ธฐ์ 32๋นํธ ๋ถ๋ ์ค๋ฒํ๋ก ๋ฒ๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๊ฒ๋ณด๊ธฐ์ ๋ฌดํดํ ์ธก์ ํญ๋ชฉ์ ์์ ํ ๋ ์๋ฒ๋ฅผ ์ธ๊ทธํดํธ๋ก ๋ณด๋ด ๋ชจ๋ ๊ฒ์ด ํ๋ฅญํด์ง๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ฒ๊ทธ๋ ์์ ๋์ง ์์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก, ํด๋ ์ X. ์ด ๊ธ์ ์ฐ๋ ์์ ์์ ์ฐ๋ฆฌ๊ฐ ์ฐพ์ ์ ์์๋ ๋๋ต 14๊ฐ์ ์๋ํ๋ statsd ๊ตฌํ ๋ชจ๋์ ์ด๋ฅผ ์ ๊ณตํ ์ค๋น๊ฐ ๋์์ต๋๋ค. ์ผ๋ถ ๋จ์ผ ์ธํ๋ผ๊ฐ ๋๋ฌด ๋ง์ด ์ฑ์ฅํ์ฌ 4๋ง MPS๋ฅผ ์์ฉํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ ์ด์ ์ถฉ๋ถํ์ง ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋๋ ์์ง ์ฑ์ฅํ์ง ์์๋๋ผ๋ ์ธก์ ํญ๋ชฉ์ด ์ด๋ฏธ ๋๋ฌด ์ค์ํด์ ์ฐจํธ๊ฐ 2~3๋ถ ์ ๋๋ง ํ๋ฝํด๋ ์ด๋ฏธ ์ค์ํด์ ธ์ ๊ด๋ฆฌ์๋ค ์ฌ์ด์ ๊ทน๋ณตํ ์ ์๋ ์ฐ์ธ์ฆ์ ์ ๋ฐํ ์ ์์ต๋๋ค. ์ฐ์ธ์ฆ ์น๋ฃ๋ ๊ณ ๋ง์ด ์ผ์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ์ ์ ํด๊ฒฐ์ฑ ์ด ํ์ํฉ๋๋ค.
์ฒซ์งธ, ์๋ฒ์ ๊ฐ์์ค๋ฌ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ์ฌ๋ฌด์ค์ ์ ์ ๋ณ์ ์ธ ์ข๋น ๋์ฌ์์ด ๋ฐ์ํ์ง ์๋๋ก ๋ด๊ฒฐํจ์ฑ์ ๋๋ค. ๋์งธ, Linux ๋คํธ์ํฌ ์คํ์ ๊น์ด ํ๊ณ ๋ค์ง ์๊ณ ํ์ํ ํฌ๊ธฐ๋ก "ํญ"์ ์กฐ์ฉํ ํ์ฅํ์ง ์๊ณ ๋ 4๋ง MPS ์ด์์ ์์ฉํ ์ ์๋๋ก ํ์ฅํ ์ ์์ต๋๋ค.
ํ์ฅํ ์ฌ์ง๊ฐ ์์๊ธฐ ๋๋ฌธ์ ๋ด๊ฒฐํจ์ฑ๋ถํฐ ์์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. "์ ๋ํ! ๊ฒฐํจ ํ์ฉ! ๊ฐ๋จํด์. ํ ์ ์์ด์.โ๋ผ๊ณ ์๊ฐํ๊ณ ์๋ฒ 2๋๋ฅผ ์์ํ์ฌ ๊ฐ๊ฐ์ brubeck ์ฌ๋ณธ์ ์ฌ๋ ธ์ต๋๋ค. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๋ฉํธ๋ฆญ์ด ํฌํจ๋ ํธ๋ํฝ์ ๋ ์๋ฒ ๋ชจ๋์ ๋ณต์ฌํ๊ณ ์ด์ ๋ํด ์์ฑํด์ผ ํ์ต๋๋ค.
๋ฌธ์ ์ ๋ํด ์กฐ๊ธ ์๊ฐํ๊ณ ๋์์ ์ฝ์ผ๋ก ๋์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ถ๋ช
ํ ์์ด๋์ด๊ฐ ๋ ์ค๋ฅผ ์ ์์ต๋๋ค. ๋ถ์ฐ ๋ชจ๋์์ ์๋ํ ์ ์๋ ํต๊ณ๊ฐ ํ์ํ๋ค๋ ๊ฒ์
๋๋ค. ์ฆ, ์๊ฐ๊ณผ ๋ฉํธ๋ฆญ์ ๋
ธ๋ ๊ฐ ๋๊ธฐํ๋ฅผ ๊ตฌํํ๋ ๊ฒ์
๋๋ค. โ๋ฌผ๋ก ๊ทธ๋ฌํ ์๋ฃจ์
์ ์ด๋ฏธ ์กด์ฌํ ๊ฒ์
๋๋ค.โ๋ผ๊ณ ๋งํ๊ณ Google์ ๋ฐฉ๋ฌธํ์ต๋๋คโฆ ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ์๋ฌด๊ฒ๋ ๋ฐ๊ฒฌํ์ง ๋ชปํ์ต๋๋ค. ๋ค์ํ ํต๊ณ์ ๋ํ ๋ฌธ์๋ฅผ ์ดํด๋ณธ ํ(
๊ทธ๋ฐ ๋ค์ ์ฐ๋ฆฌ๋ ์ฌ๋ฏธ๋ฅผ ์ํด ํด์ปคํค(ํ๋ก์ ํธ ์ด๋ฆ์ ํด์ปคํค ์์ ์ ์ ์คํฌ๋ฆฝํธ์ ์ํด ์์ฑ๋จ)์์ ์์ฑ๋ "์ฅ๋๊ฐ" ํต๊ณ์ธ bioyino์ ๋ํด ๊ธฐ์ตํ๊ณ ์ฐ๋ฆฌ ์์ ์ ํต๊ณ๊ฐ ์๊ธํ ํ์ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋ฌด์์ ์ํด?
- ์ธ์์๋ statsd ํด๋ก ์ด ๋๋ฌด ์ ๊ธฐ ๋๋ฌธ์
- ์ํ๋ ๋๋ ์ํ๋ ์์ค์ ๊ฐ๊น์ด ๋ด๊ฒฐํจ์ฑ ๋ฐ ํ์ฅ์ฑ์ ์ ๊ณตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค(์๋ฒ ๊ฐ์ ์ง๊ณ๋ ๋ฉํธ๋ฆญ ๋๊ธฐํ ๋ฐ ์ ์ก ์ถฉ๋ ๋ฌธ์ ํด๊ฒฐ ํฌํจ).
- Brubeck๋ณด๋ค ๋ ์ ํํ๊ฒ ์งํ๋ฅผ ๊ณ์ฐํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- brubeck์ด ์ค์ ๋ก ์ ๊ณตํ์ง ๋ชปํ ๋ ์์ธํ ํต๊ณ๋ฅผ ์ง์ ์์งํ ์ ์๊ธฐ ๋๋ฌธ์,
- ๋ค๋ฅธ ์ ์ฌํ ํ์ดํผํฌ์ ์ํคํ ์ฒ๋ฅผ ์์ ํ ๋ฐ๋ณตํ์ง ์๋ ๋๋ง์ ํ์ดํผํผํฌ๋จผ์ค ๋ถ์ฐ ๊ท๋ชจ ๋ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก๊ทธ๋๋ฐํ ๊ธฐํ๊ฐ ์์๊ธฐ ๋๋ฌธ์ ๋๋ค... ์, ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค.
๋ฌด์์ ์ธ๊น? ๋ฌผ๋ก ๋ฌ์คํธ์์์. ์?
- ์ด๋ฏธ ํ๋กํ ํ์ ์๋ฃจ์ ์ด ์์๊ธฐ ๋๋ฌธ์
- ๊ทธ ๊ธฐ์ฌ์ ์ ์๋ ๊ทธ ๋น์ ์ด๋ฏธ Rust๋ฅผ ์๊ณ ์์๊ณ ๊ทธ๊ฒ์ ์คํ ์์ค์ ๋ฃ์ ๊ธฐํ์ ํจ๊ป ์์ฐ์ ์ํด ๊ทธ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ์ฐ๊ณ ์ถ์ดํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- GC๊ฐ ์๋ ์ธ์ด๋ ์์ ๋๋ ํธ๋ํฝ์ ํน์ฑ(๊ฑฐ์ ์ค์๊ฐ)์ผ๋ก ์ธํด ์ฐ๋ฆฌ์๊ฒ ์ ํฉํ์ง ์์ผ๋ฉฐ GC ์ผ์ ์ค์ง๋ ์ฌ์ค์ ํ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- C์ ํ์ ํ๋ ์ต๋ ์ฑ๋ฅ์ด ํ์ํ๊ธฐ ๋๋ฌธ์
- Rust๋ ์ฐ๋ฆฌ์๊ฒ ๋๋ ค์ ์๋ ๋์์ฑ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ C/C++๋ก ์์ฑํ๊ธฐ ์์ํ๋ค๋ฉด brubeck๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ์ทจ์ฝ์ , ๋ฒํผ ์ค๋ฒํ๋ก, ๊ฒฝ์ ์กฐ๊ฑด ๋ฐ ๊ธฐํ ๋ฌด์์ด ๋จ์ด๋ฅผ ๊ธ์ด๋ชจ์์ ๊ฒ์ ๋๋ค.
Rust์ ๋ํ ๋ ผ์๋์์์ต๋๋ค. ํ์ฌ๋ Rust๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๊ฒฝํ์ด ์์์ผ๋ฉฐ ์ด์ ์ด๋ฅผ ๋ฉ์ธ ํ๋ก์ ํธ์์๋ ์ฌ์ฉํ ๊ณํ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฌด๊ฒ๋ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ด๋ผ๋ ์ฌ๊ฐํ ๋๋ ค์์ด ์์์ง๋ง ์ฐ๋ฆฌ๋ ๊ธฐํ๋ฅผ ์ก๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ์๋ํ์ต๋๋ค.
์๊ฐ์ด ์ง๋ฌ๋ค...
๋ง์นจ๋ด ๋ช ๋ฒ์ ์๋ ์คํจ ๋์ ์ฒซ ๋ฒ์งธ ์์ ๋ฒ์ ์ด ์ค๋น๋์์ต๋๋ค. ๋ฌด์จ ์ผ์ด์์? ์ด๊ฒ์ด ์ผ์ด๋ ์ผ์ ๋๋ค.
๊ฐ ๋
ธ๋๋ ์์ฒด ์ธก์ ํญ๋ชฉ ์ธํธ๋ฅผ ์์ ํ์ฌ ๋์ ํ๋ฉฐ, ์ต์ข
์ง๊ณ์ ์ ์ฒด ์ธํธ๊ฐ ํ์ํ ์ ํ์ ๋ํด์๋ ์ธก์ ํญ๋ชฉ์ ์ง๊ณํ์ง ์์ต๋๋ค. ๋
ธ๋๋ ์ผ์ข
์ ๋ถ์ฐ ์ ๊ธ ํ๋กํ ์ฝ์ ์ํด ์๋ก ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด Great One์ ๋ฉํธ๋ฆญ์ ๋ณด๋ผ ๊ฐ์น๊ฐ ์๋ ์ ์ผํ ๋
ธ๋(์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์ธ์์ต๋๋ค)๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ ํ์ฌ ํด๊ฒฐ ์ค์
๋๋ค.
๋ฉํธ๋ฆญ์ด ํฌํจ๋ UDP ํจํท์ ๊ฐ๋จํ ๋ผ์ด๋ ๋ก๋น์ ํตํด ๋คํธ์ํฌ ์ฅ๋น์ ๋ ธ๋ ๊ฐ์ ๋ถ๊ท ํ์ด ๋ฐ์ํฉ๋๋ค. ๋ฌผ๋ก ๋คํธ์ํฌ ํ๋์จ์ด๋ ํจํท์ ๋ด์ฉ์ ๊ตฌ๋ฌธ ๋ถ์ํ์ง ์์ผ๋ฏ๋ก ์ ํ ์์ง ๋ชปํ๋ ์ธก์ ํญ๋ชฉ์ ๋งํ ๊ฒ๋ ์๊ณ ์ด๋น 4๋ง ๊ฐ๊ฐ ๋๋ ํจํท์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฉํธ๋ฆญ์ด ๊ฐ ํจํท์์ ํ ๋ฒ์ ํ๋์ฉ ์ ๊ณต๋์ง ์๋๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ์ฌ๊ธฐ์ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์๋ฒ๊ฐ ์ถฉ๋ํ๋ฉด ๋คํธ์ํฌ ์ฅ์น๋ ์ ์ํ๊ฒ(1~2์ด ์ด๋ด) ์ด ์ฌ์ค์ ๊ฐ์งํ๊ณ ์ถฉ๋ํ ์๋ฒ๋ฅผ ๊ต์ฒด์์ ์ ๊ฑฐํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํจ์๋ธ(์ฆ, ๋ฆฌ๋๊ฐ ์๋) ๋ ธ๋๋ ์ค์ ๋ก ์ฐจํธ์ ํ๋ฝ์ ์ธ์งํ์ง ์๊ณ ๋ ์ผ๊ณ ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ ์ต๋๊ฐ์ ๋ง์ง๋ง ์๊ฐ์ ๋ค์ด์จ ์ธก์ ํญ๋ชฉ์ ์ผ๋ถ์ ๋๋ค. ๋ฆฌ๋์ ๊ฐ์์ค๋ฌ์ด ์์ค/์ข ๋ฃ/์ ํ์ ์ฌ์ ํ โโ์ฌ์ํ ์ด์ ํ์์ ๋ฐ์์ํค์ง๋ง(30์ด ๊ฐ๊ฒฉ์ ์ฌ์ ํ โโ๋๊ธฐํ๋์ง ์์) ๋ ธ๋ ๊ฐ ํต์ ์ด ์๋ ๊ฒฝ์ฐ ๋๊ธฐํ ํจํท์ ์ ์กํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ต์ํํ ์ ์์ต๋๋ค. .
๋ด๋ถ ๊ตฌ์กฐ์ ๋ํด ์กฐ๊ธ. ๋ฌผ๋ก ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉํฐ์ค๋ ๋์ด์ง๋ง ์ค๋ ๋ฉ ์ํคํ ์ฒ๋ brubeck์์ ์ฌ์ฉ๋๋ ๊ฒ๊ณผ ๋ค๋ฆ ๋๋ค. brubeck์ ์ค๋ ๋๋ ๋์ผํฉ๋๋ค. ๊ฐ๊ฐ์ ์ ๋ณด ์์ง๊ณผ ์ง๊ณ๋ฅผ ๋ชจ๋ ๋ด๋นํฉ๋๋ค. bioyino์์ ์์ ์๋ ๋คํธ์ํฌ๋ฅผ ๋ด๋นํ๋ ๊ทธ๋ฃน๊ณผ ์ง๊ณ๋ฅผ ๋ด๋นํ๋ ๊ทธ๋ฃน์ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค. ์ด๋ฌํ ๋ถํ ์ ํตํด ๋ฉํธ๋ฆญ ์ ํ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ค ์ ์ฐํ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ง์ค์ ์ธ ์ง๊ณ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ง๊ณ์๋ฅผ ์ถ๊ฐํ ์ ์๊ณ , ๋คํธ์ํฌ ํธ๋ํฝ์ด ๋ง์ ๊ฒฝ์ฐ ๋คํธ์ํฌ ํ๋ฆ ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ํ์ฌ ์ฐ๋ฆฌ ์๋ฒ์์๋ 8๊ฐ์ ๋คํธ์ํฌ์ 4๊ฐ์ ์ง๊ณ ํ๋ฆ์์ ์์ ํ๊ณ ์์ต๋๋ค.
๊ณ์ฐ(์ง๊ณ๋ฅผ ๋ด๋น) ๋ถ๋ถ์ ๊ฝค ์ง๋ฃจํฉ๋๋ค. ๋คํธ์ํฌ ํ๋ฆ์ผ๋ก ์ฑ์์ง ๋ฒํผ๋ ๊ณ์ฐ ํ๋ฆ์ ๋ถ์ฐ๋์ด ์ดํ์ ๊ตฌ๋ฌธ ๋ถ์๋๊ณ ์ง๊ณ๋ฉ๋๋ค. ์์ฒญ ์ ๋ค๋ฅธ ๋
ธ๋๋ก ์ ์กํ๊ธฐ ์ํ ๋ฉํธ๋ฆญ์ด ์ ๊ณต๋ฉ๋๋ค. ๋
ธ๋ ๊ฐ ๋ฐ์ดํฐ ์ ์ก ๋ฐ Consul ์์
์ ํฌํจํ ์ด ๋ชจ๋ ์์
์ ํ๋ ์์ํฌ์์ ์คํ๋์ด ๋น๋๊ธฐ์์ผ๋ก ์ํ๋ฉ๋๋ค.
๊ฐ๋ฐ ์ค์ ๋ฉํธ๋ฆญ ์์ ์ ๋ด๋นํ๋ ๋คํธ์ํฌ ๋ถ๋ถ์ผ๋ก ์ธํด ํจ์ฌ โโ๋ ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋คํธ์ํฌ ํ๋ฆ์ ๋ณ๋์ ์ํฐํฐ๋ก ๋ถ๋ฆฌํ๋ ์ฃผ์ ๋ชฉํ๋ ํ๋ฆ์ด ์๋นํ๋ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ๊ฒ์ด์์ต๋๋ค. ์๋ ์์ผ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค. ๋น๋๊ธฐ UDP ๋ฐ ์ผ๋ฐ recvmsg๋ฅผ ์ฌ์ฉํ๋ ์ต์
์ ๋น ๋ฅด๊ฒ ์ฌ๋ผ์ก์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋๋ฌด ๋ง์ ์ฌ์ฉ์ ๊ณต๊ฐ CPU๋ฅผ ์๋นํ๊ณ ๋ ๋ฒ์งธ๋ ๋๋ฌด ๋ง์ ์ปจํ
์คํธ ์ค์์น๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ง๊ธ์ ์ฌ์ฉ๋๋ค
์ฃผ์
๊ธฐ๋ณธ ์ค์ ์์๋ ๋ฒํผ ํฌ๊ธฐ๊ฐ ์๋นํ ํฌ๊ฒ ์ค์ ๋์ด ์์ต๋๋ค. ๊ฐ์๊ธฐ ์๋ฒ๋ฅผ ์ง์ ์ฌ์ฉํด ๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒฝ์ฐ ์์์ ๋ฉํธ๋ฆญ์ ๋ณด๋ธ ํ ํด๋น ๋ฉํธ๋ฆญ์ด Graphite์ ๋์ฐฉํ์ง ์๊ณ ๋คํธ์ํฌ ์คํธ๋ฆผ ๋ฒํผ์ ๋จ์ ์๋ค๋ ์ฌ์ค์ ์ ํ ์ ์์ต๋๋ค. ์ ์ ์์ ๋ฉํธ๋ฆญ์ผ๋ก ์์ ํ๋ ค๋ฉด ๊ตฌ์ฑ์์ bufsize ๋ฐ task-queue-size๋ฅผ ๋ ์์ ๊ฐ์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ฐจํธ ์ ํธ๊ฐ๋ฅผ ์ํ ๋ช ๊ฐ์ง ์ฐจํธ์ ๋๋ค.
๊ฐ ์๋ฒ์ ์์ ๋ฉํธ๋ฆญ ์์ ๋ํ ํต๊ณ: 2๋ง MPS ์ด์.
๋ ธ๋ ์ค ํ๋๋ฅผ ๋นํ์ฑํํ๊ณ ์์ ์ธก์ ํญ๋ชฉ์ ์ฌ๋ฐฐํฌํฉ๋๋ค.
๋๊ฐ๋ ์ธก์ ํญ๋ชฉ์ ๋ํ ํต๊ณ: ํญ์ ํ๋์ ๋ ธ๋(๋ ์ด๋ ๋ณด์ค)๋ง ๋ณด๋ ๋๋ค.
๋ค์ํ ์์คํ ๋ชจ๋์ ์ค๋ฅ๋ฅผ ๊ณ ๋ คํ ๊ฐ ๋ ธ๋์ ์๋ ํต๊ณ์ ๋๋ค.
์์ ์ธก์ ํญ๋ชฉ์ ์ธ๋ถ์ ๋ณด(์ธก์ ํญ๋ชฉ ์ด๋ฆ์ ์จ๊ฒจ์ง)
์ด ๋ชจ๋ ๊ฒ์ ๋ค์์ ๋ฌด์์ ํ ๊ณํ์ ๋๊น? ๋ฌผ๋ก ์ฝ๋๋ ์์ฑํ๊ณ , ์ ์ฅ...! ์ด ํ๋ก์ ํธ๋ ์๋ ์คํ ์์ค๋ก ๊ณํ๋์์ผ๋ฉฐ ํ์ ๋์ ๊ทธ๋๋ก ์ ์ง๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ์ ์ฆ๊ฐ์ ์ธ ๊ณํ์๋ ์์ฒด ๋ฒ์ ์ Raft๋ก ์ ํ, ํผ์ด ํ๋กํ ์ฝ์ ๋ณด๋ค ์ด์ ๊ฐ๋ฅํ ํ๋กํ ์ฝ๋ก ๋ณ๊ฒฝ, ์ถ๊ฐ ๋ด๋ถ ํต๊ณ ๋์ , ์๋ก์ด ์ ํ์ ์ธก์ ํญ๋ชฉ, ๋ฒ๊ทธ ์์ ๋ฐ ๊ธฐํ ๊ฐ์ ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
๋ฌผ๋ก ๋๊ตฌ๋ ํ๋ก์ ํธ ๊ฐ๋ฐ์ ๋์์ ์ค ์ ์์ต๋๋ค. PR ์์ฑ, ์ด์ ์์ฑ, ๊ฐ๋ฅํ๋ค๋ฉด ๋์, ๊ฐ์ ๋ฑ์ ํด๋๋ฆฝ๋๋ค.
๊ทธ๋ ๊ฒ ๋งํ๋ฉด ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค. ์ฐ๋ฆฌ ์ฝ๋ผ๋ฆฌ๋ฅผ ์ฌ์ธ์!
์ถ์ฒ : habr.com