SNS + SQS: Fan Out

  • ์—ฌ๋Ÿฌ SQS Queue์— Message๋ฅผ ์ „์†กํ•˜๋ ค ํ•  ๋•Œ ๋ชจ๋“  SQS ๋Œ€๊ธฐ์—ด์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ณด๋‚ด๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ์•ฑ์ด ์ค‘๋„์— ๊ฐ‘์ž๊ธฐ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜, ์ „์†ก์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋‚˜์ค‘์— SQS Queue๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์ผ ๋•Œ ํŒฌ์•„์›ƒ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด SNS Topic์— ํ•œ ๋ฒˆ๋งŒ pushํ•ด๋„ ์›ํ•˜๋Š” ๋งŒํผ์˜ SNS Topic์˜ ์—ฌ๋Ÿฌ SQS ๋Œ€๊ธฐ์—ด์„ ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋•Œ Queue๋Œ€๊ธฐ์—ด์€ ๊ตฌ๋…์ž(Subscriber)๊ฐ€ ๋˜๋ฉฐ, ๊ทธ๋“ค ๋ชจ๋‘ SNS์— ์ „์†ก๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตฌ๋งค ์„œ๋น„์Šค์—์„œ 2๊ฐœ์˜ SQS ๋Œ€๊ธฐ์—ด๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ๋•Œ, ํ•˜๋‚˜์˜ SNS Topic์— ํ•œ๋ฒˆ๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๋ฉด SNS Topic์˜ ๊ตฌ๋…์ž์ธ ๋Œ€๊ธฐ์—ด์—์„œ ์—ฐ๊ฒฐ๋œ ์‚ฌ๊ธฐ์„œ๋น„์Šค์™€ ์šด์†ก์„œ๋น„์Šค๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŒฌ์•„์›ƒ์€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋œ ๋ชจ๋ธ์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • SQS๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ง€์†์„ฑ, ์ง€์—ฐ์ฒ˜๋ฆฌ ์ž‘์—… ์žฌ์‹œ๋„๊ฐ€ ๊ฐ€๋Šฅ
  • ํŒฌ์•„์›ƒํŒจํ„ด์œผ๋กœ ๋” ๋งŽ์€ SQS๋Œ€๊ธฐ์—ด์„ SNS Topic์— ๊ตฌ๋…์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” SQS ๋Œ€๊ธฐ์—ด ์•ก์„ธ์Šค ์ •์ฑ…์„ ํ†ตํ•ด SNS Topic์ด SQS๋Œ€๊ธฐ์—ด์— ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๋„๋ก ํ—ˆ์šฉํ•ด์•ผ ํ•œ๋‹ค.

image-20221007125557772

S3 Events to multiple queues

S3 ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€๊ธฐ์—ด๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ์„ ๋•Œ

  • S3 ์ด๋ฒคํŠธ ๊ทœ์น™์—๋Š” ์ œ์•ฝ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ, ๊ฐ™์€ ์ด๋ฒคํŠธ ์œ ํ˜•
    • ์˜ˆ๋ฅผ๋“ค๋ฉด, ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ์ด๋ฒคํŠธ ์œ ํ˜•์ด๋‚˜ images/ ๋“ฑ ๊ฐ™์€ ์ ‘๋‘์–ด์˜ ์กฐํ•ฉ์—์„œ๋Š” ํ•˜๋‚˜์˜ S3 ์ด๋ฒคํŠธ ๊ทœ์น™๋งŒ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฌ๋Ÿฌ SQS ๋Œ€๊ธฐ์—ด๋กœ ๋™์ผํ•œ S3 ์ด๋ฒคํŠธ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒฌ์•„์›ƒ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.
  • S3 ๋ฒ„ํ‚ท์— ์ด๋ฒคํŠธ์ธ S3๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ด ์ด๋ฒคํŠธ๋ฅผ SNS Topic์œผ๋กœ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด, ์—ฌ๋Ÿฌ Queue๋ฅผ SNS Topic์— ๊ตฌ๋…์‹œํ‚ค๋ฉด ๋œ๋‹ค.
  • ์•ฑ, ์ด๋ฉ”์ผ, ๋žŒ๋‹ค ํ•จ์ˆ˜ ๋“ฑ๋„ SNS Topic์— ๊ตฌ๋…์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ํŒฌ์•„์›ƒ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์„œ S3์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ชฉ์ ์ง€๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

image-20221007130205672

SNS to S3 through Kinesis Data Firehose

๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ๋˜๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜๋กœ

Kinesis Data Firehose (KDF) ๋ฅผ ํ†ตํ•ด SNS ๋ฅผ Amazon S3 ๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹

  • SNS ๋Š” KDF์™€ ํ†ตํ•ฉ๋˜์–ด ์žˆ์–ด ๊ตฌ๋งค ์„œ๋น„์Šค์—์„œ SNS Topic์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด KDF์—์„œ ๊ทธ ์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ ,
    KDF์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ S3๋ฒ„ํ‚ท์œผ๋กœ ์ „์†กํ•˜๊ฑฐ๋‚˜ KDF์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ ๋ชฉ์ ์ง€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†ก
  • ๋” ๋„“์€ ๋ฒ”์œ„๊นŒ์ง€ ๋ฉ”์‹œ์ง€๋ฅผ ์ง€์†ํ•˜๊ณ  SNS Topi์œผ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ํŒฌ์•„์›ƒํŒจํ„ด์€ FIFO Topic์—๋„ ์ ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.
  • SNS์—๋Š” FIFO, ์ฆ‰ ์„ ์ž…์„ ์ถœ ๊ธฐ๋Šฅ์ด ์žˆ์–ด Topic ๋‚ด์˜ ๋ฉ”์‹œ์ง€์— ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ƒ์‚ฐ์ž๊ฐ€ 1, 2, 3, 4 ์ˆœ์„œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†ก
    • ์ด๋•Œ ๊ตฌ๋…์€ SQS FIFO Queue๋งŒ ํ•  ์ˆ˜ ์žˆ๊ณ , ์ˆœ์„œ๋Œ€๋กœ 1, 2, 3, 4 ๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๊ฒŒ ๋œ๋‹ค.

image-20221007132533539

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ