RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ

ะ’ ๋งˆ์ง€๋ง‰ ๊ธฐ์‚ฌ ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์œ„ํ•ด RabbitMQ ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ Apache Kafka์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ณต์ œ ๋‹จ์œ„๋Š” ํŒŒํ‹ฐ์…˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์ฃผ์ œ์—๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์„น์…˜์—๋Š” ์ถ”์ข…์ž๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์—†๋Š” ๋ฆฌ๋”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํŒŒํ‹ฐ์…˜ ์ˆ˜์™€ ๋ณต์ œ ๊ณ„์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฐ’์€ 3์ž…๋‹ˆ๋‹ค. ์ด๋Š” XNUMX๊ฐœ์˜ ๋ณต์ œ๋ณธ(๋ฆฌ๋” XNUMX๊ฐœ์™€ ํŒ”๋กœ์–ด XNUMX๊ฐœ)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 1. XNUMX๊ฐœ์˜ ์„น์…˜์ด XNUMX๊ฐœ์˜ ๋ธŒ๋กœ์ปค์— ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์€ ๋ฆฌ๋”์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ํŒ”๋กœ์–ด๋Š” ์ •๊ธฐ์ ์œผ๋กœ ๋ฆฌ๋”์—๊ฒŒ ์ตœ์‹  ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์†Œ๋น„์ž๋Š” ์ถ”์ข…์ž์—๊ฒŒ ๊ฒฐ์ฝ” ์˜์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ›„์ž๋Š” ์ค‘๋ณต์„ฑ๊ณผ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์œ„ํ•ด์„œ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ

ํŒŒํ‹ฐ์…˜ ์‹คํŒจ

๋ธŒ๋กœ์ปค๊ฐ€ ์‹คํŒจํ•˜๋ฉด ์—ฌ๋Ÿฌ ์„น์…˜์˜ ๋ฆฌ๋”๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ์˜ ํŒ”๋กœ์–ด๊ฐ€ ๋ฆฌ๋”๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋™๊ธฐํ™” ์š”์†Œ๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๊ทธ๋Ÿฐ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋™๊ธฐํ™”๋œ ํŒ”๋กœ์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ณต์ œ๋ณธ์œผ๋กœ์˜ ์ „ํ™˜์ด ํ—ˆ์šฉ๋˜๋Š”์ง€ ์—ฌ๋ถ€. ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์ƒํ™ฉ์„ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ๋งˆ์„ธ์š”.

๋ธŒ๋กœ์ปค 3์ด ๋„คํŠธ์›Œํฌ๋ฅผ ๋– ๋‚˜๊ณ  ๋ธŒ๋กœ์ปค 2์˜ ์„น์…˜ 2์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฆฌ๋”๊ฐ€ ์„ ์ถœ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 2. ๋ธŒ๋กœ์ปค 3์ด ์‚ฌ๋งํ•˜๊ณ  ๋ธŒ๋กœ์ปค 2์˜ ์ถ”์ข…์ž๊ฐ€ ํŒŒํ‹ฐ์…˜ 2์˜ ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋กœ ์„ ์ถœ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 1์ด ๋– ๋‚˜๊ณ  ์„น์…˜ 1๋„ ๋ฆฌ๋”๋ฅผ ์žƒ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋”์˜ ์—ญํ• ์€ ๋ธŒ๋กœ์ปค 2์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 3. ๋ธŒ๋กœ์ปค๊ฐ€ ํ•œ ๋ช… ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฆฌ๋”๋Š” ์ค‘๋ณต์„ฑ์ด ์ „ํ˜€ ์—†๋Š” ํ•˜๋‚˜์˜ ๋ธŒ๋กœ์ปค์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 1์ด ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด 2๊ฐœ์˜ ํŒ”๋กœ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ ํŒŒํ‹ฐ์…˜์— ์•ฝ๊ฐ„์˜ ์ค‘๋ณต์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋ฆฌ๋”๋Š” ์—ฌ์ „ํžˆ ๋ธŒ๋กœ์ปค XNUMX์— ๋‚จ์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 4. ๋ฆฌ๋”๋Š” ๋ธŒ๋กœ์ปค 2์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 3์ด ๋‚˜ํƒ€๋‚˜๋ฉด ํŒŒํ‹ฐ์…˜๋‹น 2๊ฐœ์˜ ๋ณต์ œ๋ณธ์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋ฆฌ๋”๋Š” ์—ฌ์ „ํžˆ ๋ธŒ๋กœ์ปค XNUMX์— ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 5. ๋ธŒ๋กœ์ปค 1, 3 ๋ณต์› ํ›„ ๋ฆฌ๋”์˜ ๋ถˆ๊ท ํ˜• ๋ฐฐ์น˜

Kafka์—๋Š” RabbitMQ๋ณด๋‹ค ๋” ๋‚˜์€ ๋ฆฌ๋” ์žฌ์กฐ์ •์„ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘ ์ค‘๋ณต์„ฑ์„ ์ค„์—ฌ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ •์ฑ…์„ ๋ณ€๊ฒฝํ•˜๋Š” ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋Œ€๊ทœ๋ชจ ๋Œ€๊ธฐ์—ด์˜ ๊ฒฝ์šฐ ๋™๊ธฐํ™” ์ค‘์— ๋น„๊ฐ€์šฉ์„ฑ์„ ํ—ˆ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Kafka์—๋Š” ๋ฆฌ๋” ์—ญํ• ์— ๋Œ€ํ•ด "์„ ํ˜ธ ๋ณต์ œ๋ณธ"์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ† ํ”ฝ ํŒŒํ‹ฐ์…˜์ด ์ƒ์„ฑ๋˜๋ฉด Kafka๋Š” ๋…ธ๋“œ ์ „์ฒด์— ๋ฆฌ๋”๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ๋ฆฌ๋”๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๋ฆฌ๋”๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์„œ๋ฒ„ ์žฌ๋ถ€ํŒ…, ์˜ค๋ฅ˜ ๋ฐ ์—ฐ๊ฒฐ ๋Š๊น€์œผ๋กœ ์ธํ•ด ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ๋ฆฌ๋”๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Kafka๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ต์…˜ auto.leader.rebalance.enable=true ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ๋ฆฌ๋”๋ฅผ ๊ธฐ๋ณธ ๋ณต์ œ๋ณธ์— ๋‹ค์‹œ ํ• ๋‹นํ•˜์—ฌ ๊ท ์ผํ•œ ๋ฐฐํฌ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์นดํ”„์นด-์„ ํ˜ธ-๋ณต์ œ๋ณธ-election.sh ์ˆ˜๋™ ์žฌํ• ๋‹น์šฉ.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 6. ์žฌ์กฐ์ • ํ›„ ๋ณต์ œ๋ณธ

์ด๊ฒƒ์€ ์‹คํŒจ์˜ ๋‹จ์ˆœํ™”๋œ ๋ฒ„์ „์ด์ง€๋งŒ ํ˜„์‹ค์€ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋ณต์žกํ•œ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ๋™๊ธฐํ™”๋œ ๋ณต์ œ๋ณธ(In-Sync Replicas, ISR)์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

๋™๊ธฐํ™”๋œ ๋ณต์ œ๋ณธ(ISR)

ISR์€ "๋™๊ธฐํ™”"(๋™๊ธฐํ™”)๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ํŒŒํ‹ฐ์…˜์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋”๋Š” ์žˆ์ง€๋งŒ ์ถ”์ข…์ž๋Š” ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐ„๊ฒฉ์ด ๋งŒ๋ฃŒ๋˜๊ธฐ ์ „์— ๋ชจ๋“  ๋ฆฌ๋” ๋ฉ”์‹œ์ง€์˜ ์ •ํ™•ํ•œ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“  ๊ฒฝ์šฐ ํŒ”๋กœ์–ด๋Š” ๋™๊ธฐํ™”๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ํŒ”๋กœ์–ด๊ฐ€ ISR ์„ธํŠธ์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐ„๊ฒฉ ์„ ํƒ์„ ์š”์ฒญํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms (์ฃฝ์€ ๊ฒƒ์œผ๋กœ ์ถ”์ •)
  • ๊ฐ„๊ฒฉ ๋™์•ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms (๋Š๋ฆฐ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ)

ํŒ”๋กœ์›Œ๋Š” ์ผ์ • ๊ฐ„๊ฒฉ์œผ๋กœ ์ƒ˜ํ”Œ๋ง ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ.fetch.wait.max.ms, ๊ธฐ๋ณธ๊ฐ’์€ 500ms์ž…๋‹ˆ๋‹ค.

ISR์˜ ๋ชฉ์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ ค๋ฉด ์ƒ์‚ฐ์ž์˜ ํ™•์ธ๊ณผ ์ผ๋ถ€ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์‚ฐ์ž๋Š” ๋ธŒ๋กœ์ปค๊ฐ€ ํ™•์ธ์„ ๋ณด๋‚ด๋Š” ์‹œ๊ธฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • acks=0, ํ™•์ธ์ด ์ „์†ก๋˜์ง€ ์•Š์Œ
  • acks=1, ๋ฆฌ๋”๊ฐ€ ๋กœ์ปฌ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ํ™•์ธ์ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
  • acks=all, ISR์˜ ๋ชจ๋“  ๋ณต์ œ๋ณธ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋กœ์ปฌ ๋กœ๊ทธ์— ๊ธฐ๋กํ•œ ํ›„ ํ™•์ธ์ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

Kafka ์šฉ์–ด์—์„œ๋Š” ISR์ด ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๊ฐ€ "์ปค๋ฐ‹"๋ฉ๋‹ˆ๋‹ค. Acks=all์€ ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ์˜ต์…˜์ด์ง€๋งŒ ์ง€์—ฐ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์‹คํŒจ์˜ ๋‘ ๊ฐ€์ง€ ์˜ˆ์™€ ๋‹ค์–‘ํ•œ 'acks' ์˜ต์…˜์ด ISR ๊ฐœ๋…๊ณผ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Ack=1 ๋ฐ ISR

์ด ์˜ˆ์—์„œ๋Š” ๋ฆฌ๋”๊ฐ€ ๋ชจ๋“  ํŒ”๋กœ์–ด์˜ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ์ €์žฅ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์œผ๋ฉด ๋ฆฌ๋”๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ํŒ”๋กœ์–ด ํƒ์ƒ‰์€ ์„ค์ •์„ ํ†ตํ•ด ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ€์ •ํ•œ.๋ฆฌ๋”.์„ ๊ฑฐ.ํ™œ์„ฑํ™”.

์ด ์˜ˆ์—์„œ ์ œ์กฐ์—…์ฒด์˜ ๊ฐ’์€ acks=1์ž…๋‹ˆ๋‹ค. ์„น์…˜์€ ์„ธ ๋ธŒ๋กœ์ปค ๋ชจ๋‘์— ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค 3์ด ๋’ค์ณ์ ธ ์žˆ์œผ๋ฉฐ 7456์ดˆ ์ „์— ๋ฆฌ๋”์™€ ๋™๊ธฐํ™”๋˜์—ˆ์œผ๋ฉฐ ํ˜„์žฌ 1๊ฐœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋’ค์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค XNUMX์€ ๋‹จ XNUMX์ดˆ ๋’ค์ณ์กŒ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ํ”„๋กœ๋“€์„œ๋Š” ๋ฆฌ๋”๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š” ๋Š๋ฆฌ๊ฑฐ๋‚˜ ์ฃฝ์€ ์ถ”์ข…์ž์˜ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ ์†ํ•˜๊ฒŒ ์‘๋‹ต์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 7. ์„ธ ๊ฐœ์˜ ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ISR

๋ธŒ๋กœ์ปค 2๊ฐ€ ์‹คํŒจํ•˜๊ณ  ์ƒ์‚ฐ์ž์—๊ฒŒ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋”์‹ญ์ด ๋ธŒ๋กœ์ปค 1๋กœ ์ „๋‹ฌ๋œ ํ›„ 123๊ฐœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค 1์˜ ํŒ”๋กœ์–ด๋Š” ISR์˜ ์ผ๋ถ€์˜€์ง€๋งŒ ๋–จ์–ด์กŒ์„ ๋•Œ ๋ฆฌ๋”์™€ ์™„์ „ํžˆ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 8. ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ์ค‘ bootstrap.์„œ๋ฒ„ ์ œ์กฐ์—…์ฒด์—๋Š” ์—ฌ๋Ÿฌ ๋ธŒ๋กœ์ปค๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ์„น์…˜ ๋ฆฌ๋”์ธ ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค์—๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 1์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๊ณ„์†ํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 9. ์ž ์‹œ ํœด์‹ ํ›„ ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ๊ฐ€ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 3์€ ํ›จ์”ฌ ๋’ค์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ํ•˜์ง€๋งŒ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธŒ๋กœ์ปค ๊ฐ„ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์†๋„ ์ €ํ•˜, ์ €์žฅ ๋ฌธ์ œ ๋“ฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ISR์€ ํ•˜๋‚˜์˜ ๋ณต์ œ๋ณธ, ์ฆ‰ ๋ฆฌ๋”๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค! ์ œ์กฐ์—…์ฒด๋Š” ๊ณ„์†ํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ํ™•์ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 10. ๋ธŒ๋กœ์ปค 3์˜ ํŒ”๋กœ์–ด๊ฐ€ ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 1์ด ์ค‘๋‹จ๋˜๊ณ  3๊ฐœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋˜๋ฉด์„œ ๋ฆฌ๋”์‹ญ ์—ญํ• ์ด ๋ธŒ๋กœ์ปค 15286์œผ๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค! ์ œ์กฐ์—…์ฒด๋Š” ์—ฐ๊ฒฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ISR ์™ธ๋ถ€์˜ ๋ฆฌ๋”๋กœ์˜ ์ „ํ™˜์€ ๋‹ค์Œ ์„ค์ •์œผ๋กœ ์ธํ•ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. unclean.leader.election.enable=true. ์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ๋ฆ‡๋œ์ด๋ฉด ์ „ํ™˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์ด ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ๋ธŒ๋กœ์ปค 1์ด ๋ณต์ œ๋ณธ์— ๊ทธ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ธŒ๋กœ์ปค XNUMX์ด ๋‹ค์‹œ ๋ฆฌ๋”์‹ญ์„ ๋งก๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 11. ๋ธŒ๋กœ์ปค 1์ด ๋„˜์–ด์ง‘๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋งŽ์€ ์ˆ˜์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

์ƒ์‚ฐ์ž๋Š” ๋งˆ์ง€๋ง‰ ๋ธŒ๋กœ์ปค์™€ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ์ด์ œ ๊ทธ๊ฐ€ ์„น์…˜์˜ ๋ฆฌ๋”์ž„์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ธŒ๋กœ์ปค 3์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 12. ์ž ์‹œ ํœด์‹ ํ›„ ๋‹ค์‹œ 0๋ฒˆ ๊ตฌ์—ญ์œผ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ์งง์€ ์ค‘๋‹จ ์™ธ์—๋„ ์ œ์กฐ์—…์ฒด๊ฐ€ ์ง€์†์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ตฌ์„ฑ์€ ์ผ๊ด€์„ฑ(๋ฐ์ดํ„ฐ ๋ณด์•ˆ)์„ ํฌ์ƒํ•˜์—ฌ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. Kafka๋Š” ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์žƒ์—ˆ์ง€๋งŒ ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ์“ฐ๊ธฐ๋ฅผ ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Acks=all ๋ฐ ISR

์ด ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘. ๋ธŒ๋กœ์ปค 3์˜ ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„์€ XNUMX์ดˆ์ž…๋‹ˆ๋‹ค. ์ œ์กฐ์—…์ฒด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘, ์ด์ œ ๋น ๋ฅธ ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋”๋Š” ISR์˜ ๋ชจ๋“  ๋ณต์ œ๋ณธ์— ๋ฉ”์‹œ์ง€๊ฐ€ ์ €์žฅ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 13. ์„ธ ๊ฐœ์˜ ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ISR. ํ•˜๋‚˜๋Š” ์†๋„๊ฐ€ ๋Š๋ ค ๋…น์Œ์ด ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค.

2์ดˆ์˜ ์ถ”๊ฐ€ ์ง€์—ฐ ํ›„ ๋ธŒ๋กœ์ปค XNUMX๋Š” ack๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ๋ณต์ œ๋ณธ์ด ์™„์ „ํžˆ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 14. ๋ชจ๋“  ๋ณต์ œ๋ณธ์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ack๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ด์ œ ๋ธŒ๋กœ์ปค 3์€ ๋”์šฑ ๋’ค์ณ์ ธ ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ISR์— ๋Š๋ฆฐ ๋ณต์ œ๋ณธ์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ง€์—ฐ ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ์ด์ œ ๋ธŒ๋กœ์ปค 2๋Š” ๋ธŒ๋กœ์ปค 1๋งŒ ๊ธฐ๋‹ค๋ฆฌ๋ฉฐ ํ‰๊ท  ์ง€์—ฐ ์‹œ๊ฐ„์€ 500ms์ž…๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 15. ๋ธŒ๋กœ์ปค 3์˜ ๋ณต์ œ๋ณธ์ด ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 2๊ฐ€ ์‹คํŒจํ•˜๊ณ  ๋ฆฌ๋”์‹ญ์ด ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด ๋ธŒ๋กœ์ปค 1๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 16. ๋ธŒ๋กœ์ปค 2 ํ•˜๋ฝ

์ œ์กฐ์—…์ฒด๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋ฅผ ์ฐพ์•„ ๊ทธ์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ISR์ด ํ•˜๋‚˜์˜ ๋ณต์ œ๋ณธ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๋”์šฑ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์˜ต์…˜์€ ์Šน์ธ=๋ชจ๋‘ ์ค‘๋ณต์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 17. ๋ธŒ๋กœ์ปค 1์˜ ๋ณต์ œ๋ณธ์ด ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด ์„ ๋‘๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 1์ด ์ถฉ๋Œํ•˜๊ณ  ๋ฆฌ๋“œ๊ฐ€ 3๊ฐœ์˜ ๋ฉ”์‹œ์ง€ ์†์‹ค๊ณผ ํ•จ๊ป˜ ๋ธŒ๋กœ์ปค 14238์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค!

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 18. ๋ธŒ๋กœ์ปค 1์˜ ์‚ฌ๋ง ๋ฐ ๋ถˆ๊ฒฐํ•œ ์„ค์ •์œผ๋กœ ์ธํ•œ ๋ฆฌ๋”์‹ญ ์ „ํ™˜์œผ๋กœ ์ธํ•ด ๊ด‘๋ฒ”์œ„ํ•œ ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐœ์ƒ

์˜ต์…˜์„ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ๋ถ€์ •ํ•œ.๋ฆฌ๋”.์„ ๊ฑฐ.ํ™œ์„ฑํ™” ์˜๋ฏธ์ƒ ์ฐธ๋œ. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆ‡๋œ. ์„ค์ • ์Šน์ธ=๋ชจ๋‘ ั unclean.leader.election.enable=true ์ผ๋ถ€ ์ถ”๊ฐ€๋œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๊ณผ ํ•จ๊ป˜ ์ ‘๊ทผ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋ฉ”์‹œ์ง€๋Š” ์—ฌ์ „ํžˆ ์†์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๋‹น์‹ ์€ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค unclean.leader.election.enable = ๊ฑฐ์ง“, ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ๋ฐ์ดํ„ฐ ์†์‹ค๋กœ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋ฅผ ๋ณดํ˜ธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋”๊ฐ€ ์“ฐ๋Ÿฌ์ ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ„ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋Š” ์—ฌ์ „ํžˆ ์†์‹ค๋˜๋ฉฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์ƒํ™ฉ์„ ๋ณต์›ํ•  ๋•Œ๊นŒ์ง€ ๊ฐ€์šฉ์„ฑ๋„ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ์ค‘๋ณต๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋…น์Œ์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ ์–ด๋„ ๋ธŒ๋กœ์ปค ์ž…์žฅ์—์„œ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋™์‹œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Acks=all, min.insync.replicas ๋ฐ ISR

์ฃผ์ œ ๊ตฌ์„ฑ ํฌํ•จ min.insync.replicas ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ์ˆ˜์ค€์„ ๋†’์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. min.insync.replicas=2.

๋”ฐ๋ผ์„œ ๋ธŒ๋กœ์ปค 2์—๋Š” ๋ณต์ œ๋ณธ ๋ฆฌ๋”๊ฐ€ ์žˆ๊ณ  ๋ธŒ๋กœ์ปค 3์˜ ํŒ”๋กœ์–ด๋Š” ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 19. ๋‘ ๋ณต์ œ๋ณธ์˜ ISR

๋ธŒ๋กœ์ปค 2๊ฐ€ ์‹คํŒจํ•˜๊ณ  ๋ฆฌ๋”์‹ญ์ด ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด ๋ธŒ๋กœ์ปค 1๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ISR์€ ๋‹จ ํ•˜๋‚˜์˜ ๋ณต์ œ๋ณธ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๋ธŒ๋กœ์ปค๋Š” ์“ฐ๊ธฐ ์‹œ๋„์— ์˜ค๋ฅ˜๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๋ณต์ œ๋ณธ.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 20. ISR ์ˆ˜๊ฐ€ min.insync.replicas์— ์ง€์ •๋œ ๊ฒƒ๋ณด๋‹ค XNUMX๊ฐœ ์ ์Šต๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์€ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ๊ฐ€์šฉ์„ฑ์„ ํฌ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋ฅผ ์Šน์ธํ•˜๊ธฐ ์ „์— ๋ฉ”์‹œ์ง€๊ฐ€ ์ตœ์†Œํ•œ ๋‘ ๊ฐœ์˜ ๋ณต์ œ๋ณธ์— ๊ธฐ๋ก๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ œ์กฐ์—…์ฒด์—๊ฒŒ ํ›จ์”ฌ ๋” ๋งŽ์€ ์‹ ๋ขฐ๋ฅผ ์ค๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฉ”์‹œ์ง€ ์†์‹ค์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถ”๊ฐ€ ํŒ”๋กœ์–ด์— ๋ณต์ œ๋  ๋•Œ๊นŒ์ง€ ์งง์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋‘ ๊ฐœ์˜ ๋ณต์ œ๋ณธ์ด ๋™์‹œ์— ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ทธ๋Ÿด ๊ฐ€๋Šฅ์„ฑ์€ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŽธ์ง‘์ฆ์ด ์‹ฌํ•œ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ณต์ œ ์ธ์ž๋ฅผ 5๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. min.insync.replicas by 3. ์—ฌ๊ธฐ์„œ ์„ธ ๋ช…์˜ ๋ธŒ๋กœ์ปค๊ฐ€ ๋™์‹œ์— ๋–จ์–ด์ ธ์•ผ ๊ธฐ๋ก์„ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค! ๋ฌผ๋ก  ์ด๋Ÿฌํ•œ ์•ˆ์ •์„ฑ์— ๋Œ€ํ•œ ๋Œ€๊ฐ€๋Š” ์ถ”๊ฐ€ ๋Œ€๊ธฐ ์‹œ๊ฐ„์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์œ„ํ•ด ์ ‘๊ทผ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ

์—์„œ์™€ ๊ฐ™์ด RabbitMQ์˜ ๊ฒฝ์šฐ, ๋•Œ๋กœ๋Š” ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์œ„ํ•ด ์ ‘๊ทผ์„ฑ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์ƒ๊ฐํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฒŒ์‹œ์ž๊ฐ€ ๋‹จ์ˆœํžˆ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์—…์ŠคํŠธ๋ฆผ ์„œ๋น„์Šค๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
  • ๊ฒŒ์‹œ์ž๊ฐ€ ๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ๋กœ์ปฌ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋Œ€๋‹ต์ด '์•„๋‹ˆ์š”'์ธ ๊ฒฝ์šฐ ๊ฐ€์šฉ์„ฑ์„ ์ตœ์ ํ™”ํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋กํ•˜์ง€ ์•Š๋Š” ๋Œ€์‹  ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๊ฒƒ์€ ๊ท ํ˜•์„ ์ฐพ๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋˜๋ฉฐ ๊ฒฐ์ •์€ ํŠน์ • ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

ISR์˜ ์˜๋ฏธ

ISR ์ œํ’ˆ๊ตฐ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๊ณผ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๊ฐ„์˜ ์ตœ์ ์˜ ๊ท ํ˜•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์ œ๋ณธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ ์ง€์—ฐ ์‹œ๊ฐ„ ์ธก๋ฉด์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋Š๋ฆฐ ๋ณต์ œ๋ณธ์˜ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์˜๋ฏธ๋ฅผ ์Šค์Šค๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms ๊ท€ํ•˜์˜ ํ•„์š”์— ๋”ฐ๋ผ. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ํ—ˆ์šฉํ•  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘. ๊ธฐ๋ณธ๊ฐ’์€ XNUMX์ดˆ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๊ธธ๋‹ค๋ฉด ์ค„์—ฌ๋„ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํŒ”๋กœ์–ด๊ฐ€ ๋” ์ž์ฃผ ์ œ๊ฑฐ๋˜๊ณ  ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ISR์˜ ๋ณ€๊ฒฝ ๋นˆ๋„๊ฐ€ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ๋Š” ๋‹จ์ˆœํžˆ ๋ณต์ œ๊ฐ€ ํ•„์š”ํ•œ ๋ฏธ๋Ÿฌ ์„ธํŠธ์ž…๋‹ˆ๋‹ค. ๋Š๋ฆฐ ๋ฏธ๋Ÿฌ๋Š” ์ถ”๊ฐ€ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , ๋ฐ๋“œ ๋ฏธ๋Ÿฌ๋Š” ๊ฐ ๋…ธ๋“œ์˜ ๊ฐ€์šฉ์„ฑ(๋„ท ํ‹ฑ)์„ ํ™•์ธํ•˜๋Š” ํŒจํ‚ท์ด ์‘๋‹ตํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ISR์€ ์ด๋Ÿฌํ•œ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ISR์€ ๋ฆฌ๋”๋กœ๋งŒ ์ถ•์†Œ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ค‘๋ณต์„ฑ์„ ์žƒ์„ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ํ”ผํ•˜๋ ค๋ฉด ๋‹ค์Œ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. min.insync.replicas.

ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ๋ณด์žฅ

์„ค์ •์—์„œ bootstrap.์„œ๋ฒ„ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๋Š” ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ธŒ๋กœ์ปค๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ์—ด ์ˆ˜ ์žˆ๋Š” ์—ฌ๋ถ„์˜ ๋…ธ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ๋‚จ๊ฒŒ ๋œ๋‹ค๋Š” ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ˜๋“œ์‹œ ์„น์…˜ ๋ฆฌ๋”์ผ ํ•„์š”๋Š” ์—†์œผ๋ฉฐ ๋‹จ์ˆœํžˆ ์ดˆ๊ธฐ ๋กœ๋”ฉ์„ ์œ„ํ•œ ๋ฐœํŒ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ฝ๊ธฐ/์“ฐ๊ธฐ ํŒŒํ‹ฐ์…˜ ๋ฆฌ๋”๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ๋ฌผ์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์—์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‚ด๋ถ€ ๋ผ์šฐํŒ…์€ ํ•„์š”ํ•œ ๊ณณ์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” RabbitMQ ์•ž์— ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Kafka์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ํŒŒํ‹ฐ์…˜ ๋ฆฌ๋”๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋…ธ๋“œ์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก bootstrap.์„œ๋ฒ„ ์žฅ์•  ๋ฐœ์ƒ ํ›„ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๋…ธ๋“œ์— ์•ก์„ธ์Šคํ•˜๊ณ  ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

Kafka ํ•ฉ์˜ ์•„ํ‚คํ…์ฒ˜

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋ธŒ๋กœ์ปค์˜ ๋ชฐ๋ฝ์„ ์–ด๋–ป๊ฒŒ ํ•™์Šตํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฆฌ๋”๊ฐ€ ์„ ์ถœ๋˜๋Š”์ง€ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Kafka๊ฐ€ ๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…˜์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋จผ์ € ํ•ฉ์˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ Kafka ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์‹œ์Šคํ…œ์ด ํŠน์ • ์ƒํƒœ์— ๋Œ€ํ•œ ํ•ฉ์˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ถ„์‚ฐ ํ•ฉ์˜ ์„œ๋น„์Šค์ธ Zookeeper ํด๋Ÿฌ์Šคํ„ฐ์™€ ํ•จ๊ป˜ ๋ฐฐํฌ๋˜์–ด ๊ฐ€์šฉ์„ฑ๋ณด๋‹ค ์ผ๊ด€์„ฑ์„ ์šฐ์„ ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์Šน์ธํ•˜๋ ค๋ฉด Zookeeper ๋…ธ๋“œ ๋Œ€๋‹ค์ˆ˜์˜ ๋™์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Zookeeper๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์ฃผ์ œ, ์„น์…˜, ๊ตฌ์„ฑ, ํ˜„์žฌ ๋ฆฌ๋” ๋ณต์ œ๋ณธ, ๊ธฐ๋ณธ ๋ณต์ œ๋ณธ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์›. ๊ฐ ๋ธŒ๋กœ์ปค๋Š” Zookeeper ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ pingํ•ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ์‹œ๊ฐ„ ๋‚ด์— ํ•‘์„ ๋ฐ›์ง€ ๋ชปํ•˜๋ฉด Zookeeper๋Š” ๋ธŒ๋กœ์ปค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  • ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ธฐ๋ณธ ๋…ธ๋“œ์™€ ์˜ˆ๋น„ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๋Š” ๋ณต์ œ๋ณธ ๋ฆฌ๋” ์„ ํƒ์„ ๋‹ด๋‹นํ•˜๋Š” Kafka ๋ธŒ๋กœ์ปค ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. Zookeeper๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋ฉค๋ฒ„์‹ญ ๋ฐ ์ฃผ์ œ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์•Œ๋ฆผ์„ ์ปจํŠธ๋กค๋Ÿฌ์— ๋ณด๋‚ด๊ณ  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 3๊ฐœ์˜ ํŒŒํ‹ฐ์…˜๊ณผ XNUMX์˜ ๋ณต์ œ ํŒฉํ„ฐ๊ฐ€ ์žˆ๋Š” ์ƒˆ ์ฃผ์ œ๋ฅผ ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ธŒ๋กœ์ปค ๊ฐ„์— ๋ฆฌ๋”๋ฅผ ์ตœ์ ์œผ๋กœ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŒŒํ‹ฐ์…˜์— ๋Œ€ํ•œ ๋ฆฌ๋”๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ์„น์…˜ ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ISR ๋ฐ ๋ฆฌ๋”์— ๋Œ€ํ•œ Zookeeper์˜ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ํŒŒํ‹ฐ์…˜์˜ ๋ณต์ œ๋ณธ์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฐ ๋ธŒ๋กœ์ปค์— LeaderAndISRCommand๋ฅผ ์ „์†กํ•˜์—ฌ ๋ธŒ๋กœ์ปค์—๊ฒŒ ISR ๋ฐ ๋ฆฌ๋”์— ๋Œ€ํ•ด ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

๋ฆฌ๋”๊ฐ€ ์žˆ๋Š” ๋ธŒ๋กœ์ปค๊ฐ€ ๋–จ์–ด์ง€๋ฉด Zookeeper๋Š” ์ปจํŠธ๋กค๋Ÿฌ์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ณ  ์ƒˆ ๋ฆฌ๋”๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋„ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋จผ์ € Zookeeper๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ๋‹ค์Œ ๊ฐ ๋ธŒ๋กœ์ปค์— ๋ฆฌ๋”์‹ญ ๋ณ€๊ฒฝ์„ ์•Œ๋ฆฌ๋Š” ๋ช…๋ น์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

๊ฐ ๋ฆฌ๋”๋Š” ISR ๋ชจ์ง‘์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms ๊ฑฐ๊ธฐ์— ๋“ค์–ด๊ฐˆ ์‚ฌ๋žŒ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ISR์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ฆฌ๋”๋Š” ์ƒˆ๋กœ์šด ์ •๋ณด๋ฅผ Zookeeper๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

Zookeeper๋Š” ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๊ฒฝ์˜์ง„์ด ์›ํ™œํ•˜๊ฒŒ ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ•ญ์ƒ ๋ฐ›์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 21. ์นดํ”„์นด ํ•ฉ์˜

๋ณต์ œ ํ”„๋กœํ† ์ฝœ

๋ณต์ œ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋ฉด ์ž ์žฌ์ ์ธ ๋ฐ์ดํ„ฐ ์†์‹ค ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ƒ˜ํ”Œ๋ง ์ฟผ๋ฆฌ, LEO(๋กœ๊ทธ ๋ ์˜คํ”„์…‹) ๋ฐ HW(ํ•˜์ด์›Œํ„ฐ ๋งˆํฌ)

์šฐ๋ฆฌ๋Š” ํŒ”๋กœ์–ด๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฆฌ๋”์—๊ฒŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ฐ„๊ฒฉ์€ 500ms์ž…๋‹ˆ๋‹ค. ์ด๋Š” RabbitMQ ๋ณต์ œ๊ฐ€ ํ ๋ฏธ๋Ÿฌ๊ฐ€ ์•„๋‹Œ ๋งˆ์Šคํ„ฐ์— ์˜ํ•ด ์‹œ์ž‘๋œ๋‹ค๋Š” ์ ์—์„œ RabbitMQ์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฏธ๋Ÿฌ์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋”์™€ ๋ชจ๋“  ํŒ”๋กœ์–ด๋Š” LEO(Log End Offset) ๋ฐ HW(Highwater) ๋ ˆ์ด๋ธ”์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. LEO ๋งˆํฌ๋Š” ๋กœ์ปฌ ๋ณต์ œ๋ณธ์˜ ๋งˆ์ง€๋ง‰ ๋ฉ”์‹œ์ง€ ์˜คํ”„์…‹์„ ์ €์žฅํ•˜๊ณ , HW๋Š” ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์˜ ์˜คํ”„์…‹์„ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋ฐ‹ ์ƒํƒœ์˜ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€๋Š” ๋ชจ๋“  ISR ๋ณต์ œ๋ณธ์—์„œ ์ง€์†๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” LEO๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ HW๋ณด๋‹ค ์•ฝ๊ฐ„ ์•ž์„œ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋”๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด ์ด๋ฅผ ๋กœ์ปฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํŒ”๋กœ์–ด๋Š” ์ž์‹ ์˜ LEO๋ฅผ ์ „์†กํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฆฌ๋”๋Š” ์ด LEO์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ผ๊ด„ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ํ˜„์žฌ HW๋„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋”๋Š” ๋ชจ๋“  ๋ณต์ œ๋ณธ์ด ์ง€์ •๋œ ์˜คํ”„์…‹์— ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ–ˆ๋‹ค๋Š” ์ •๋ณด๋ฅผ ๋ฐ›์œผ๋ฉด HW ๋งˆํฌ๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋”๋งŒ์ด HW๋ฅผ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋“  ํŒ”๋กœ์–ด๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ํ˜„์žฌ ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŒ”๋กœ์–ด๊ฐ€ ๋ฉ”์‹œ์ง€์™€ HW ์ง€์‹ ๋ชจ๋‘์—์„œ ๋ฆฌ๋”๋ณด๋‹ค ๋’ค์ฒ˜์งˆ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋น„์ž๋Š” ํ˜„์žฌ HW๊นŒ์ง€๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

"์ง€์†ํ˜•"์€ ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ๋ก๋œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์„ ์œ„ํ•ด Kafka๋Š” ํŠน์ • ๊ฐ„๊ฒฉ์œผ๋กœ ๋””์Šคํฌ์™€ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. RabbitMQ์—๋„ ์ด๋Ÿฌํ•œ ๊ฐ„๊ฒฉ์ด ์žˆ์ง€๋งŒ ๋งˆ์Šคํ„ฐ์™€ ๋ชจ๋“  ๋ฏธ๋Ÿฌ๊ฐ€ ๋””์Šคํฌ์— ๋ฉ”์‹œ์ง€๋ฅผ ์“ด ํ›„์—๋งŒ ๊ฒŒ์‹œ์ž์—๊ฒŒ ์Šน์ธ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. Kafka ๊ฐœ๋ฐœ์ž๋Š” ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ๋ก๋˜์ž๋งˆ์ž ack๋ฅผ ๋ณด๋‚ด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Kafka๋Š” ์ค‘๋ณต์„ฑ์ด ํ™•์ธ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์ž ์‹œ ์ €์žฅํ•˜๋Š” ์œ„ํ—˜์„ ์ƒ์‡„ํ•œ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋” ์‹คํŒจ

๋ฆฌ๋”๊ฐ€ ๋–จ์–ด์ง€๋ฉด Zookeeper๋Š” ์ปจํŠธ๋กค๋Ÿฌ์— ์ด๋ฅผ ์•Œ๋ฆฌ๊ณ  ์ƒˆ ๋ฆฌ๋” ๋ณต์ œ๋ณธ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋Š” LEO์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด HW ๋งˆํฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ถ”์ข…์ž๋“ค์€ ์ƒˆ๋กœ์šด ๋ฆฌ๋”์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. Kafka ๋ฒ„์ „์— ๋”ฐ๋ผ ์ถ”์ข…์ž๋Š” ๋‘ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  1. ๋กœ์ปฌ ๋กœ๊ทธ๋ฅผ ์•Œ๋ ค์ง„ HW๋กœ ์ž๋ฅด๊ณ  ์ด ํ‘œ์‹œ ์ดํ›„์˜ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ƒˆ ๋ฆฌ๋”์—๊ฒŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  2. ๋ฆฌ๋”๋กœ ์„ ์ถœ๋œ ๋‹น์‹œ์˜ HW๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋ฆฌ๋”์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ธ ๋‹ค์Œ ๋กœ๊ทธ๋ฅผ ์ด ์˜คํ”„์…‹์œผ๋กœ ์ž๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ์˜คํ”„์…‹์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ฃผ๊ธฐ์ ์ธ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํŒ”๋กœ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ๋กœ๊ทธ๋ฅผ ์ž˜๋ผ์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ๋”๊ฐ€ ์‹คํŒจํ•˜๋ฉด Zookeeper์— ๋“ฑ๋ก๋œ ISR ์„ธํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ํŒ”๋กœ์–ด๊ฐ€ ์„ ๊ฑฐ์—์„œ ์Šน๋ฆฌํ•˜๊ณ  ๋ฆฌ๋”๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ISR์˜ ๋ชจ๋“  ํŒ”๋กœ์›Œ๋Š” "๋™๊ธฐํ™”"๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€๋งŒ ์ด์ „ ๋ฆฌ๋”๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ๋ฉ”์‹œ์ง€์˜ ์‚ฌ๋ณธ์„ ๋ฐ›์ง€ ๋ชปํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ฒœ ํŒ”๋กœ์›Œ๊ฐ€ ์ตœ์‹  ์‚ฌ๋ณธ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Kafka๋Š” ๋ณต์ œ๋ณธ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถˆ์ผ์น˜๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŒ”๋กœ์–ด๋Š” ์ž์‹ ์˜ ๋กœ๊ทธ๋ฅผ ์„ ์ถœ ๋‹น์‹œ ์ƒˆ๋กœ์šด ๋ฆฌ๋”์˜ HW ๊ฐ’์œผ๋กœ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์„ค์ •ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ๋””์Šคํฌ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ๋™์‹œ์— ์‹คํŒจํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์˜คํ”„์…‹์„ ๊ฐ€์ง„ ๋ณต์ œ๋ณธ์ด ๋””์Šคํฌ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค๊ฐ€ ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๋ฉด ์„ ์ถœ๋œ ์ƒˆ ๋ฆฌ๋”๋Š” ๋‹ค๋ฅธ ๋ฆฌ๋”๋ณด๋‹ค ๋จผ์ € ๋””์Šคํฌ์— ์ €์žฅ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ข…์ž ๋’ค์— ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ์™€์˜ ์žฌ๊ฒฐํ•ฉ

ํด๋Ÿฌ์Šคํ„ฐ์— ๋‹ค์‹œ ์ฐธ๊ฐ€ํ•  ๋•Œ ๋ณต์ œ๋ณธ์€ ๋ฆฌ๋”๊ฐ€ ์‹คํŒจํ•  ๋•Œ์™€ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฆฌ๋”์˜ ๋ณต์ œ๋ณธ์„ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ๋กœ๊ทธ๋ฅผ ํ•ด๋‹น HW(์„ ํƒ ์‹œ)๋กœ ์ž๋ฆ…๋‹ˆ๋‹ค. ์ด์— ๋น„ํ•ด RabbitMQ๋Š” ์žฌ๊ฒฐํ•ฉ๋œ ๋…ธ๋“œ๋ฅผ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋กœ ๋™์ผํ•˜๊ฒŒ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ๋ธŒ๋กœ์ปค๋Š” ๊ธฐ์กด ์ƒํƒœ๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ๋™๊ธฐํ™”๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ๋Š” "์ „ ์„ธ๊ณ„๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ํ•˜๋Š”" ๋ฐฉ๋ฒ•์œผ๋กœ ํ˜„์žฌ ์ปจํ…์ธ ๋ฅผ ์™„์ „ํžˆ ์ƒˆ ๋ฏธ๋Ÿฌ์— ๋ณต์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ๋Š” ์ด ์ž‘์—… ์ค‘์— ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋Œ€๊ทœ๋ชจ ๋Œ€๊ธฐ์—ด์— ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ต๋‹ˆ๋‹ค.

Kafka๋Š” ๋ถ„์‚ฐ ๋กœ๊ทธ์ด๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์€ ํ›„ ํ์—์„œ ์ œ๊ฑฐ๋˜๋Š” RabbitMQ ํ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ™œ์„ฑ ๋Œ€๊ธฐ์—ด์€ ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘๊ฒŒ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Kafka๋Š” ๋ฉฐ์น  ๋˜๋Š” ๋ช‡ ์ฃผ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์ฒด ๋ณด์กด ์ •์ฑ…์ด ์žˆ๋Š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด ์ฐจ๋‹จ ๋ฐ ์ „์ฒด ๋™๊ธฐํ™” ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ถ„์‚ฐ ๋กœ๊ทธ์—๋Š” ์ ˆ๋Œ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  Kafka ํŒ”๋กœ์–ด๋Š” ์ž์‹ ์˜ ๋ณต์‚ฌ๋ณธ์ด ๋ฆฌ๋”๋ณด๋‹ค ์•ž์— ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฆฌ๋”์˜ HW(์„ ์ถœ ๋‹น์‹œ)์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. ๋” ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ๊ฒฝ์šฐ, ํŒ”๋กœ์–ด๊ฐ€ ๋’ค์ณ์ง€๋ฉด ํ˜„์žฌ LEO๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์‹ ๊ทœ ๋˜๋Š” ์žฌ๊ฐ€์ž…๋œ ํŒ”๋กœ์›Œ๋Š” ISR ์™ธ๋ถ€์—์„œ ์‹œ์ž‘ํ•˜๋ฉฐ ์ปค๋ฐ‹์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋‹จ์ˆœํžˆ ๊ทธ๋ฃน๊ณผ ํ•จ๊ป˜ ์ผํ•˜๋ฉด์„œ ๋ฆฌ๋”๋ฅผ ๋”ฐ๋ผ์žก๊ณ  ISR์— ๋“ค์–ด๊ฐˆ ๋•Œ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ข…์†์„ฑ์ด ์—†์œผ๋ฉฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„๋ฆด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๋Š๊น€

Kafka์—๋Š” RabbitMQ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ๋•Œ ๋” ๋ณต์žกํ•œ ๋™์ž‘ ์ง‘ํ•ฉ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Kafka๋Š” ์›๋ž˜ ํด๋Ÿฌ์Šคํ„ฐ์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฏ€๋กœ ์†”๋ฃจ์…˜์ด ๋งค์šฐ ์ž˜ ๊ณ ๋ ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋ช‡ ๊ฐ€์ง€ ์—ฐ๊ฒฐ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค์ž…๋‹ˆ๋‹ค.

  • ์‹œ๋‚˜๋ฆฌ์˜ค 1: ์ถ”์ข…์ž๋Š” ๋ฆฌ๋”๋ฅผ ๋ณด์ง€ ๋ชปํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ Zookeeper๋ฅผ ๋ด…๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 2: ๋ฆฌ๋”๋Š” ์ถ”์ข…์ž๋ฅผ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ ์—ฌ์ „ํžˆ Zookeeper๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 3: ์ถ”์ข…์ž๋Š” ๋ฆฌ๋”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์œก์‚ฌ๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 4: ๋ฆฌ๋”๋Š” ์ถ”์ข…์ž๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์œก์‚ฌ๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 5: Follower๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ ๋ฐ Zookeeper์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 6: ๋ฆฌ๋”๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ ๋ฐ Zookeeper์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 7: Kafka ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์‹œ๋‚˜๋ฆฌ์˜ค 8: Kafka ์ปจํŠธ๋กค๋Ÿฌ์— Zookeeper๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋Š” ๊ณ ์œ ํ•œ ๋™์ž‘์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 1: ํŒ”๋กœ์–ด๋Š” ๋ฆฌ๋”๋ฅผ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ ์—ฌ์ „ํžˆ Zookeeper๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 22. ์‹œ๋‚˜๋ฆฌ์˜ค 1: XNUMX๊ฐœ ๋ณต์ œ๋ณธ์˜ ISR

์—ฐ๊ฒฐ ์‹คํŒจ๋กœ ์ธํ•ด ๋ธŒ๋กœ์ปค 3์ด ๋ธŒ๋กœ์ปค 1 ๋ฐ 2์—์„œ ๋ถ„๋ฆฌ๋˜์ง€๋งŒ Zookeeper์—์„œ๋Š” ๋ถ„๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค 3์€ ๋” ์ด์ƒ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ๋‚˜๋ฉด ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms ISR์—์„œ ์ œ๊ฑฐ๋˜๋ฉฐ ๋ฉ”์‹œ์ง€ ์ปค๋ฐ‹์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ๋ณต์›๋˜๋ฉด ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ์žฌ๊ฐœํ•˜๊ณ  ๋ฆฌ๋”๋ฅผ ๋”ฐ๋ผ์žก์„ ๋•Œ ISR์— ์ฐธ์—ฌํ•ฉ๋‹ˆ๋‹ค. Zookeeper๋Š” ๊ณ„์†ํ•ด์„œ ํ•‘์„ ์ˆ˜์‹ ํ•˜๊ณ  ๋ธŒ๋กœ์ปค๊ฐ€ ์‚ด์•„ ์žˆ๊ณ  ๊ฑด๊ฐ•ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 23. ์‹œ๋‚˜๋ฆฌ์˜ค 1: Replica.lag.time.max.ms ๊ฐ„๊ฒฉ ๋‚ด์— ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์ง€ ์•Š์œผ๋ฉด ๋ธŒ๋กœ์ปค๊ฐ€ ISR์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ ๊ฐ™์ด ๋ถ„ํ•  ๋ธŒ๋ ˆ์ธ์ด๋‚˜ ๋…ธ๋“œ ์ •์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ค‘๋ณต์„ฑ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 2: ๋ฆฌ๋”๋Š” ํŒ”๋กœ์–ด๋ฅผ ๋ณผ ์ˆ˜ ์—†์ง€๋งŒ ์—ฌ์ „ํžˆ Zookeeper๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 24. ์‹œ๋‚˜๋ฆฌ์˜ค 2. ๋ฆฌ๋”์™€ ๋‘ ๋ช…์˜ ์ถ”์ข…์ž

๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด ๋ฆฌ๋”์™€ ํŒ”๋กœ์›Œ๊ฐ€ ๋ถ„๋ฆฌ๋˜์ง€๋งŒ ๋ธŒ๋กœ์ปค๋Š” ์—ฌ์ „ํžˆ Zookeeper๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ISR์€ ์ถ•์†Œ๋˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ๋ชจ๋“  ํŒ”๋กœ์–ด๊ฐ€ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ ์ „์†ก์„ ์ค‘๋‹จํ•˜๋ฏ€๋กœ ๋ฆฌ๋”๋งŒ ์ถ•์†Œ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ๋…ผ๋ฆฌ์ ์ธ ๊ตฌ๋ถ„์€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์—ฐ๊ฒฐ์ด ๋ณต์›๋  ๋•Œ๊นŒ์ง€ ์ƒˆ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์ค‘๋ณต์„ฑ์ด ์†์‹ค๋ฉ๋‹ˆ๋‹ค. Zookeeper๋Š” ๊ณ„์†ํ•ด์„œ ํ•‘์„ ์ˆ˜์‹ ํ•˜๋ฉฐ ๋ธŒ๋กœ์ปค๊ฐ€ ์‚ด์•„ ์žˆ๊ณ  ๊ฑด๊ฐ•ํ•˜๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 25. ์‹œ๋‚˜๋ฆฌ์˜ค 2. ISR์€ ๋ฆฌ๋”๋กœ๋งŒ ์ถ•์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 3. ํŒ”๋กœ์›Œ๋Š” ๋ฆฌ๋”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์œก์‚ฌ๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Follower๋Š” Zookeeper์™€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์ง€๋งŒ Leader๊ฐ€ ์žˆ๋Š” Broker์™€๋Š” ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ํŒ”๋กœ์–ด๋Š” ๊ณ„์†ํ•ด์„œ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ํ•˜๋ฉฐ ISR์˜ ํšŒ์›์ด ๋ฉ๋‹ˆ๋‹ค. Zookeeper๋Š” ๋” ์ด์ƒ ํ•‘์„ ์ˆ˜์‹ ํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋กœ์ปค ์ถฉ๋Œ์„ ๋“ฑ๋กํ•˜์ง€๋งŒ ํŒ”๋กœ์–ด์ผ ๋ฟ์ด๋ฏ€๋กœ ๋ณต๊ตฌ ํ›„ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 26. ์‹œ๋‚˜๋ฆฌ์˜ค 3: ํŒ”๋กœ์–ด๊ฐ€ ๊ณ„์†ํ•ด์„œ ๋ฆฌ๋”์—๊ฒŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 4. ๋ฆฌ๋”๋Š” ์ถ”์ข…์ž๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์œก์‚ฌ๋Š” ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 27. ์‹œ๋‚˜๋ฆฌ์˜ค 4. ๋ฆฌ๋”์™€ ๋‘ ๋ช…์˜ ์ถ”์ข…์ž

๋ฆฌ๋”๋Š” Zookeeper์™€ ๋ถ„๋ฆฌ๋˜์ง€๋งŒ ์ถ”์ข…์ž๊ฐ€ ์žˆ๋Š” ๋ธŒ๋กœ์ปค์™€๋Š” ๋ถ„๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 28. ์‹œ๋‚˜๋ฆฌ์˜ค 4: ์‚ฌ์œก์‚ฌ๋กœ๋ถ€ํ„ฐ ๋ถ„๋ฆฌ๋œ ๋ฆฌ๋”

์–ผ๋งˆ ํ›„ Zookeeper๋Š” ๋ธŒ๋กœ์ปค ์‹คํŒจ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ด์— ๋Œ€ํ•ด ์ปจํŠธ๋กค๋Ÿฌ์— ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ถ”์ข…์ž๋“ค ์ค‘์—์„œ ์ƒˆ๋กœ์šด ์ง€๋„์ž๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›๋ž˜ ๋ฆฌ๋”๋Š” ๊ณ„์†ํ•ด์„œ ์ž์‹ ์ด ๋ฆฌ๋”๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๋‹ค์Œ ํ•ญ๋ชฉ์„ ๊ณ„์† ์ˆ˜๋ฝํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์Šน์ธ=1. ์ถ”์ข…์ž๋“ค์€ ๋” ์ด์ƒ ๊ทธ์—๊ฒŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทธ๋Š” ํ•ด๋‹น ์š”์ฒญ์ด ์ฃฝ์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ISR์„ ์ž์ฒด์ ์œผ๋กœ ์ถ•์†Œํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Zookeeper์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๊ทธ ์‹œ์ ์—์„œ๋Š” ๋” ์ด์ƒ์˜ ํ•ญ๋ชฉ ์ˆ˜๋ฝ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

ะกะพะพะฑั‰ะตะฝะธั ์Šน์ธ=๋ชจ๋‘ ISR์ด ๋จผ์ € ๋ชจ๋“  ๋ณต์ œ๋ณธ์„ ์ผœ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ๋„๋‹ฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์Šน์ธ์„ ๋ฐ›์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฆฌ๋”๊ฐ€ ISR์—์„œ ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ ์ด ์ „ํ˜€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ๊ณง ๋ฆฌ๋”์˜ ๋ณ€๊ฒฝ์„ ํ™•์ธํ•˜๊ณ  ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒˆ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋˜๋ฉด ์›๋ž˜ ๋ฆฌ๋”๋Š” ์ž์‹ ์ด ๋” ์ด์ƒ ๋ฆฌ๋”๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ  ๋กœ๊ทธ ๋ถ„๊ธฐ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‹คํŒจ ๋‹น์‹œ ์ƒˆ ๋ฆฌ๋”๊ฐ€ ๊ฐ€์กŒ๋˜ HW ๊ฐ’์œผ๋กœ ๋กœ๊ทธ๋ฅผ ์ž๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ƒˆ ๋ฆฌ๋”์—๊ฒŒ ๊ฐ€์ ธ์˜ค๊ธฐ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆฌ๋”์— ๋ณต์ œ๋˜์ง€ ์•Š์€ ์›๋ž˜ ๋ฆฌ๋”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋Š” ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋‘ ๋ฆฌ๋”๊ฐ€ ์ž‘์—… ์ค‘์ผ ๋•Œ ์›๋ž˜ ๋ฆฌ๋”๊ฐ€ ๋ช‡ ์ดˆ ๋™์•ˆ ์Šน์ธํ•˜์ง€ ์•Š์€ ๋ฉ”์‹œ์ง€๋Š” ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 29. ์‹œ๋‚˜๋ฆฌ์˜ค 4. ๋ธŒ๋กœ์ปค 1์˜ ๋ฆฌ๋”๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋œ ํ›„ ํŒ”๋กœ์–ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 5: Follower๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ ๋ฐ Zookeeper์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Follower๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ์™€ Zookeeper๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋  ๋•Œ๊นŒ์ง€ ISR์—์„œ ์ž์‹ ์„ ์ œ๊ฑฐํ•œ ๋‹ค์Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์„ ๋”ฐ๋ผ์žก์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 30. ์‹œ๋‚˜๋ฆฌ์˜ค 5: ISR์—์„œ ๊ฒฉ๋ฆฌ๋œ ํŒ”๋กœ์›Œ๊ฐ€ ์ œ๊ฑฐ๋จ

์‹œ๋‚˜๋ฆฌ์˜ค 6: ๋ฆฌ๋”๋Š” ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ ๋ฐ Zookeeper์™€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 31. ์‹œ๋‚˜๋ฆฌ์˜ค 6. ๋ฆฌ๋”์™€ ๋‘ ๋ช…์˜ ์ถ”์ข…์ž

๋ฆฌ๋”๋Š” ์ถ”์ข…์ž, ์ปจํŠธ๋กค๋Ÿฌ, ์‚ฌ์œก์‚ฌ๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์งง์€ ๊ธฐ๊ฐ„ ๋™์•ˆ์€ ๊ณ„์†ํ•ด์„œ ๋‹ค์Œ์˜ ์ถœํ’ˆ์ž‘์„ ์ ‘์ˆ˜ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์Šน์ธ=1.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 32. ์‹œ๋‚˜๋ฆฌ์˜ค 6: ๋‹ค๋ฅธ Kafka ๋ฐ Zookeeper ๋…ธ๋“œ์—์„œ ๋ฆฌ๋” ๊ฒฉ๋ฆฌ

๋งŒ๋ฃŒ ํ›„ ์š”์ฒญ์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ๋ณต์ œ.์ง€์—ฐ.์‹œ๊ฐ„.์ตœ๋Œ€.ms, ISR์„ ์ž์ฒด์ ์œผ๋กœ ์ถ•์†Œํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ Zookeeper์™€์˜ ํ†ต์‹ ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ดํ›„ ์“ฐ๊ธฐ ํ—ˆ์šฉ์ด ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

ํ•œํŽธ Zookeeper๋Š” ๊ฒฉ๋ฆฌ๋œ ๋ธŒ๋กœ์ปค๋ฅผ ์ฃฝ์€ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋ฅผ ์„ ์ถœํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 33. ์‹œ๋‚˜๋ฆฌ์˜ค 6. ๋‘ ๋ช…์˜ ๋ฆฌ๋”

์›๋ž˜ ๋ฆฌ๋”๋Š” ๋ช‡ ์ดˆ ๋™์•ˆ ํ•ญ๋ชฉ์„ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฉ”์‹œ์ง€ ์ˆ˜๋ฝ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” 60์ดˆ๋งˆ๋‹ค ์ตœ์‹  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ฆฌ๋” ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ›๊ณ  ์ƒˆ ๋ฆฌ๋”์—๊ฒŒ ํ•ญ๋ชฉ์„ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 34. ์‹œ๋‚˜๋ฆฌ์˜ค 6: ์ œ์กฐ์—…์ฒด๊ฐ€ ์ƒˆ๋กœ์šด ๋ฆฌ๋”๋กœ ์ „ํ™˜

์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ์ดํ›„ ์›๋ž˜ ๋ฆฌ๋”๊ฐ€ ํ™•์ธํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋˜๋ฉด ์›๋ž˜ ๋ฆฌ๋”๋Š” Zookeeper๋ฅผ ํ†ตํ•ด ์ž์‹ ์ด ๋” ์ด์ƒ ๋ฆฌ๋”๊ฐ€ ์•„๋‹˜์„ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ ์ถœ ์‹œ ์ƒˆ ๋ฆฌ๋”์˜ HW์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ž๋ฅด๊ณ  ํŒ”๋กœ์–ด๋กœ์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 35. ์‹œ๋‚˜๋ฆฌ์˜ค 6: ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋ณต์›๋œ ํ›„ ์›๋ž˜ ๋ฆฌ๋”๊ฐ€ ํŒ”๋กœ์–ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ๋Š” ์งง์€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์Šน์ธ=1 ะธ min.insync.replicas ๋˜ํ•œ 1. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋œ ํ›„ ์›๋ž˜ ๋ฆฌ๋”๊ฐ€ ์ž์‹ ์ด ๋” ์ด์ƒ ๋ฆฌ๋”๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์ธ์‹ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ๋”๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ์ธ์‹ํ•˜๊ณ  ์ƒˆ ๋ฆฌ๋”์— ์“ฐ๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘ ๋จผ์ € ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ๋“  ์ผ๋ถ€ ๋ฉ”์‹œ์ง€๋Š” ์†์‹ค๋˜์ง€๋งŒ ์Šน์ธ=1.

์ด ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๋˜ ๋‹ค๋ฅธ ๋ณ€ํ˜•์€ ๋„คํŠธ์›Œํฌ ๋ถ„ํ•  ์ง์ „์— ์ถ”์ข…์ž๋“ค์ด ๋’ค์ณ์ง€๊ณ  ๋ฆฌ๋”๊ฐ€ ISR์„ ์ž์‹ ์—๊ฒŒ๋งŒ ์••์ถ•ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์—ฐ๊ฒฐ ๋Š๊น€์œผ๋กœ ์ธํ•ด ๊ฒฉ๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฆฌ๋”๊ฐ€ ์„ ์ถœ๋˜์ง€๋งŒ ์›๋ž˜ ๋ฆฌ๋”๋Š” ๊ณ„์†ํ•ด์„œ ์ฐธ๊ฐ€๋ฅผ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘, ISR์—๋Š” ๊ทธ ์™ธ์—๋Š” ์•„๋ฌด๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋˜๋ฉด ์ด๋Ÿฌํ•œ ๊ธฐ๋ก์€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ํ”ผํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. min.insync.replicas = 2.

์‹œ๋‚˜๋ฆฌ์˜ค 7: Kafka ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ๋‹ค๋ฅธ Kafka ๋…ธ๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์—†์Œ

์ผ๋ฐ˜์ ์œผ๋กœ Kafka ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ฆฌ๋” ๋ณ€๊ฒฝ ์ •๋ณด๋ฅผ ํ•ด๋‹น ๋…ธ๋“œ๋กœ ์ „์†กํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ ์ด๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค 6์—์„œ์™€ ๊ฐ™์ด ๋‹จ๊ธฐ์ ์ธ ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ๋กœ ์ด์–ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๊ฐœ ํ›„์ž๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋ธŒ๋กœ์ปค๋Š” ๋‹จ์ˆœํžˆ ๋ฆฌ๋”์‹ญ ํ›„๋ณด๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค 8: Kafka ์ปจํŠธ๋กค๋Ÿฌ์— Zookeeper๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Zookeeper๋Š” ํƒ€๋ฝํ•œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ๋ถ€ํ„ฐ ํ•‘์„ ๋ฐ›์ง€ ์•Š๊ณ  ์ƒˆ Kafka ๋…ธ๋“œ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๊ณ„์†ํ•ด์„œ ๊ทธ ์ž์ฒด๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์ง€๋งŒ Zookeeper๋กœ๋ถ€ํ„ฐ ์•Œ๋ฆผ์„ ๋ฐ›์ง€ ์•Š์œผ๋ฏ€๋กœ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์ด ์—†์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋˜๋ฉด ๊ทธ๋Š” ์ž์‹ ์ด ๋” ์ด์ƒ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜ Kafka ๋…ธ๋“œ๊ฐ€ ๋˜์—ˆ์Œ์„ ๊นจ๋‹ซ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๊ฒฐ๋ก 

ํŒ”๋กœ์–ด ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ๋„ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋˜์ง€๋Š” ์•Š์ง€๋งŒ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์›๋  ๋•Œ๊นŒ์ง€ ์ผ์‹œ์ ์œผ๋กœ ์ค‘๋ณต์„ฑ์ด ์ค„์–ด๋“œ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก , ํ•˜๋‚˜ ์ด์ƒ์˜ ๋…ธ๋“œ๊ฐ€ ์†์‹ค๋˜๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๋Š๊น€์œผ๋กœ ์ธํ•ด ๋ฆฌ๋”๊ฐ€ Zookeeper์—์„œ ๋ถ„๋ฆฌ๋˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šน์ธ=1. Zookeeper์™€์˜ ์˜์‚ฌ ์†Œํ†ต ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ๋‘ ๋ฆฌ๋”์™€์˜ ์งง์€ ๋…ผ๋ฆฌ์  ๋ถ„์—ด์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘.

๋งค๊ฐœ ๋ณ€์ˆ˜ min.insync.replicas ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ณต์ œ๋ณธ์œผ๋กœ ๋ถ„ํ• ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋‹จ๊ธฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์‹œ๋‚˜๋ฆฌ์˜ค 6๊ณผ ๊ฐ™์ด ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ถ”๊ฐ€์ ์ธ ๋ณด์ฆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์†์‹ค๋œ ๋ฉ”์‹œ์ง€ ์š”์•ฝ

Kafka์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ๋‚˜์—ดํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋ฉ”์‹œ์ง€๊ฐ€ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋œ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฆฌ๋” ์‹คํŒจ ์Šน์ธ=1
  • ๋ฆฌ๋”์‹ญ์ด ISR ์™ธ๋ถ€์˜ ์ถ”์ข…์ž๋กœ ๋ถˆ๊ฒฐํ•˜๊ฒŒ ์ด์ „๋˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘
  • ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๊ฐ€ ํ™•์ธ๋œ ๊ฒฝ์šฐ Zookeeper์—์„œ ๋ฆฌ๋”๋ฅผ ๊ฒฉ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์Šน์ธ=1
  • ์ด๋ฏธ ISR ๊ทธ๋ฃน์„ ์ž์‹ ์œผ๋กœ ์ถ•์†Œ์‹œํ‚จ ๋ฆฌ๋”์˜ ์™„์ „ํ•œ ๊ณ ๋ฆฝ. ๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘. ์ด๋Š” ๋‹ค์Œ ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. min.insync.replicas=1.
  • ๋ชจ๋“  ํŒŒํ‹ฐ์…˜ ๋…ธ๋“œ์— ๋™์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ™•์ธ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€๋Š” ์•„์ง ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ ํ›„ ์ผ๋ถ€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ˆ„๋ฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถˆ์ˆœํ•œ ๋ฆฌ๋”์‹ญ ์ „ํ™˜์€ ์ด๋ฅผ ๊ธˆ์ง€ํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œํ•œ ๋‘ ๋ฒˆ์˜ ์ค‘๋ณต์„ ๋ณด์žฅํ•จ์œผ๋กœ์จ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋‚ด๊ตฌ์„ฑ์ด ๋›ฐ์–ด๋‚œ ๊ตฌ์„ฑ์€ ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค. ์Šน์ธ=๋ชจ๋‘ ะธ min.insync.replicas ๋” ๋งŽ์€ 1.

RabbitMQ์™€ Kafka์˜ ์‹ ๋ขฐ์„ฑ ์ง์ ‘ ๋น„๊ต

์•ˆ์ •์„ฑ๊ณผ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ํ”Œ๋žซํผ ๋ชจ๋‘ ๊ธฐ๋ณธ ๋ฐ ๋ณด์กฐ ๋ณต์ œ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ RabbitMQ์—๋Š” ์•„ํ‚ฌ๋ ˆ์Šค๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ์•  ํ›„ ์žฌ์ ‘์† ์‹œ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ๊ธฐํ•˜๊ณ  ๋™๊ธฐํ™”๊ฐ€ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด ์ด์ค‘ ๋ฌธ์ œ๋Š” RabbitMQ์—์„œ ๋Œ€๊ทœ๋ชจ ๋Œ€๊ธฐ์—ด์˜ ์ˆ˜๋ช…์— ์˜๋ฌธ์„ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต์„ฑ์ด ์ค„์–ด๋“ค๊ฑฐ๋‚˜ ์ฐจ๋‹จ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฐ›์•„๋“ค์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต์„ฑ์„ ์ค„์ด๋ฉด ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์†์‹ค ์œ„ํ—˜์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๊ธฐ์—ด์ด ์ž‘์„ ๊ฒฝ์šฐ ์ค‘๋ณต์„ฑ์„ ์œ„ํ•ด ๋ฐ˜๋ณต์ ์ธ ์—ฐ๊ฒฐ ์‹œ๋„๋ฅผ ํ†ตํ•ด ์งง์€ ๊ธฐ๊ฐ„(๋ช‡ ์ดˆ) ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นดํ”„์นด์—๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋”์™€ ํŒ”๋กœ์–ด ์‚ฌ์ด์˜ ๋ถ„๊ธฐ์ ์—์„œ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ๊ณต์œ ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ณต์ œ๋Š” ์‹œ์Šคํ…œ์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋”๋Š” ์ƒˆ๋กœ์šด ํŒ”๋กœ์–ด๊ฐ€ ๋”ฐ๋ผ์žก๋Š” ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ๊ฒŒ์‹œ๋ฌผ์„ ์ˆ˜๋ฝํ•˜๋ฏ€๋กœ ๋ฐ๋ธŒ์˜ต์Šค์˜ ๊ฒฝ์šฐ ํด๋Ÿฌ์Šคํ„ฐ์— ๊ฐ€์ž…ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ๊ฐ€์ž…ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ณต์ œ ์ค‘ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ๋“ฑ์˜ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์—ฌ๋Ÿฌ ํŒ”๋กœ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋Œ€์—ญํญ ์ œํ•œ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๋™์‹œ์— ์‹คํŒจํ•  ๋•Œ ์•ˆ์ •์„ฑ์ด Kafka๋ณด๋‹ค ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด RabbitMQ๋Š” ๋งˆ์Šคํ„ฐ์™€ ๋ชจ๋“  ๋ฏธ๋Ÿฌ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์Šคํฌ์— ๊ธฐ๋กํ•œ ํ›„์—๋งŒ ๊ฒŒ์‹œ์ž์—๊ฒŒ ํ™•์ธ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋กœ ์ธํ•ด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ด์œ ๋กœ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

  • ์ˆ˜๋ฐฑ ๋ฐ€๋ฆฌ์ดˆ๋งˆ๋‹ค fsync
  • ๋ฏธ๋Ÿฌ ์˜ค๋ฅ˜๋Š” ๊ฐ ๋…ธ๋“œ์˜ ๊ฐ€์šฉ์„ฑ(net Tick)์„ ํ™•์ธํ•˜๋Š” ํŒจํ‚ท์˜ ์ˆ˜๋ช…์ด ๋งŒ๋ฃŒ๋œ ํ›„์—๋งŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋Ÿฌ๊ฐ€ ๋Š๋ ค์ง€๊ฑฐ๋‚˜ ๋–จ์–ด์ง€๋ฉด ์ง€์—ฐ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

Kafka์˜ ์ฃผ์žฅ์€ ๋ฉ”์‹œ์ง€๊ฐ€ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๊ฑธ์ณ ์ €์žฅ๋˜๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋„๋‹ฌํ•˜์ž๋งˆ์ž ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋“  ์œ ํ˜•์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค(์‹ฌ์ง€์–ด ์Šน์ธ=๋ชจ๋‘, min.insync.replicas=2) ๋™์‹œ ๊ณ ์žฅ์ธ ๊ฒฝ์šฐ.

์ „๋ฐ˜์ ์œผ๋กœ Kafka๋Š” ๋” ๋‚˜์€ ์†Œํ”„ํŠธ์›จ์–ด ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐ์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒ”๋กœ์–ด ์ˆ˜๋ฅผ 11๋ช…์œผ๋กœ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ์ธ์ž 5 ๋ฐ ๋™๊ธฐํ™” ์‹œ ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜ min.insync.replicas=3 ๋ฉ”์‹œ์ง€ ์†์‹ค์ด ๋งค์šฐ ๋“œ๋ฌผ๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ธํ”„๋ผ๊ฐ€ ์ด ๋ณต์ œ ๋น„์œจ๊ณผ ์ค‘๋ณต์„ฑ ์ˆ˜์ค€์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ ํด๋Ÿฌ์Šคํ„ฐ๋ง์€ ์ž‘์€ ๋Œ€๊ธฐ์—ด์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์œผ๋ฉด ์ž‘์€ ๋Œ€๊ธฐ์—ด์ด๋ผ๋„ ๋น ๋ฅด๊ฒŒ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด์ด ์ปค์ง€๋ฉด ๊ฐ€์šฉ์„ฑ๊ณผ ์•ˆ์ •์„ฑ ์‚ฌ์ด์—์„œ ์–ด๋ ค์šด ์„ ํƒ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. RabbitMQ ํด๋Ÿฌ์Šคํ„ฐ๋ง์€ RabbitMQ ์œ ์—ฐ์„ฑ์˜ ์ด์ ์ด ํด๋Ÿฌ์Šคํ„ฐ๋ง์˜ ๋‹จ์ ๋ณด๋‹ค ๋” ํฐ ๋น„์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ๋Œ€๊ธฐ์—ด์— ๋Œ€ํ•œ RabbitMQ์˜ ์ทจ์•ฝ์„ฑ์— ๋Œ€ํ•œ ํ•œ ๊ฐ€์ง€ ํ•ด๊ฒฐ์ฑ…์€ ๋Œ€๊ธฐ์—ด์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ๋Œ€๊ธฐ์—ด๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋Œ€๊ธฐ์—ด์˜ ์™„์ „ํ•œ ์ˆœ์„œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ๊ด€๋ จ ๋ฉ”์‹œ์ง€(์˜ˆ: ํŠน์ • ํด๋ผ์ด์–ธํŠธ์˜ ๋ฉ”์‹œ์ง€)๋งŒ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ์ฃผ๋ฌธํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด ์˜ต์…˜์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ ๋ณด๊ธฐ ๋ฆฌ๋ฐธ๋Ÿฐ์„œ ๋Œ€๊ธฐ์—ด์„ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค(ํ”„๋กœ์ ํŠธ๋Š” ์•„์ง ์ดˆ๊ธฐ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค).

๋งˆ์ง€๋ง‰์œผ๋กœ RabbitMQ์™€ Kafka์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ ๋ณต์ œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฒ„๊ทธ๋ฅผ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์‹œ์Šคํ…œ์€ ๋”์šฑ ์„ฑ์ˆ™ํ•ด์ง€๊ณ  ์•ˆ์ •ํ•ด์กŒ์ง€๋งŒ ์–ด๋–ค ๋ฉ”์‹œ์ง€๋„ ์†์‹ค๋กœ๋ถ€ํ„ฐ 100% ์•ˆ์ „ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์—์„œ๋„ ๋Œ€๊ทœ๋ชจ ์‚ฌ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค!

์ œ๊ฐ€ ๋†“์นœ ๋ถ€๋ถ„, ์‹ค์ˆ˜ํ•œ ๋ถ€๋ถ„, ๋˜๋Š” ๋‚ด์šฉ์— ๋™์˜ํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€์„ ์“ฐ๊ฑฐ๋‚˜ ์ €์—๊ฒŒ ์—ฐ๋ฝํ•ด ์ฃผ์„ธ์š”.

์ €๋Š” ์ข…์ข… "Kafka์™€ RabbitMQ ์ค‘ ๋ฌด์—‡์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?", "์–ด๋–ค ํ”Œ๋žซํผ์ด ๋” ์ข‹์Šต๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด๋Š” ๊ท€ํ•˜์˜ ์ƒํ™ฉ, ํ˜„์žฌ ๊ฒฝํ—˜ ๋“ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ๊ฐ€๋Šฅํ•œ ์ œํ•œ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ํ”Œ๋žซํผ์„ ๊ถŒ์žฅํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ์ž์‹ ์˜ ์˜๊ฒฌ์„ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ์ผ๋ จ์˜ ๊ธฐ์‚ฌ๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค.

๋‘ ์‹œ์Šคํ…œ ๋ชจ๋‘ ์ด ๋ถ„์•ผ์˜ ๋ฆฌ๋”๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜์œผ๋กœ ๋ณผ ๋•Œ ๋ณด์žฅ๋œ ๋ฉ”์‹œ์ง€ ์ˆœ์„œ ๋ฐ ์‹ ๋ขฐ์„ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„ ํŽธ๊ฒฌ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์‹ ๋ขฐ์„ฑ๊ณผ ๋ณด์žฅ๋œ ์ˆœ์„œ๊ฐ€ ๋ถ€์กฑํ•œ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์„ ๋ณธ ๋‹ค์Œ RabbitMQ์™€ Kafka๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์ด ๋‘ ์‹œ์Šคํ…œ์˜ ๋†€๋ผ์šด ๊ฐ€์น˜๋ฅผ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€