RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ

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

๋‚ด๊ฒฐํ•จ์„ฑ, ์ผ๊ด€์„ฑ, ๊ณ ๊ฐ€์šฉ์„ฑ(HA) ์ „๋žต๊ณผ ๊ฐ ์ „๋žต์˜ ์žฅ๋‹จ์ ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. RabbitMQ๋Š” ๋…ธ๋“œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์ผ๊ด€์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์— ๋Œ€ํ•ด ์ž์ฃผ ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

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

์ผ๊ด€์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์€ ์ŠคํŽ™ํŠธ๋Ÿผ์˜ ์ •๋ฐ˜๋Œ€์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋  ๊ฒƒ์ด๋ฉฐ, ์ตœ์ ํ™”ํ•  ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ์†Œ์‹์€ RabbitMQ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ท ํ˜•์„ ๋” ํฐ ์ผ๊ด€์„ฑ์ด๋‚˜ ๋” ํฐ ์ ‘๊ทผ์„ฑ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ "๊ดด์ƒํ•œ" ๋ ˆ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‹จ์ผ ๋…ธ๋“œ ๋ณต์›๋ ฅ ๊ธฐ๋ณธ ์š”์†Œ

ํƒ„๋ ฅ์ ์ธ ํ/๋ผ์šฐํŒ…

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

๋…ธ๋“œ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฉด ํœ˜๋ฐœ์„ฑ ํ์™€ ๋ผ์šฐํŒ…์ด ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ง€์†์ ์ธ ๋ฉ”์‹œ์ง€

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 1. ์ง€์†๊ฐ€๋Šฅ์„ฑ ๋งคํŠธ๋ฆญ์Šค

ํ ๋ฏธ๋Ÿฌ๋ง์„ ์‚ฌ์šฉํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ง

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

๋Œ€๊ธฐ์—ด ๋ฏธ๋Ÿฌ๋ง:

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 2. ๋Œ€๊ธฐ์—ด ๋ฏธ๋Ÿฌ๋ง

๋ฏธ๋Ÿฌ๋ง์€ ์ ์ ˆํ•œ ์ •์ฑ…์— ์˜ํ•ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ณต์ œ ๊ณ„์ˆ˜์™€ ํ๊ฐ€ ์œ„์น˜ํ•ด์•ผ ํ•˜๋Š” ๋…ธ๋“œ๊นŒ์ง€ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ:

  • ha-mode: all
  • ha-mode: exactly, ha-params: 2 (๋งˆ์Šคํ„ฐ XNUMX๊ฐœ์™€ ๋ฏธ๋Ÿฌ XNUMX๊ฐœ)
  • ha-mode: nodes, ha-params: rabbit@node1, rabbit@node2

์ถœํŒ์‚ฌ ํ™•์ธ

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

์žฅ์•  ์กฐ์น˜ ๋Œ€๊ธฐ์—ด

๋ธŒ๋กœ์ปค๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ์ถฉ๋Œํ•˜๋ฉด ํ•ด๋‹น ๋…ธ๋“œ์˜ ๋ชจ๋“  ๋Œ€๊ธฐ์—ด ๋ฆฌ๋”(๋งˆ์Šคํ„ฐ)๋„ ํ•จ๊ป˜ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๊ฐ ๋งˆ์Šคํ„ฐ์˜ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฏธ๋Ÿฌ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ด๋ฅผ ์ƒˆ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ์‹œํ‚ต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 3. ์—ฌ๋Ÿฌ ๋ฏธ๋Ÿฌ๋ง๋œ ๋Œ€๊ธฐ์—ด ๋ฐ ํ•ด๋‹น ์ •์ฑ…

๋ธŒ๋กœ์ปค 3์ด ๋‹ค์šด๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค 2์˜ ๋Œ€๊ธฐ์—ด C ๋ฏธ๋Ÿฌ๊ฐ€ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Broker 1์˜ ๋Œ€๊ธฐ์—ด C์— ๋Œ€ํ•ด ์ƒˆ ๋ฏธ๋Ÿฌ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. RabbitMQ๋Š” ํ•ญ์ƒ ์ •์ฑ…์— ์ง€์ •๋œ ๋ณต์ œ ์š”์†Œ๋ฅผ ์œ ์ง€ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 4. ๋ธŒ๋กœ์ปค 3์ด ์‹คํŒจํ•˜์—ฌ ํ C๊ฐ€ ์‹คํŒจํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ธŒ๋กœ์ปค 1์ด ๋ฌด๋„ˆ์กŒ์Šต๋‹ˆ๋‹ค! ์ด์ œ ๋ธŒ๋กœ์ปค๊ฐ€ ํ•œ ๋ช… ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด B ๋ฏธ๋Ÿฌ๊ฐ€ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
๊ทธ๋ฆผ. 5

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

์ด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Broker 1์˜ ์†์‹ค์ด ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ฏธ๋Ÿฌ๋ง๋˜์ง€ ์•Š์€ ๋Œ€๊ธฐ์—ด B๊ฐ€ ์™„์ „ํžˆ ์†์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 6. ๋ธŒ๋กœ์ปค 1์ด ์„œ๋น„์Šค๋กœ ๋ณต๊ท€ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋กœ์ปค 3์ด ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๋ฏ€๋กœ ๋Œ€๊ธฐ์—ด A์™€ B๋Š” HA ์ •์ฑ…์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ๋œ ๋ฏธ๋Ÿฌ๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๋ชจ๋“  ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด์ด ํ•˜๋‚˜์˜ ๋…ธ๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค! ์ด๋Š” ์ด์ƒ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ๊ฐ„์— ๊ท ๋“ฑํ•œ ๋ถ„ํฌ๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์—ฌ๊ธฐ์—๋Š” ๋งˆ์Šคํ„ฐ ์žฌ์กฐ์ •์„ ์œ„ํ•œ ์˜ต์…˜์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋Œ€๊ธฐ์—ด ๋™๊ธฐํ™”๋ฅผ ์‚ดํŽด๋ด์•ผ ํ•˜๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋Š” ๋‚˜์ค‘์— ๋‹ค์‹œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

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

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

๋™๊ธฐํ™” ์ค‘

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

์ด ๋™๊ธฐํ™”๋Š” ์ž๋™ ๋˜๋Š” ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ ๋Œ€๊ธฐ์—ด ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ๋ฏธ๋Ÿฌ๋ง๋œ ๋Œ€๊ธฐ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด A๋Š” ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”๋˜๊ณ  ๋Œ€๊ธฐ์—ด B๋Š” ์ˆ˜๋™์œผ๋กœ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋Œ€๊ธฐ์—ด ๋ชจ๋‘ XNUMX๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 8. ๋™๊ธฐํ™” ๋ชจ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ๋Œ€๊ธฐ์—ด

์ด์ œ ์šฐ๋ฆฌ๋Š” Broker 3์„ ์žƒ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 9. ๋ธŒ๋กœ์ปค 3์ด ๋–จ์–ด์กŒ๋‹ค

๋ธŒ๋กœ์ปค 3์ด ์„œ๋น„์Šค๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ƒˆ ๋…ธ๋“œ์˜ ๊ฐ ๋Œ€๊ธฐ์—ด์— ๋Œ€ํ•œ ๋ฏธ๋Ÿฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ƒˆ ๋Œ€๊ธฐ์—ด A๋ฅผ ๋งˆ์Šคํ„ฐ์™€ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ƒˆ ๋Œ€๊ธฐ์—ด B์˜ ๋ฏธ๋Ÿฌ๋Š” ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋Œ€๊ธฐ์—ด A์— ๋Œ€ํ•œ ์ „์ฒด ์ค‘๋ณต์„ฑ์ด ์žˆ๊ณ  ๊ธฐ์กด ๋Œ€๊ธฐ์—ด B ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋ฏธ๋Ÿฌ๋Š” ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 10. ๋Œ€๊ธฐ์—ด A์˜ ์ƒˆ ๋ฏธ๋Ÿฌ๋Š” ๊ธฐ์กด ๋ฉ”์‹œ์ง€๋ฅผ ๋ชจ๋‘ ์ˆ˜์‹ ํ•˜์ง€๋งŒ ๋Œ€๊ธฐ์—ด B์˜ ์ƒˆ ๋ฏธ๋Ÿฌ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‘ ๋Œ€๊ธฐ์—ด ๋ชจ๋‘์— 2๊ฐœ์˜ ์ถ”๊ฐ€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 1๊ฐ€ ์ถฉ๋Œํ•˜๊ณ  ๋Œ€๊ธฐ์—ด A๊ฐ€ ๋ธŒ๋กœ์ปค XNUMX์— ์žˆ๋Š” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ๋ฏธ๋Ÿฌ๋กœ ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค. ์‹คํŒจํ•ด๋„ ๋ฐ์ดํ„ฐ ์†์‹ค์€ ์—†์Šต๋‹ˆ๋‹ค. ํ B์—๋Š” ๋งˆ์Šคํ„ฐ์— XNUMX๊ฐœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์žˆ๊ณ  ๋ฏธ๋Ÿฌ์—๋Š” XNUMX๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ๋Š” ์›๋ž˜ XNUMX๊ฐœ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณต์ œํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 11. ๋Œ€๊ธฐ์—ด A๋Š” ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด Broker 1๋กœ ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค.

๋‘ ๋Œ€๊ธฐ์—ด ๋ชจ๋‘์— 1๊ฐœ์˜ ์ถ”๊ฐ€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋ธŒ๋กœ์ปค XNUMX์ด ์ถฉ๋Œํ•˜๊ณ  ๋Œ€๊ธฐ์—ด A๋Š” ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด ๋ฏธ๋Ÿฌ๋กœ ์‰ฝ๊ฒŒ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๊ธฐ์—ด B์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ ๊ฐ€์šฉ์„ฑ์ด๋‚˜ ์ผ๊ด€์„ฑ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 12. ๋Œ€๊ธฐ์—ด A๋Š” ๋ฉ”์‹œ์ง€ ์†์‹ค ์—†์ด Broker 3์œผ๋กœ ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—ด B๋Š” 3๊ฐœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋œ ์ƒํƒœ๋กœ Broker XNUMX์œผ๋กœ ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ha-promote-on-failure ์˜๋ฏธ์ƒ when-synced. ์ด ๊ฒฝ์šฐ ํ๋Š” ๋ฏธ๋Ÿฌ๋กœ ๋กค๋ฐฑํ•˜๋Š” ๋Œ€์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋ธŒ๋กœ์ปค 1์ด ์˜จ๋ผ์ธ ๋ชจ๋“œ๋กœ ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๋ฐ˜ํ™˜๋œ ํ›„ ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด์€ ๋ฐ์ดํ„ฐ ์†์‹ค ์—†์ด Broker 1๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์œ„ํ•ด ๊ฐ€์šฉ์„ฑ์ด ํฌ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ์™„์ „ํ•œ ๋ฐ์ดํ„ฐ ์†์‹ค๋กœ ์ด์–ด์งˆ ์ˆ˜๋„ ์žˆ๋Š” ์œ„ํ—˜ํ•œ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๊ณง ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 13. ๋ธŒ๋กœ์ปค 1์„ ์žƒ์€ ํ›„ ๋Œ€๊ธฐ์—ด B๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โ€œ์ž๋™ ๋™๊ธฐํ™”๋ฅผ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋‚ซ๋‚˜์š”?โ€๋ผ๊ณ  ๋ฌผ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋‹ต์€ ๋™๊ธฐํ™”๊ฐ€ ์ฐจ๋‹จ ์ž‘์—…์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋™๊ธฐํ™” ์ค‘์—๋Š” ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด์—์„œ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!

์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋Œ€๊ธฐ์—ด์ด ๋งค์šฐ ๊น๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ทธ๋Ÿฐ ํฌ๊ธฐ๋กœ ์ž๋ž„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ :

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 14. ๋™๊ธฐํ™” ๋ชจ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ํฐ ๋Œ€๊ธฐ์—ด

์ด์ œ ๋ธŒ๋กœ์ปค 3์ด ๋ฌด๋„ˆ์กŒ์Šต๋‹ˆ๋‹ค.

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

๋ธŒ๋กœ์ปค 3์ด ๋‹ค์‹œ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๊ณ  ์ƒˆ ๋ฏธ๋Ÿฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด A๋Š” ๊ธฐ์กด ๋ฉ”์‹œ์ง€๋ฅผ ์ƒˆ ๋ฏธ๋Ÿฌ๋กœ ๋ณต์ œํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉฐ ์ด ์‹œ๊ฐ„ ๋™์•ˆ ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•˜๋Š” ๋ฐ XNUMX์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์ด ๋Œ€๊ธฐ์—ด์— XNUMX์‹œ๊ฐ„์˜ ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค!

๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๊ธฐ์—ด B๋Š” ์ „์ฒด ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ณ„์† ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•ด ์ผ๋ถ€ ์ค‘๋ณต์„ฑ์„ ํฌ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 16. ๋™๊ธฐํ™” ์ค‘์— ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

XNUMX์‹œ๊ฐ„ ํ›„์—๋Š” ํ A๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ํ—ˆ์šฉ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ

๋™๊ธฐํ™” ์ค‘ ์ด๋Ÿฌํ•œ ์ฐจ๋‹จ ๋™์ž‘์œผ๋กœ ์ธํ•ด ๋Œ€๊ธฐ์—ด์ด ๋งค์šฐ ํฐ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‹œ์ ์—์„œ๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋Š” ๋™์•ˆ ๋ฏธ๋Ÿฌ๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋Œ€๊ธฐ์—ด์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ „ํ™˜์„ ์„ ํƒํ•˜๋ฉด ๋ฏธ๋Ÿฌ๊ฐ€ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ธŒ๋กœ์ปค ๊ฐ€๋™ ์ค‘๋‹จ ์ค‘์—๋Š” ๋น„๋™๊ธฐํ™”๋œ ๋ฏธ๋Ÿฌ๋กœ์˜ ์žฅ์•  ์กฐ์น˜๊ฐ€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ธŒ๋กœ์ปค๊ฐ€ ๋ฐ˜ํ™˜๋˜์ž๋งˆ์ž ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋˜์ง€ ์•Š์œผ๋ฉฐ ์œ ์ผํ•œ ํ”ผํ•ด๋Š” ๋‹จ์ˆœํ•œ ๋Œ€๊ธฐ์—ด๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ์„ ๋•Œ์˜ ํ–‰๋™ ๊ทœ์น™์€ ์ •์ฑ…์— ๋”ฐ๋ผ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ha-promote-on-shutdown. ๋‹ค์Œ ๋‘ ๊ฐ’ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • always= ๋น„๋™๊ธฐํ™”๋œ ๋ฏธ๋Ÿฌ๋กœ์˜ ์ „ํ™˜์ด ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • when-synced= ๋™๊ธฐํ™”๋œ ๋ฏธ๋Ÿฌ๋กœ๋งŒ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋Œ€๊ธฐ์—ด์„ ์ฝ์„ ์ˆ˜ ์—†๊ณ  ์“ธ ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค๊ฐ€ ๋ฐ˜ํ™˜๋˜์ž๋งˆ์ž ๋Œ€๊ธฐ์—ด์ด ์„œ๋น„์Šค๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

์–ด๋–ค ์‹์œผ๋กœ๋“  ๋Œ€๊ธฐ์—ด์ด ํฌ๋ฉด ๋ฐ์ดํ„ฐ ์†์‹ค๊ณผ ๊ฐ€์šฉ์„ฑ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์šฉ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋˜๋Š” ๊ฒฝ์šฐ

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

์—ฌ๊ธฐ์—์„œ๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๊ฒŒ์‹œ์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œํ•  ์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด ์‹ค์ œ๋กœ ์ ‘๊ทผ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ฉด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๋„ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ท ํ˜•์„ ์ฐพ์•„์•ผ ํ•˜๋ฉฐ, ํ•ด๊ฒฐ์ฑ…์€ ํŠน์ • ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

ha-promote-on-failure=when-synced ๊ด€๋ จ ๋ฌธ์ œ

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

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

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

๋”ฐ๋ผ์„œ ์ˆ˜๋™ ๋™๊ธฐํ™”(๋ฐ ๋™๊ธฐํ™” ์‹คํŒจ)๋Š” ha-promote-on-failure=when-synced, ์ œ ์ƒ๊ฐ์—๋Š” ๊ฝค ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ์—๋Š” ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์œ„ํ•ด ์ด ์˜ต์…˜์ด ์กด์žฌํ•œ๋‹ค๊ณ  ๋‚˜์™€ ์žˆ์ง€๋งŒ ์ด๋Š” ์–‘๋‚ ์˜ ์นผ์ž…๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ์žฌ์กฐ์ •

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

๋งˆ์Šคํ„ฐ ์žฌ์กฐ์ •์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์ด์œ ๋กœ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์žฌ์กฐ์ •์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๋„๊ตฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ธฐ์—ด ๋™๊ธฐํ™”

์žฌ์กฐ์ •์„ ์œ„ํ•œ ์ œXNUMX์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ, ์ด๋Š” ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. RabbitMQ ๋งค๋‰ด์–ผ์˜ ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ด€๋ จ ๊ทธ๊ฒƒ์ด๋ผ๊ณ : โ€œํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๊ตฌ์„ฑ ๋ฐ ๋ณด๊ณ  ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ RabbitMQ ํŒ€์—์„œ๋Š” ์ง€์›ํ•˜๊ฑฐ๋‚˜ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์— ๋”ฐ๋ฅธ ์ฑ…์ž„์€ ๋ณธ์ธ์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค."

HA ์ •์ฑ…์„ ํ†ตํ•ด ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด์„ ์ด๋™ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ํŠธ๋ฆญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋‰ด์–ผ์—๋Š” ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์ด๋ฅผ ์œ„ํ•ด. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

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

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

์ด์ œ RabbitMQ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…˜์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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

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

RabbitMQ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿฐ๋ฐ ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ด๋Š” ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋‘˜๋กœ ๋ถ„ํ• ๋˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ฐ ์ธก๋ฉด์—์„œ ๋ฏธ๋Ÿฌ๋Š” ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ๋˜๋ฏ€๋กœ ๊ฒฐ๊ตญ ๋Œ€๊ธฐ์—ด๋‹น ์—ฌ๋Ÿฌ ๋งˆ์Šคํ„ฐ๊ฐ€ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

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

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

RabbitMQ์˜ ๋‹ค์–‘ํ•œ ๋ชจ๋“œ๋Š” ๊ฐ€์šฉ์„ฑ ๋˜๋Š” ์ผ๊ด€์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฌด์‹œ ๋ชจ๋“œ(๊ธฐ๋ณธ๊ฐ’)

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 18. ์„ธ ๋ช…์˜ ๊ฒŒ์‹œ์ž๊ฐ€ ์„ธ ๋ช…์˜ ๋ธŒ๋กœ์ปค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ๋ธŒ๋กœ์ปค 2์˜ ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด๋กœ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์šฐ๋ฆฌ๋Š” ๋ธŒ๋กœ์ปค 3์„ ์žƒ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค๊ฐ€ ํƒˆ๋ฝํ•œ ๊ฒƒ์„ ๋ณด๊ณ  ์ž์‹ ์˜ ๋ฏธ๋Ÿฌ๋ฅผ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋…ผ๋ฆฌ์  ๋ถ„๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 20. ๊ด€๋ฆฌ์ž๊ฐ€ ๋ธŒ๋กœ์ปค 3์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 21. ๊ด€๋ฆฌ์ž๊ฐ€ Broker 3์„ ์‹œ์ž‘ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์— ํ•ฉ๋ฅ˜ํ•˜๋ฉด ๊ทธ๊ณณ์— ๋‚จ์•„ ์žˆ๋˜ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋Š” ๋™์•ˆ๊ณผ ๋ณต์› ํ›„์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ์™€ ์ด ํ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ž๋™ ๋ณต๊ตฌ ๋ชจ๋“œ

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

์†Œ์ˆ˜ ๋ชจ๋“œ ์ผ์‹œ ์ค‘์ง€

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

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 22. ์„ธ ๋ช…์˜ ๊ฒŒ์‹œ์ž๊ฐ€ ์„ธ ๋ช…์˜ ๋ธŒ๋กœ์ปค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ๋ธŒ๋กœ์ปค 2์˜ ๊ธฐ๋ณธ ๋Œ€๊ธฐ์—ด๋กœ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธŒ๋กœ์ปค 1๊ณผ 2๊ฐ€ ๋ธŒ๋กœ์ปค 3์—์„œ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค. ๋ฏธ๋Ÿฌ๋ฅผ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉํ•˜๋Š” ๋Œ€์‹  ๋ธŒ๋กœ์ปค 3์ด ์ผ์‹œ ์ค‘์ง€๋˜์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 23. ๋ธŒ๋กœ์ปค 3์€ ์ผ์‹œ ์ค‘์ง€๋˜๊ณ  ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์—ฐ๊ฒฐ ์š”์ฒญ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ์ด ๋ณต์›๋˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

๋ฉ”์ธ ํ๊ฐ€ ๋ธŒ๋กœ์ปค 3์— ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 24. ๋ธŒ๋กœ์ปค 3์˜ ๋ฉ”์ธ ํ.

๊ทธ๋Ÿฌ๋ฉด ๋™์ผํ•œ ์—ฐ๊ฒฐ ๋Š๊น€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋กœ์ปค 3์€ ๋” ์ž‘์€ ์ชฝ์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ์‹œ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋…ธ๋“œ๋Š” ๋ธŒ๋กœ์ปค 3์ด ์ค‘๋‹จ๋˜์—ˆ์Œ์„ ํ™•์ธํ•˜๋ฏ€๋กœ ๋ธŒ๋กœ์ปค 1๊ณผ 2์˜ ์ด์ „ ๋ฏธ๋Ÿฌ๊ฐ€ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ๋ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 25. ๋ธŒ๋กœ์ปค 2์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋ธŒ๋กœ์ปค 3๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ์ด ๋ณต์›๋˜๋ฉด Broker 3์ด ํด๋Ÿฌ์Šคํ„ฐ์— ํ•ฉ๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.

RabbitMQ์™€ Kafka: ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
์Œ€. 26. ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ •์ƒ ์ž‘๋™์œผ๋กœ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค.

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

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

๊ณ ๊ฐ ์—ฐ๊ฒฐ ๋ณด์žฅ

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

์šฐ๋ฆฌ์˜ ์˜ต์…˜:

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

์กฐ์‚ฌ ๊ฒฐ๊ณผ

RabbitMQ ํด๋Ÿฌ์Šคํ„ฐ๋ง์—๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์‹ฌ๊ฐํ•œ ๋‹จ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํด๋Ÿฌ์Šคํ„ฐ์— ํ•ฉ๋ฅ˜ํ•  ๋•Œ ๋…ธ๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.
  • ๋™๊ธฐํ™”๋ฅผ ์ฐจ๋‹จํ•˜๋ฉด ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

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

  • ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋„คํŠธ์›Œํฌ.
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์Šคํ† ๋ฆฌ์ง€.
  • ๋งค์šฐ ๊ธด ๋Œ€๊ธฐ์—ด.

๊ณ ๊ฐ€์šฉ์„ฑ ์„ค์ •์— ๊ด€ํ•ด์„œ๋Š” ๋‹ค์Œ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

  • ha-promote-on-failure=always
  • ha-sync-mode=manual
  • cluster_partition_handling=ignore (๋˜๋Š” autoheal)
  • ์ง€์†์ ์ธ ๋ฉ”์‹œ์ง€
  • ์ผ๋ถ€ ๋…ธ๋“œ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ™œ์„ฑ ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋˜๋„๋ก ๋ณด์žฅ

์ผ๊ด€์„ฑ(๋ฐ์ดํ„ฐ ๋ณด์•ˆ)์„ ์œ„ํ•ด ๋‹ค์Œ ์„ค์ •์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

  • ๊ฒŒ์‹œ์ž ํ™•์ธ ๋ฐ ์†Œ๋น„์ž ์ธก ์ˆ˜๋™ ์Šน์ธ
  • ha-promote-on-failure=when-synced, ๊ฒŒ์‹œ์ž๊ฐ€ ๋‚˜์ค‘์— ๋‹ค์‹œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๊ณ  ๋งค์šฐ ์•ˆ์ •์ ์ธ ์ €์žฅ ๊ณต๊ฐ„์ด ์žˆ๋‹ค๋ฉด! ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋„ฃ์–ด =always.
  • ha-sync-mode=automatic (๊ทธ๋Ÿฌ๋‚˜ ํฐ ๋น„ํ™œ์„ฑ ๋Œ€๊ธฐ์—ด์˜ ๊ฒฝ์šฐ ์ˆ˜๋™ ๋ชจ๋“œ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ์œผ๋กœ ์ธํ•ด ๋ฉ”์‹œ์ง€๊ฐ€ ์†์‹ค๋˜๋Š”์ง€ ์—ฌ๋ถ€๋„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.)
  • ์†Œ์ˆ˜ ๋ชจ๋“œ ์ผ์‹œ ์ค‘์ง€
  • ์ง€์†์ ์ธ ๋ฉ”์‹œ์ง€

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

์ œ๊ฐ€ ๋†“์นœ ๋‹ค๋ฅธ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

์‹œ๋ฆฌ์ฆˆ์˜ ์ด์ „ ๊ธฐ์‚ฌ :
1๋ฒˆ - habr.com/ru/company/itsumma/blog/416629
2๋ฒˆ - habr.com/ru/company/itsumma/blog/418389
3๋ฒˆ - habr.com/ru/company/itsumma/blog/437446

์ถœ์ฒ˜ : habr.com

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