[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