Event Broker vs Message Broker - stove-smooth/sgs-smooth GitHub Wiki

๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค

  • ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” publisher๊ฐ€ ์ƒ์‚ฐํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฉ”์‹œ์ง€ ํ์— ์ €์žฅํ•˜๊ณ , ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ consumer๊ฐ€ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ค‘๊ฐ„ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•ด์ฃผ๋Š” ๋ธŒ๋กœ์ปค(broker)์ด๋‹ค.

  • ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๋™๊ธฐ ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•จ.

  • ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ๋ณดํ†ต pub/sub ๊ตฌ์กฐ๋ผ๊ณ  ํ•˜๋ฉฐ ๋Œ€ํ‘œ์ ์œผ๋กœ RabbitMQ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์žˆ๊ณ  GCP์˜ pubsub, AWS์˜ SQS ๊ฐ™์€ ์„œ๋น„์Šค๊ฐ€ ์žˆ์Œ.

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

์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค

  • ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค์˜ ํ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.

  • ๊ทธ๋ž˜์„œ ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค๋Š” ๋ฉ”์„ธ์ง€ ๋ธŒ๋กœ์ปค์˜ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค์˜ ์—ญํ• ์„ ํ•  ์ˆ˜ ์—†์Œ.

  • ์ด๋ฒคํŠธ ๋ธŒ๋กœ์ปค๋Š” publisher๊ฐ€ ์ƒ์‚ฐํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋“ฏ์ด ๊ณ„์† ์ €์žฅํ•˜์—ฌ, ํ›„์— consumer๊ฐ€ ํŠน์ • ์‹œ์ ๋ถ€ํ„ฐ ์ด๋ฒคํŠธ๋ฅผ ๋‹ค์‹œ ์ฝ์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ.

  • ์‹œ์Šคํ…œ์— ์žฅ์• ๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ๊ทธ ์ดํ›„์˜ ์ด๋ฒคํŠธ๋“ค์„ ๋‹ค์‹œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ.

  • ๋˜ํ•œ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์žˆ์–ด์„œ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋ณด๋‹ค๋Š” ๋” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์žˆ์Œ.