๐ง 1. Master ๋ ธ๋ (master)
ํด๋ฌ์คํฐ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ ํต์ฌ ๋ ธ๋
์ฃผ์ ์ญํ :
- ํด๋ฌ์คํฐ ์ํ ๊ด๋ฆฌ (์: ๋ ธ๋ ์ถ๊ฐ/์ ๊ฑฐ)
- ์ค๋ ํ ๋น ๊ฒฐ์
- ์ธ๋ฑ์ค ์์ฑ/์ญ์ ๋ฑ ๋ฉํ๋ฐ์ดํฐ ๋ณ๊ฒฝ
- ํด๋ฌ์คํฐ ํฌ์ค ๋ชจ๋ํฐ๋ง
ํน์ง:
- ๋ฆฌ์์ค๋ ๋ง์ด ์ ์ฐ์ง๋ง ์ค์์ฑ์ ๊ฐ์ฅ ๋์
- ๋ฐ๋์ ํ์๊ฐ๋ก ๊ตฌ์ฑ (์: 3๊ฐ) → Quorum ํ๋ณด
๐พ 2. Data ๋ ธ๋ (data)
๋ฌธ์ ์ ์ฅ๊ณผ ์ฟผ๋ฆฌ ์คํ์ ์ค์ฌ
์ฃผ์ ์ญํ :
- ์ค์ ๋ฐ์ดํฐ ์ ์ฅ (์ค๋)
- ๊ฒ์ ์์ฒญ ์คํ
- ์์ธ ์ฒ๋ฆฌ (์ธ์ํธ, ์ ๋ฐ์ดํธ, ์ญ์ )
- Aggregation, sort, filtering
ํน์ง:
- CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ์์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ
- ๋๊ท๋ชจ ์์คํ ์์๋ ์ฌ๋ฌ ๊ฐ ํ์
๐ฅ 3. Ingest ๋ ธ๋ (ingest)
๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ(๊ฐ๊ณต)๋ฅผ ๋ด๋น
์ฃผ์ ์ญํ :
- Ingest pipeline ์ํ (์: ํ๋ ์ถ๊ฐ, ๋ ์ง ํ์ฑ, ์ง์ค์ฝ๋ฉ ๋ฑ)
- ์์ธ ์ ๋ฐ์ดํฐ ๋ณํ
ํน์ง:
- Logstash ์์ด๋ ๊ฐ๋จํ ์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ํ์ํ ๋๋ง ์ค์ (์ผ๋ฐ์ ์ธ ๊ตฌ์ฑ์์๋ ํฌํจ ์ ํ๊ธฐ๋ ํจ)
๐ 4. Coordinating ๋ ธ๋ (coordinating_only)
์ฟผ๋ฆฌ ์กฐ๋ฆฝ๊ณผ ๋ถ์ฐ ์ฒ๋ฆฌ์ ์ค๊ฐ ๊ด๋ฆฌ์
์ฃผ์ ์ญํ :
- ํด๋ผ์ด์ธํธ ์์ฒญ ์์
- ์์ฒญ์ ๊ฐ ๋ ธ๋์ ๋ถ์ฐ → ๊ฒฐ๊ณผ ์ทจํฉ → ์๋ต ์ ๋ฌ
- ๊ฒ์ ์์ฒญ์ Aggregation, Merge, Sort ์ฒ๋ฆฌ
ํน์ง:
- ๋ค๋ฅธ ์ญํ ์ ์ ๊ฑฐํ ๋ ธ๋ (node.master=false, node.data=false, node.ingest=false)
- ํด๋ผ์ด์ธํธ ์๋จ์ ์์น → ๋ก๋ ๋ฐธ๋ฐ์ ๋์ฒด ๊ฐ๋ฅ
๐งฑ ๋ณดํต ๊ตฌ์ฑ ์์
| Master | 3๊ฐ | ๊ณ ๊ฐ์ฉ์ฑ ์ํด ํ์ |
| Data | 2~N๊ฐ | ํธ๋ํฝ/๋ฐ์ดํฐ๋์ ๋ฐ๋ผ ์กฐ์ |
| Ingest | 0~2๊ฐ | ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ๋ง |
| Coordinating | 1~N๊ฐ | ๊ฒ์ ํธ๋ํฝ ์ง์ค ๋ถ์ฐ ๋ชฉ์ |