[RabbitMQ] ์‹œ์ž‘

[์›๋ณธ ๋งํฌ]

RabbitMQ๋Š” ์ „ํ†ต์ ์ธ ๋ฉ”์„ธ์ง€ ๋ธŒ๋กœ์ปค ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜๋‹ค.
์‰ฝ๊ฒŒ ๋งํ•ด์„œ, ๊ทธ๋ƒฅ on-disk Queue๋‹ค.

2007๋…„์— ์ฒ˜์Œ ๋‚˜์™”๊ณ , ํŠน์ดํ•˜๊ฒŒ๋„ erlang์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.




VS Kafka

๋ฉ”์„ธ์ง€ ๋ธŒ๋กœ์ปค๋ผ๋Š” ์ ์—์„œ ์นดํ”„์นด์™€ ์‚ฌ์šฉ์˜์—ญ์ด ๊ฒน์นœ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ์‚ฌ์šฉ๋ชฉ์ ๊ณผ ํ˜•ํƒœ๊ฐ€ ์กฐ๊ธˆ์€ ๋‹ค๋ฅด๋‹ค.

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

๊ทธ๋ž˜์„œ ์ค‘์†Œ๊ทœ๋ชจ ๋‹จ์œ„์˜ ๋ฉ”์„ธ์ง€ ์ฒ˜๋ฆฌ๋Š” RabbitMQ๊ฐ€ ์ ์ ˆํ•˜๊ณ , ๋Œ€๊ทœ๋ชจ ๋‹จ์œ„์˜ ์ฒ˜๋ฆฌ๋Š” ์นดํ”„์นด๊ฐ€ ์ ์ ˆํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  Kafka๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฉ”์„ธ์ง€๋ฅผ ์žฅ๊ธฐ๋ณด์กดํ•˜๋Š”๋ฐ๋„ ๋Šฅํ•œ ํŽธ์ธ๋ฐ, RabbitMQ๋Š” ๊ทธ๋Ÿฐ๊ฑด ์ข€ ํž˜๋“ค๋‹ค. ๋ฐ”๋กœ๋ฐ”๋กœ ์†Œ๋น„๋˜๋Š” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•˜๋‹ค.

RabbitMQ๊ฐ€ Kafka์— ๋ฐ€๋ฆฌ๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. RabbitMQ๋Š” ๋ผ์šฐํŒ… ์ฒ˜๋ฆฌ ๊ด€๋ จํ•ด์„œ๋Š” Kafka๋ณด๋‹ค ๋‚˜์€ ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, consumer์—์„œ ์›ํ•˜๋Š” ํ˜•ํƒœ์˜ ํ•„ํ„ฐ๋ฅผ ์ง€์ •ํ•ด์„œ ๋ฐ›๊ณ ์‹ถ์€ ๊ฒƒ๋งŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
์นดํ”„์นด๋Š” ์–ด๋ ต๋‹ค.




์„ค์น˜

์šฐ๋ถ„ํˆฌ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ณ 

sudo apt-get install rabbitmq-server

docker๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ดˆ๊ธฐ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์„ค์ •ํ•ด์ค€๋‹ค.

docker run -d -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=tester -e RABBITMQ_DEFAULT_PASS=q1w2e3r4 rabbitmq:3-management




๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ ‘์†

์ž˜ ์„ค์น˜๊ฐ€ ๋๋‹ค๋ฉด, 15672 ํฌํŠธ๋ฅผ ํ†ตํ•ด์„œ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ง€์ •ํ•œ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด


๋ธŒ๋กœ์ปค์˜ ๊ด€๋ฆฌ ์ƒํƒœ๋‚˜ ๋ชจ๋‹ˆํ„ฐ๋ง ์ •๋ณด ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.



์ฐธ์กฐ
https://tech.kakao.com/2021/12/23/kafka-rabbitmq/
https://stackoverflow.com/questions/42151544/when-to-use-rabbitmq-over-kafka
https://hub.docker.com/_/rabbitmq