
๐ ์๋ฐฑ๋ง๊ฑด์ ์ค์๊ฐ ๊ฑฐ๋๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง ๊ถ๊ธํ์ง ์๋?
๊ธ์ต ์์คํ
, e-commerce, ์์
๋ฏธ๋์ด ๋ฑ์ ๋งค ์๊ฐ ์๋ฐฑ๋ง ๊ฑด์ ๊ฑฐ๋์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๋ค. ์ด์ฒ๋ผ ๋ง๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋์
์ด ๋ ๊ฒ์ด ๋ฐ๋ก Message Queue ์ด๋ค.
Message Queue์ ๋ํด ๋ณธ๊ฒฉ์ ์ผ๋ก ์์๋ณด๊ธฐ ์ ๋ฉ์ธ์ง ์งํฅ ๋ฏธ๋ค์จ์ด(MOM)์ ๋ํด ์์๋ณด์. ๐
์ฌ๊ธฐ์ ๋ฉ์์ง๋ ์์ฒญ, ์๋ต, ์ค๋ฅ ๋ฉ์์ง ํน์ ๋จ์ํ ์ ๋ณด ๋ฑ์ ์์ ๋ฐ์ดํฐ๊ฐ ๋ ์ ์๋ค
๋ณด๊ด
- ๋ฐฑ์ ๊ธฐ๋ฅ์ ์ ์งํจ์ผ๋ก์จ ์ง์์ฑ์ ์ ๊ณตํด ์ก์์ ์ธก์ ๋์์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ ์งํ ํ์๊ฐ ์์
๋ผ์ฐํ
- ๋ฏธ๋ค์จ์ด ๊ณ์ธต ์์ ์ด ์ง์ ๋ฉ์ธ์ง ๋ผ์ฐํ ์ ์ํํ๊ธฐ ๋๋ฌธ์ ํ๋์ ๋ฉ์ธ์ง๋ฅผ ์ฌ๋ฌ ์์ ์์๊ฒ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํจ
๋ณํ
- ์ก์์ ์ธก์ ์๊ตฌ์ ๋ฐ๋ผ ์ ๋ฌํ๋ ๋ฉ์ธ์ง๋ฅผ ๋ณํํ ์ ์์
๋ฉ์ธ์งํ๊ฐ ๋ฐ๋ก ์ด MOM์ ์ํ๋ค
Queue๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฑํํด ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋ ์์คํ
๊ตฌ์กฐ
FIFO (First in First out)
์ ์ ์ ์ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ

Queue๋ ์
๊ตฌ์ ์ถ๊ตฌ๊ฐ ๊ตฌ๋ถ๋ ์๋ฃ๊ตฌ์กฐ, ์๋ก์ด ๋ฐ์ดํฐ๋ ์
๊ตฌ๋ก ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๋ฐ์ดํฐ๋ ์ถ๊ตฌ์์ ๋๊ฐ
์์์ ์ฅ์์ ๋ค์ด์จ ์์๋๋ก ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๋ค
-> ์๋ฅผ ๋ค์ด, ๋์ด๊ณต์ ์ค์ด ์๋ค

๋ฉ์ธ์ง ํ๋ฅผ ํตํด ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋ ค๋ฉด ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋ ๋ถ๋ถ๊ณผ ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋ ๋ถ๋ถ์ด ํ์ํจ
์ด๋ ๋ฉ์ธ์ง๋ฅผ ๋ฐํํ๊ณ ์ ๋ฌํ๋ ๋ถ๋ถ์ Producer๋ผ๊ณ ํ๋ฉฐ, ๋ฉ์ธ์ง๋ฅผ ๋ฐ์์ ์๋นํ๋ ๋ถ๋ถ์ Consumer๋ผ๊ณ ํจ
์ฆ ๋ฉ์ธ์ง ํ๋ Producer์ Consumer์ ๋ฉ์ธ์ง ์ ๋ฌ ์ญํ ์ ํ๋ ๋งค๊ฐ์ฒด
Message Queue์์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฐํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฉ์ธ์ง ๋ธ๋ก์ปค์ ์ด๋ฒคํธ ๋ธ๋ก์ปค๋ก ๋๋ ์ ์์
Message Queue๊ฐ ๋ฉ์ธ์ง ๋๋ ์ด๋ฒคํธ๊ฐ ์ก์ ๋๊ณ ์์ ๋๋ ํ๋์ ํต์ ํต๋ก๋ผ๊ณ ํ๋ฉด,
๋ธ๋ก์ปค๋ ๋ฉ์ธ์ง ํ์ ๋ฉ์ธ์ง ํน์ ์ด๋ฒคํธ๋ฅผ ๋ฃ์ด์ฃผ๊ณ ์ค๊ฐํ๋ ์ญํ ์ ํ๋ ์ฃผ์ฒด
Consumer๊ฐ ๋ฉ์ธ์ง ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๊ฐ๊ฒ ๋๋ฉด ์งง์ ์๊ฐ ๋ด์ ๋ฉ์ธ์ง๊ฐ ์ญ์ ๋๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, ์ด๋ฒคํธ ๋ธ๋ก์ปค ๋ฐฉ์์์ Consumer๊ฐ ์๋นํ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ๊ฒฝ์ฐ ๋ค์ ์๋นํ ์ ์์Producerย ์ญํ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ ์ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌ ๋ฐ๋ย Consumerย ์ญํ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์๊ฒ ์ง์ ์ ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ผํจ(End-To-End ํต์ )Producerย ๋ ๋ฉ์ธ์ง๋ฅผย Consumerย ์๊ฒ ๋ฐ๋ก ๋ณด๋ด์ง ์๊ณ ย Queueย ์ ๋ฉ์ธ์ง๋ฅผ ๋ฃ์ด ๊ด๋ฆฌ. ์ด๋ฅผ ํตํดย Consumerย ๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํจํ์ฅ์ฑ,์ ์ฐ์ฑ,ํจ์จ์ ์ธ ์ ์ง ๋ณด์,์ฅ์ ์ ํ ๋ฐฉ์งย ๋ฑ์ ๊ฒฐํฉ๋๊ฐ ๋ฎ์ ๋ ์ป์ ์ ์๋ ์ฅ์ ์ด ๋ง์ โ ์ํํธ์จ์ด ์ํคํ
์ฒ ๋์์ธ ํจํด์ธย MSA(Microservice Architecture)ย ์์ ์ํคํ
์ฒ์ ํต์ฌ์ ์ธ ์ญํ ์ํจ

| Process | Task |
|---|---|
| A | B ํ๋ก์ธ์ค์๊ฒ ์ก๊ธ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ |
| B | A ํ๋ก์ธ์์๊ฒ ๋ฐ์ ์ก๊ธ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ฌ์ฉ์ ๊ณ์ข์ ๋ฐ์ํจ |
Producerย ํ๋ก์ธ์ค๋ย Consumerย ํ๋ก์ธ์ค๊ฐ ๋ค์ด๋์ด ์์ด๋ ๋ฉ์ธ์ง๋ฅผ ์ ์์ ์ผ๋ก ๋ฐํํ ์ ์๊ณ ,ย Consumerย ๋ ๊ตฌ๋
ํ ๋ฉ์ธ์ง๋ฅผ ๋ฐํํ๋ย Producerย ํ๋ก์ธ์ค๊ฐ ๋ค์ด๋์ด ์์ด๋ ์ ์์ ์ผ๋ก ์์ ํ ย ์ ์์์์คํ
์๋ต์ฑ ์ ํ,๋ฐ์ดํฐ ๋ถ์ผ์นย ,๋ฉ์ธ์ง ์ ์คย ๋ฑ ๋ค์ํ ๋ฌธ์ ๊ฐ ๋ฐ์Consumerย ๊ฐ ์์ ํ ์ ์์Producerย ์ย Consumerย ์ ์ถ๊ฐํจ์ผ๋ก ๋น๊ต์ ๊ฐ๋จํ๊ณ ์ฝ๊ฒ ํ์ฅ์ ํ ์ ์์MQ๋ฅผ ์ ์ฉํ๋ ค๋ฉด RabbitMQ, Kafka, ActiveMQ๋ฑ ๋ค์ํ MQ ์ค์์ ์์คํ ๋ชฉ์ ์ ๋ง๋ MQ๋ฅผ ์ ์ ํด์ผ ํ๊ณ ๋ ์๋ฒ์ MQ๋ฅผ ์ค์นํด์ผ ํ๋ค.
์ค์น๋ก ๋์ด ์๋๋ผ ๊ทธ ์ฌ์ฉ ๋ฐฉ๋ฒ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ๋ ์ตํ์ผ ํ๋ฉฐ MQ๊ฐ ์ง์ํ๋ ๋ค์ํ ์ต์ ์ค์ ์์คํ ๋ชฉ์ ์ ๋ง๋ ์ต์ ์ ์ฐพ์ ์ค์ ํด์ผ ํ๊ณ ์ฃผ๊ณ ๋ฐ์ ๋ฉ์์ง ๊ตฌ์กฐ๋ ์ ์ํด์ผ ํ ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ์ ๋ฌ ๋ฐฉ์ ์ค ์์คํ ๋ชฉ์ ์ ๋ง๋ ๋ฐฉ์์ ์ ์ ํด์ผ ํ๋ค.
๋จ์ํ ์๋ฒ์์ ์ฒ๋ฆฌํ๋ฉด ์ด๋ฐ ๋ถํธํจ ์์ด ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์๋๋ฐ ์ MQ๋ฅผ ์ฌ์ฉํด์ผ ํ ๊น?
์ด๋ค ์น ์ฌ์ดํธ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ด๋ฒ๋ ค์ ์ด๋ฉ์ผ์ ํตํด ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฐ๊ฑฐ๋, ์๋ก์ด ํ์๊ฐ์ ์ ์ํ ์ธ์ฆ ์ฝ๋๋ฅผ ๋ฐ์๋ณธ ๊ฒฝํ์ด ์์ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ํฉ๋ค์์ ์ด๋ฉ์ผ์ด ์ฆ๊ฐ์ ์ผ๋ก ์์ ๋๊ธฐ๋ฅผ ๊ธฐ๋ํ์ง๋ ์๋๋ค. ์ด๋ ์ ๋์ ์๋ต ์ง์ฐ์ด ํ์ฉ๋๋ฉฐ, ์ดํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก ๋ฉ์์ง ํ๋ ์ด๋ฐ ๊ฒฝ์ฐ ๋์์ด ๋ ์ ์๋ค

์ฆ, ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฑฐ๋ ์ด๋ค ์์ ์ ์์ฒญ์ ํ ๋๋ ํญ์ ์์คํ ์ฅ์ ๋ฅผ ์ผ๋์ ๋์ด์ผ ํ๋ค.
์๋ฒ๊ฐ ๊ฐ์๊ธฐ ์ฃฝ๊ฑฐ๋ ์๋ฒ ์ ๊ฒ ๋ฑ์ผ๋ก ๋ค์ดํ์์ด ๋ฐ์ํ๋ ๋์์๋ ์์ฒญ์ ๋ณด๋ผ ์๊ฐ ์๋ค. ์์ฒญํ๋ ์๋ฒ์์ failover ์ฒ๋ฆฌ๋ฅผ ํด๋๊ณ ์ฐ๊ณ ์์คํ
์ด ๋ค์ ์ด์๋ฌ์ ๋ ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง MQ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
์ด์ฒ๋ผ ์๋ฒ ๋ถํ๊ฐ ๋ง์ ์์
์๋ ์ ์ฉํ๋ค
์ด๋ฏธ์ง ์ฒ๋ฆฌ, ๋น๋์ค ์ธ์ฝ๋ฉ, ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ฐ์ ์์ ์ ๋ฉ๋ชจ๋ฆฌ์ CPU๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค. ์ด๋ฌํ ์์ ์ ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ์์ด ์๋นํ ํ์ ์ ์ด์ด์ ํ์ํ๋ค๊ณ ๋ฌด์์ ์์ฒญ์ ์ฒ๋ฆฌํ ์๋ ์๋ค. ์ด ๋์๋ MQ๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ฐ ์ฒ๋ฆฌํด์ผํ ์์ ์ MQ์ ๋ฃ์ด๋๊ณ ์๋ฒ๋ ์์ ์ด ๋์์ ์ฒ๋ฆฌํ ์ ์๋ ์์ ๋ฐ๋ผ ํ๋์ ์์ ์ด ๋๋๋ฉด ๋ค์์ ์ฒ๋ฆฌํ ์์ ์ MQ์์ ๊ฐ์ ธ์ ์ฒ๋ฆฌํ๋ฉด ๋๋ค.
์ด ์ธ์๋, MQ๋ฅผ ํตํด ๋ถํ๋ถ์ฐ ์ฒ๋ฆฌ๋ ๊ฐ๋ฅํ๋ค.
์ฌ๋ฌ ๋์ ์๋ฒ๊ฐ ํ๋์ ํ๋ฅผ ๋ฐ๋ผ๋ณด๋๋ก ๊ตฌ์ฑํ๋ฉด ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์์ ธ๋ ๊ฐ ์๋ฒ๋ ์์ ์ ์ฒ๋ฆฌ๋์ ๋ง๊ฒ ํ์คํฌ๋ฅผ ๊ฐ์ ธ์ ์ฒ๋ฆฌํ ์ ์๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ย horizontal scaling์ ์ ๋ฆฌํ๋ค.
๋ํ, MQ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ์ธ๋ถ์์ ๋ฐ์ ์์ฒญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ค๊ฐ ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌํ๊ฒ ํ ์๋ ์๋ค. ํ์ง๋ง ์ด๋ ํ ์ด์ ๋ก ์๋ฒ๊ฐ ๋ค์ด๋์ด ๋ฒ๋ฆฌ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์์๋ ์์ฒญ์ ๋ชจ๋ ์์ด์ง๊ณ ๋ง๋ค. MQ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฅผ ๋ฐฉ์งํ ์ ์๋๋ฐ MQ๋ก๋ถํฐ ๊ฐ์ ธ์จ ํ์คํฌ๋ฅผ ์ผ์ ์๊ฐ์ด ์ง๋๋๋ก ์ฒ๋ฆฌํ๋ค๊ณ ๋ค์ MQ์ ์๋ ค์ฃผ์ง ์์ผ๋ฉด MQ๋ ์ด ํ์คํฌ๋ฅผ ๋ค์ ํ์ ๋ฃ์ด ๋ค์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๋ค.
RabbitMQ
๋จผ์ AMQP(Advanced Message Queue Protocol)ย ์ ์์๋ณด์.
[AMQP ์ ๋ํด์]
AMQPย ๋ ๋ฉ์ธ์ง ์งํฅ ๋ฏธ๋ค์จ์ด(MOM) ์ ์ํ ๊ฐ๋ฐฉํ ํ์ค ์์ฉ ๊ณ์ธต ํ๋กํ ์ฝ์ด๋ค.

AMQP๋ ์ผ๋ฐ์ ์ธ ๋ฉ์ธ์ง ํ์ ๋น์ทํ์ง๋งย Exchangeย ๋ผ๋ ๋ผ์ฐํฐ๊ฐ ์กด์ฌํ๋ฉฐย Bindingย ์ด๋ผ๋ ๊ฐ๋
์ด ์กด์ฌ
[RabbitMQ ๊ตฌ์ฑ์์]
Producerย : ์์ฒญ์ ๋ณด๋ด๋ ์ฃผ์ฒด์ด๋ฉฐ ๋ณด๋ด๊ณ ์ ํ๋ ๋ฉ์ธ์ง๋ฅผย Exchangeย ์ย Publishย ํฉ๋๋ค.Consumerย :ย Producerย ๋ก ๋ถํฐ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ฒ๋ฆฌํ๋ ์ฃผ์ฒด์
๋๋ค.Exchangeย :ย Producerย ๋ก ๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฉ์ธ์ง๋ฅผ ์ด๋ค ๋ฉ์ธ์ง ํ๋ก ์ ์กํ ์ง ๊ฒฐ์ ํ๋ ์ฅ์์
๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ผ์ฐํ
๊ธฐ๋ฅ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.Queueย :ย Consumerย ๊ฐ ์๋นํ๊ธฐ ์ ๊น์ง ๋ฉ์ธ์ง๊ฐ ๋ณด๊ด๋๋ ์ฅ์์
๋๋ค.Bindingย :ย Exchangeย ์ย Queueย ์์ ๊ด๊ณ์
๋๋ค. ์ฆ, ํน์ ย Exchangeย ๊ฐ ํน์ ย Queueย ์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋๋ก ์ ์ํฉ๋๋ค.[RabbitMQ ํน์ง ๋ฐ ์ฅ์ ]
RabbitMQย ๋ย AMQPย ํ๋กํ ์ฝ์ ๊ตฌํํด ๋์ ์คํ ์์ค ๋ฉ์์ง ๋ธ๋ก์ปค์ด๋ฉฐ ์ฌ๋ฌ๊ฐ์ง ํน์ฑ์ ๊ฐ์ง
AMQPย ์ ๊ตฌํํด ๋์ ๋ฉ์ธ์ง ํ[RabbitMQ ์ฒ๋ฆฌ ๊ตฌ์กฐ]
Producerย ๊ฐย Brokerย ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ธ๋คBrokerย ๋ดย Exchangeย ์์ ํด๋นํ๋ Key ์ ๋ง๊ฒย Queueย ์ ๋ถ๋ฐฐํ๋ค(Binding)Queueย ๋ฅผ ๊ตฌ๋
ํ๋ย Consumerย ๊ฐ ๋ฉ์ธ์ง๋ฅผ ์๋นํ๋ค[RabbitMQ ๋จ์ ]
Producerย ์ย Consumerย ์ ๊ฒฐํฉ๋๊ฐ ๋์Kafka
Linked-inย ์์ ๊ฐ๋ฐํย ํ์ดํ๋ผ์ธ, ์คํธ๋ฆฌ๋ฐ ๋ถ์, ๋ฐ์ดํฐ ํตํฉ ๋ฐ ๋ฏธ์
ํฌ๋ฆฌํฐ์ปฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํด ์ค๊ณ๋ ๊ณ ์ฑ๋ฅ ๋ถ์ฐ ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ
Pub-Sub(Publisher/Subscriber) ๋ชจ๋ธ์ ๋ฉ์์ง ํ ํํ๋ก ๋์ํ๋ฉฐ ๋ถ์ฐํ๊ฒฝ์ ํนํ๋์ด ์์ผ๋ฉฐ, Fortune 100๊ฐ ๊ธฐ์ ์ค 80% ์ด์์ด Kafka๋ฅผ ์ฌ์ฉ

๋์ฉ๋ ์ค์๊ฐ ๋ก๊ทธ์ฒ๋ฆฌ์ ํนํ๋์ด ์ค๊ณ๋ ๋ฉ์์ง ์์คํ ์ผ๋ก TPS๊ฐ ๋งค์ฐ ์ฐ์ํ๊ณ , ๋ฉ์์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๊ธฐ์กด ๋ฉ์์ง ์์คํ ๊ณผ๋ ๋ฌ๋ฆฌ ํ์ผ์ ์ ์ฅ์ ํ๋๋ฐ ๊ทธ๋ก ์ธํด ์นดํ์นด๋ฅผ ์ฌ์์ํด๋ ๋ฉ์์ง ์ ์ค ์ฐ๋ ค๊ฐ ๊ฐ์
๊ธฐ๋ณธ ๋ฉ์์ง ์์คํ
(rabbitMQ, ActiveMQ)์์๋ ๋ธ๋ก์ปค(Broker)๊ฐ ์ปจ์๋จธ(consumer)์๊ฒ ๋ฉ์์ง๋ฅผ pushํด ์ฃผ๋ ๋ฐฉ์์ธ๋ฐ, ์นดํ์นด๋ ์ปจ์๋จธ(Consumer)๊ฐ ๋ธ๋ก์ปค(Broker)๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ์ง์ ๊ฐ์ ธ๊ฐ๋ PULL ๋ฐฉ์์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ์ปจ์๋จธ๋ ์์ ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ๋งํผ์ ๋ฉ์์ง๋ง ๊ฐ์ ธ์ ์ต์ ์ ์ฑ๋ฅ์ ๋ผ ์ ์์
๊ทธ๋ ๋ค๋ฉด, ์ผ๋ฐ์ ์ผ๋ก ํ์ผ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฑ๋ฅ์ด ์ฐ์ํ๋ฐ ์ ์นดํ์นด๊ฐ ์ฑ๋ฅ์ด ์ข์ ๊ฒ์ผ๊น?
๊ทธ ์ด์ ๋ ์นดํ์นด์ ํ์ผ ์์คํ ์ ํ์ฉํ ๊ณ ์ฑ๋ฅ ๋์์ธ์ ์๋ค.
์ผ๋ฐ์ ์ผ๋ก ํ๋๋์คํฌ๋ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ์๋ฐฑ๋ฐฐ ๋๋ฆฌ์ง๋ง ํ๋๋์คํฌ์ ์์ฐจ์ ์ฝ๊ธฐ์ ๋ํ ์ฑ๋ฅ์ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฌ๊ฒ ๋จ์ด์ง์ง ์๋๋ค๊ณ ํ๋ค
๋์ฉ๋ ๋ถ์ฐ ์์คํ ์ด ํ์ํ๋ฉดย
Kafkaย ์ ๊ตฌ์ถํ๋ฉด ๋๊ณ ๊ทธ ์ธ์๋ยQueueย ๊ธฐ๋ฅ์์ ์ ๋ขฐ์ฑ๊ณผ ์์ ์ฑ์ ์ข ๋ ๋ณด์ฅํ๋ยActiveMQย ํน์ยRabbitMQย ์ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค
MQ๋ฅผ ์ฌ์ฉํ ๋ ์ป์ ์ ์๋ ์ด์ ์ ๋ง์ง๋ง ์ ์ฌ์ ์์ ์ฌ์ฉํด์ผ ํ๋ค. ์์ฒญ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ์๋ตํด์ผํ ๋์๋ MQ๋ ์ด์ธ๋ฆฌ์ง ์๋๋ค. ์ฃผ๋ก ์์ฒญ๊ณผ๋ ๋ณ๊ฐ๋ก ์ฒ๋ฆฌํ ์ ์๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ด์ธ๋ฆฐ๋ค. ๋ํ ์๋ฒ์์ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ์ผ์ MQ๋ฅผ ํตํด ์ ๋ฌํ๋ฉด ํ์์๋ ์ค๋ฒํค๋๋ ์๋ ์๋ค.