Overview
Apache Kafka vs Redis Stream
์ฉ์ด
Cluster: ๊ฐ์ด ์ผํ๋ ์นดํ์นด ๋ ธ๋๋ค์ ์งํฉ
Node: ์นดํ์นด ํ๋ก์ธ์ค 1๊ฐ
โ Node๋ Broker ๋๋ Controller ์ค 1๊ฐ๋ง, ๋๋ 2๊ฐ ๋ชจ๋ ๋ด๋นํ ์ ์์!
Broker: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ญํ (์ธ๋ถ ํต์ )
Controller: ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์ญํ (๋ด๋ถ ํต์ )
โ ํด๋ฌ์คํฐ ์ ์ฒด์ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ
์ ๋ฆฌ
<๋
ผ๋ฆฌ์ ๊ตฌ์กฐ>

<๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ>

์ ํ๋์ ํ ํฝ ๋ด์ ์ฌ๋ฌ ๊ฐ์ Partition ์ฌ์ฉ?
Broker๋ ํ ํฝ๋ณ๋ก ํํฐ์ ์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์๋, ๋ค๋ฅธ ํ ํฝ์ ํํฐ์ ์ ๋ฌถ์ด์ ๊ด๋ฆฌํจ
ํํฐ์ ํ๋๋ ์ฌ๋ฌ ๋ธ๋ก์ปค์ Replica๋ก ์กด์ฌ
โ Replica๋ ๋ณต๊ตฌ์ฉ, Leader๋ง ๋ฉ์์ง ์ฒ๋ฆฌ ๊ฐ๋ฅ!
ํ๋ฆ
ํ๋ก๋์๊ฐ ํํฐ์ A๋ก ๋ฉ์์ง ๋ฐ์ก ํฌ๋ง
โ Bootstrap ๊ณผ์ !
๋ธ๋ก์ปค B์ TCP ์ฐ๊ฒฐ
ISR (๋ฆฌ๋ ์ ์ ๋ช ๋จ) ์ ๋ฆฌ๋๋ฉด ์ปค๋ฐ ์๋ฃ
โ ์ด์ ์ปจ์๋จธ๊ฐ ์ฝ์ ์ ์์
Partition๊ณผ Consumer์ ๊ด๊ณ
๋์ ๊ด๊ณ
Consumer Group์๋ ์ฌ๋ฌ Consumer๋ฅผ ๋ ์ ์์
์ปจ์๋จธ ์๊ฐ ๋ ์ ์ผ๋ฉด, ์์์ Partition๋ค์ ๋๋ ์ ๋ด๋น
ํํฐ์ ์ โฅ ์ปจ์๋จธ ์
โ ์ปจ์๋จธ๊ฐ ๋ ๋ง์ผ๋ฉด, ๋ช ์ปจ์๋จธ๋ ํ ์ผ์ด X
Partition๋ค ์ฌ์ด์์ ๋ฉ์์ง์ ์์ ๋ณด์ฅ ๋ฐฉ๋ฒ
Producer
Consumer Group
ํ๋์ Partition์ ์ฌ๋ฌ Consumer Group์ด ์๋น ๊ฐ๋ฅ
ํ๋์ Partition์ ๊ฐ์ Consumer Group ๋ด์์ ํ๋์ Consumer๋ง ์ฐ๊ฒฐ
โ ๋ฉ์์ง๊ฐ ํํฐ์ ๋ณ๋ก ์์๋๋ก ์ฝํ๋๋ก ๋ณด์ฅํ๊ธฐ ์ํจ
Best case: Partition๊ณผ Consumer๋ฅผ 1:1๋ก ์ฐ๊ฒฐ ์
์ถ๊ฐ ์ธ๋ถ ๋ด์ฉ