Study/Kafka

์ฃผํ‚คํผ ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ ์šฉ๋„๋กœ๋งŒ ๊ฐ„๋žตํžˆ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์ž ๊ธฐ์กด์—๋Š” ์นดํ”„์นด ์‚ฌ์šฉ ์‹œ ์ฃผํ‚คํผ๊ฐ€ ํ•„์ˆ˜์˜€์œผ๋‚˜, ์ฃผํ‚คํผ ์‚ฌ์šฉ์‹œ ์ œ์•ฝ์‚ฌํ•ญ์ด๋‚˜ ํ•œ๊ณ„์„ฑ์— ์˜ํ•ด ์ฃผํ‚คํผ์™€ ์นดํ”„์นด์˜ ์—ฐ๊ฒฐ๊ณ ๋ฆฌ๋ฅผ ๋Š๊ณ  ์žˆ๋‹ค. Apache Kafka 2.8 ๋ฒ„์ „๋ถ€ํ„ฐ ์ฃผํ‚คํผ ๋Œ€์‹  kraft ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, 2.8.x ๋ฒ„์ „ ๋ถ€ํ„ฐ 3.2.x ๋ฒ„์ „๊นŒ์ง€๋Š” ๊ฐœ๋ฐœ ๋‹จ๊ณ„(์–ผ๋ฆฌ ์•ก์„ธ์Šค,early access) ์ž…๋‹ˆ๋‹ค. Kafka 3.3.1 ๋ฒ„์ „์—์„œ ๋ถ€ํ„ฐ Production(์šด์˜)์—์„œ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ ๋ฐœํ‘œํ•˜๋ฉด์„œ KRaft ์ง€์›๊ณผ ZooKeeper ์ง€์›์ข…๋ฃŒ(์ œ๊ฑฐ)์— ๋Œ€ํ•œ ๋ฆด๋ฆฌ์ฆˆ ํƒ€์ž„๋ผ์ธ์„ ๋ฐœํ‘œ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค ์ผ๋ฐ˜์ ์œผ๋กœ ์นดํ”„์นด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์‹œ์Šคํ…œ(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜)์„ ๋งํ•œ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ ๋‹ค์ˆ˜์˜ ๋ธŒ๋กœ์ปค ์ค‘ ํ•œ๋Œ€๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์„ ํ•œ๋‹ค ํŒŒํ‹ฐ์…˜ ํ• ๋‹น, ์ •์ƒ ๋™..
๋ ˆ์ฝ”๋“œ ์นดํ”„์นด ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ๊ตฌ์„ฑ์š”์†Œ ํ—ค๋” ํƒ€์ž„์Šคํƒฌํ”„ : ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๋Š” ์šฉ๋„ ์˜คํ”„์…‹ : ๋ ˆ์ฝ”๋“œ์˜ ๊ณ ์œ ํ•œ ๋ฒˆํ˜ธ ๋ธŒ๋กœ์ปค์— ์ ์žฌ๋  ๋•Œ ์˜คํ”„์…‹์ด ์ง€์ •๋œ๋‹ค. ๋ฉ”์„ธ์ง€ ํ‚ค : ํŒŒํ‹ฐ์…”๋‹(๋ถ„๋ฅ˜)๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉํ•ด ํŒŒํ‹ฐ์…”๋‹ํ•จ ํ‚ค๊ฐ€ ๋™์ผํ•˜๋ฉด ํ•ญ์ƒ ๊ฐ™์€ ํŒŒํ‹ฐ์…˜์— ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์„œ ๋ณด์žฅ ๊ฐ€๋Šฅ ๋ฉ”์„ธ์ง€ ๊ฐ’ : ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐ”์ดํŠธ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํŒŒํ‹ฐ์…˜ ํ ๊ตฌ์กฐ๋กœ ๋ ˆ์ฝ”๋“œ(๋ฉ”์‹œ์ง€)๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„ ์ฐธ๊ณ  : ํŒŒํ‹ฐ์…˜์˜ ๊ฐœ์ˆ˜๋Š” ๋Š˜์–ด๋‚  ์ˆ˜๋Š” ์žˆ์–ด๋„ ์ค„์–ด๋“ค ์ˆ˜ ์—†๋‹ค. ํŒŒํ‹ฐ์…˜ ๊ฐœ์ˆ˜๋ฅผ ์ค„์ด์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ์นดํ”„์นด๋ฅผ ์ด๋ฃจ๋Š” ์—ฌ๋Ÿฌ ์„ค๊ณ„ ์š”์ธ๋“ค์ด ๋ณตํ•ฉ์ ์œผ๋กœ ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์ˆ˜ ๋ธŒ๋กœ์ปค์— ๋ถ„๋ฐฐ๋˜์–ด ์žˆ๋Š” ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋‹ค์‹œ ์žฌ๋ฐฐ์—ดํ•˜๋Š” ๊ฒƒ์— ์ƒ๋‹นํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ง์”€๋“œ..
์นดํ”„์นด ๋งํฌ๋“œ์ธ ๋‚ด๋ถ€ ์ด์Šˆ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ๋งŒ๋“ค์–ด์ง„ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ (์Šค์นผ๋ผ๋กœ ๋งŒ๋“ค์–ด์ง) ์ด๋ฒคํŠธ : ํŠน๋ณ„ํ•œ ๋ฐ์ดํ„ฐ ์ƒํƒœ์˜ ๋ณ€ํ™”๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ : ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ์˜ ์ง€์†์ ์ธ ํ๋ฆ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ์—๋Š” ์‹œ์ž‘๊ณผ ๋์ด ์—†๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ : ์ง€์†์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆฌ๋ฐ : ๋‹ค์–‘ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๋“ค์„ ์ ํ•ฉํ•œ ์žฅ์†Œ์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ „๋‹ฌํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ๊ณ ์„ฑ๋Šฅ TCP ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•˜๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋กœ ๊ตฌ์„ฑ๋œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ โ‰๏ธTCP ๊ด€๋ จ ์ด์Šˆ https://jinhanchoi1.medium.com/kafkaconsumer-and-tcp-connection-5a2c8b197732 KafkaConsumer๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ NetworkClient๋ฅผ ํ†ตํ•ด Req..
YURI๐Ÿ•๐Ÿ“๐Ÿถ
'Study/Kafka' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก