๐๏ธ Kafka vs. RabbitMQ: ์๋ง์ ๋ฉ์์ง ๋ธ๋ก์ปค ์ฐพ๊ธฐ
์ด๋ฒคํธ ์ค์ฌ ์ํคํ ์ฒ์ ์ธ๊ณ์์ ํจ์จ์ ์ธ ์ํต์ ์ํด์๋ ์ ์ ํ ๋ฉ์์ง ๋ธ๋ก์ปค๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๋ ๊ฐ๋ Kafka์ RabbitMQ์ด๋ฉฐ, ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ์ด ๋๊ฐ๋ ๋น์ทํ ๊ธฐ๋ฅ์ ์ํํ์ง๋ง ์๋ก ๋ค๋ฅธ ์ํคํ ์ฒ, ์ฑ๋ฅ ๋ฐ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ย ์ฌ๊ธฐ์๋ ๋ ๋ธ๋ก์ปค์ ์ํคํ ์ฒ ์ฐจ์ด์ ๊ณผ ์ฑ๋ฅ์ ๋น๊ตํ๊ณ Kafka์ RabbitMQ์ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ดํด๋ด ์๋ค.ย ์ํคํ ์ฒ [Kafka] Apache Kafka๋ ๋์ ์ฒ๋ฆฌ๋ ๋ฐ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ผ๋ก ์ ๋ช ํ ์คํ ์์ค ๋ถ์ฐ ์ด๋ฒคํธ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ๋๋ค. Kafka๋ ํ๋ก๋์๊ฐ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ ์ปจ์๋จธ๊ฐ ํด๋น ์ฃผ์ ๋ฅผ ๊ตฌ๋ ํ์ฌ ๋ฉ์์ง๋ฅผ ๋ฐ๋ pub-sub ๋ชจ๋ธ์ ๋ฐ๋ฆ ๋๋ค. Kafka๋ ๋ฉ์์ง๋ฅผ ๋ถ์ฐ ์ปค๋ฐ ๋ก๊ทธ์ ์ ์ฅํ์ฌ ๋์ ํ์ฅ์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋์ ์ฒ๋ฆฌ๋๊ณผ ๋ฉ์์ง ๋ฆฌํ๋ ์ด๊ฐ ๊ฐ๋ฅํ์ฌ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ์ด๋ฒคํธ ์์ฑ์ ์ด์์ ์ ๋๋ค. ย [RabbitMQ] RabbitMQ๋ AMOP(Advanced Message Queuing Protocol)์ ๊ตฌํํ๋ ์ ์ฐํ ์คํ ์์ค ๋ฉ์์ง ๋ธ๋ก์ปค์ ๋๋ค. ์ ํต์ ์ธ message-queue ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ฏ๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ํน์ ์๋น์์๊ฒ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ์ฌ ๋น๋๊ธฐ์ ์ผ๋ก ํต์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฉ์์ง ์์ ์ง์ ์ด ๊ฐ๋ฅํ๊ณ ๋ฉ์์ง ๋ผ์ฐํ ์ ์ ์ฐ์ฑ์ ๋ณด์ฅํ๋ฏ๋ก ์์ ์ฒ๋ฆฌ ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ํต์ ์ ์ ํฉํฉ๋๋ค. ย ์ฑ๋ฅ [Kafka] ์ฒ๋ฆฌ์จ์ด ๋๊ณ ์ค์๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์๋๋ฆฌ์ค์์ ์ฐ์ํ์ฌ ๋ฐ์ด๋ ํ์ฅ์ฑ๊ณผ ๋ฎ์ ์ง์ฐ ์๊ฐ์ ์๋ํฉ๋๋ค. ์ด๋น ์๋ฐฑ๋ง ๊ฐ์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด ๋น ๋ฅด๊ณ ์ง์์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค. ์ฌ๋ฌ ๋ธ๋ก์ปค์ ์ํฌ๋ก๋๋ฅผ ๋ถ์ฐํ์ฌ ์ํ์ ํ์ฅ์ ๊ฐ๋ฅํ๊ฒ ํด ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๋ํ ๋์คํฌ์ ๋ฉ์์ง๋ฅผ ์ง์ํ์ฌ ๊ฐ๋ ฅํ ๋ด๊ตฌ์ฑ์ ๋ณด์ฅํฉ๋๋ค.ย ย [RabbitMQ] ์์ ํ์ธ ๋ฐ ๋ฉ์์ง ์ง์์ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํด ์ ๋ขฐํ ์ ์๋ ๋ฉ์์ง ์ ๋ฌ์ ์ ๊ณตํฉ๋๋ค. ์ด๋น ์์ฒ ๊ฐ์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด ์ค๊ฐ ์์ค์ ์ฒ๋ฆฌ ์๊ตฌ์ฌํญ์ ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํฉ๋๋ค. ์ค์ ์ง์ค์ ์ํคํ ์ฒ๋ ์ผ๋ถ ์ฑ๋ฅ ์ค๋ฒํค๋๋ฅผ ๊ฐ์ง ์ ์์ง๋ง ๊ฒฌ๊ณ ์ฑ๊ณผ ๋ฉ์์ง ๋ฌด๊ฒฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์์ง ํ์ฅ์ ๊ฐ๋ฅํ์ง๋ง ์ํ ํ์ฅ์ฑ์ Kafka์ ๋นํด ์ ํ์ ์ ๋๋ค. ย ์ ์ค์ผ์ด์ค [Kafka] * ์ค์๊ฐ ๋ถ์ ๋ฐ ์คํธ๋ฆฌ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ * ํนํ ๋น ํ ์ดํฐ์ ๊ด๋ จ๋ ์ด๋ฒคํธ ์์ฑ, ์์ง ๋ฐ ๋ก๊ทธ ์ง๊ณ * ๋์ฉ๋ ๋ฉ์์ง ์ฒ๋ฆฌ๋ฅผ ํตํ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ํต์ * ๋์ ํ์ฅ์ฑ๊ณผ ๋ด๊ฒฐํจ์ฑ์ ์๊ตฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ย ย [RabbitMQ] * ๋ฉํธ๋ฆญ ๋ฐ ์๋ฆผ์ ํฌํจํ ์์ ์ฒ๋ฆฌ, ์๋น์ค ํตํฉ, ์ํฌํ๋ก์ฐ ์กฐ์ ๋ฐ ๊ด๋ฆฌ * ๋ง์ดํฌ๋ก์๋น์ค ๊ฐ ๋น๋๊ธฐ ํต์ * ๋ฉ์์ง ์ฐ์ ์์ ๋ฐ ์ ๋ขฐํ ์ ์๋ ๋ฉ์์ง ์ ๋ฌ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ํฐํ๋ผ์ด์ฆ ๋ฉ์์ง ์์คํ * ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์๋๋ฆฌ์ค์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ ย ๊ฒฐ์ ํ๊ธฐย * ๋์ ์ฒ๋ฆฌ๋๊ณผ ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ฐ์ ์ํ๋ค โถ๏ธ Kafka * ์์ ์ ์ธ ๋ฉ์์ง ์ ๋ฌ์ด ํ์ํ๋ค โถ๏ธ RabbitMQ * ๋ฉ์์ง ์ฌ์๊ณผ ๋ก๊ทธ ์ง๊ณ๋ฅผ ๊ณ ๋ คํ๋ค โถ๏ธ Kafka * ๋์ฉ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ปค๋ฎค๋์ผ์ด์ ์ ์ํ ์ํํ ํ์ฅ์ ์ฐพ๋๋ค โถ๏ธ Kafka ๋ฒ์ญ: [https://ducktopia.tistory.com/114] ์๋ฌธ: