🎈 Amazon Simple Queue μ„œλΉ„μŠ€λž€ λ¬΄μ—‡μž…λ‹ˆκΉŒ

Amazon Simple Queue Service (Amazon SQS) λŠ” 내ꡬλ ₯ 있고 κ°€μš©μ„±μ΄ λ›°μ–΄λ‚œ λ³΄μ•ˆ ν˜ΈμŠ€νŒ… λŒ€κΈ°μ—΄μ„ μ œκ³΅ν•˜λ©° 이λ₯Ό 톡해 λΆ„μ‚° μ†Œν”„νŠΈμ›¨μ–΄ μ‹œμŠ€ν…œκ³Ό ꡬ성 μš”μ†Œλ₯Ό 톡합 및 뢄리할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ• Amazon SQS μ‚¬μš©μ˜ 이점

  • λ³΄μ•ˆβ€“μ œμ–΄Amazon SQS λŒ€κΈ°μ—΄λ‘œ λ©”μ‹œμ§€λ₯Ό μ „μ†‘ν•˜κ³  이 λŒ€κΈ°μ—΄λ‘œλΆ€ν„°μ˜ λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•  수 μžˆλŠ” μ‚¬λžŒ

  • μ„œλ²„ μΈ‘ μ•”ν˜Έν™” (SSE)λŠ” μ—μ„œ κ΄€λ¦¬λ˜λŠ” ν‚€λ₯Ό μ‚¬μš©ν•˜μ—¬ λŒ€κΈ°μ—΄μ˜ λ©”μ‹œμ§€ λ‚΄μš©μ„ λ³΄ν˜Έν•¨μœΌλ‘œμ¨ λ―Όκ°ν•œ 데이터λ₯Ό 전솑할 수 μžˆμŠ΅λ‹ˆλ‹€.AWS Key Management Service(AWS KMS).

  • 내ꡬ성— λ©”μ‹œμ§€ μ•ˆμ „μ„ μœ„ν•΄ Amazon SQS λŠ” λ©”μ‹œμ§€λ₯Ό μ—¬λŸ¬ μ„œλ²„μ— μ €μž₯ν•©λ‹ˆλ‹€. ν‘œμ€€ λŒ€κΈ°μ—΄ μ§€μ›μ΅œμ†Œ 1회의 λ©”μ‹œμ§€ 전솑및 FIFO λŒ€κΈ°μ—΄ μ§€μ›μ •ν™•νžˆ ν•œ 번 λ©”μ‹œμ§€ 처리.

  • κ°€μš©μ„±β€” Amazon SQS μ‚¬μš©μ€‘λ³΅ μΈν”„λΌλŠ” λ©”μ‹œμ§€μ— λŒ€ν•œ κ³ λ„μ˜ λ™μ‹œ μ•‘μ„ΈμŠ€μ™€ λ©”μ‹œμ§€ 생성 및 μ†ŒλΉ„μ— λŒ€ν•œ κ³ κ°€μš©μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

  • ν™•μž₯μ„±β€” Amazon SQS 각각 μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.μš”μ²­ λ²„νΌλ§λ…λ¦½μ μœΌλ‘œ 투λͺ…ν•˜κ²Œ ν™•μž₯ν•˜μ—¬ ν”„λ‘œλΉ„μ €λ‹ 지침 없이도 λ‘œλ“œ 증가 λ˜λŠ” 급증을 μ²˜λ¦¬ν•©λ‹ˆλ‹€.

  • μ•ˆμ •μ„±β€” Amazon SQS λŠ” 처리 쀑에 λ©”μ‹œμ§€λ₯Ό μž κ·Έλ―€λ‘œ μ—¬λŸ¬ μƒμ‚°μžμ™€ μ†ŒλΉ„μžκ°€ λ™μ‹œμ— λ©”μ‹œμ§€λ₯Ό μ „μ†‘ν•˜κ³  이λ₯Ό 톡해 λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • μ‚¬μš©μž 지정— λŒ€κΈ°μ—΄μ΄ λ˜‘κ°™μ„ ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄λŒ€κΈ°μ—΄μ— κΈ°λ³Έ 지연 μ„€μ •. 256KB보닀 큰 λ©”μ‹œμ§€ λ‚΄μš©μ„ μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.Amazon Simple Simple Storage Service (Amazon S3) μ‚¬μš©λ˜λŠ” Amazon SQSκ°€ Amazon S3 객체에 λŒ€ν•œ 포인터λ₯Ό λ“€κ³  μžˆλŠ” Amazon DynamoDBλ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ 큰 λ©”μ‹œμ§€λ₯Ό 더 μž‘μ€ λ©”μ‹œμ§€λ‘œ λΆ„ν• ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

좜처: https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html [UsefulToKnow]

πŸ” λŒ€κΈ°μ—΄ μœ ν˜•

ν‘œμ€€ λŒ€κΈ°μ—΄ FIFO λŒ€κΈ°μ—΄
λ¬΄μ œν•œ μ²˜λ¦¬λŸ‰ β€” ν‘œμ€€ λŒ€κΈ°μ—΄μ€ API μž‘μ—…λ³„λ‘œ μ΄ˆλ‹Ή 거의 λ¬΄μ œν•œμ˜ API ν˜ΈμΆœμ„ μ§€μ›ν•©λ‹ˆλ‹€.SendMessage,ReceiveMessageλ˜λŠ”DeleteMessage. 높은 μ²˜λ¦¬λŸ‰ β€” μ‚¬μš©ν•˜λŠ”λ°°μΉ˜FIFO λŒ€κΈ°μ—΄μ€ API λ©”μ„œλ“œλ³„λ‘œ μ΄ˆλ‹Ή μ΅œλŒ€ 3,000개의 λ©”μ‹œμ§€λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.SendMessageBatch,ReceiveMessageλ˜λŠ”DeleteMessageBatch.μ΄ˆλ‹Ή 3000개의 λ©”μ‹œμ§€λŠ” 300개의 API ν˜ΈμΆœμ„ λ‚˜νƒ€λ‚΄λ©°, 각각 10개의 λ©”μ‹œμ§€λ₯Ό 일괄 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
μ΅œμ†Œ 1회 전솑— λ©”μ‹œμ§€κ°€ 적어도 ν•œ 번 μ „λ‹¬λ˜κ³ , 가끔 2개 μ΄μƒμ˜ λ©”μ‹œμ§€ 볡사본이 전달될 수 μžˆμŠ΅λ‹ˆλ‹€. μ •ν™•νžˆ 1회 μ²˜λ¦¬β€” λ©”μ‹œμ§€κ°€ ν•œ 번 μ „λ‹¬λ˜κ³  μ†ŒλΉ„μžκ°€ 이λ₯Ό 처리 및 μ‚­μ œν•  λ•ŒκΉŒμ§€ μœ μ§€λ©λ‹ˆλ‹€. 쀑볡 ν•­λͺ©μ„ λŒ€κΈ°μ—΄μ— μ‚½μž…ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
주문은 보μž₯λ˜μ§€ μ•ŠμŒβ€” 가끔 λ©”μ‹œμ§€κ°€ μ „μ†‘λœ μˆœμ„œμ™€ λ‹€λ₯΄κ²Œ 전달될 수 μžˆμŠ΅λ‹ˆλ‹€. μ„ μ°©μˆœ 배솑— λ©”μ‹œμ§€κ°€ μ „μ†‘λ˜κ³  μˆ˜μ‹ λ˜λŠ” μˆœμ„œκ°€ μ—„κ²©ν•˜κ²Œ μœ μ§€λ©λ‹ˆλ‹€.

🎴 μ‚¬μš©μ΄μ 

  • 관리 μ˜€λ²„ν—€λ“œ 제거
    • κ°€μš©μ„±, ν™•μž₯μ„±, μ™„μ Όκ΄€λ¦¬ν˜•
  • λ©”μ‹œμ§€ 전달 μ•ˆμ •μ„±
    • λ©”μ‹œμ§€ 손싀 없이 전달 κ°€λŠ₯
    • μ‹œμŠ€ν…œκ°„ μ»€ν”Œλ§ ν•΄μ†Œ
    • λ©”μ‹œμ§€ 볡제본 μ €μž₯
  • 데이터 μ•ˆμ „μ„± μœ μ§€
    • KMS μ΄μš©ν•œ μ•ˆμ „ν•œ λ©”μ‹œμ§€ 관리
    • CloudTrail ν‚€μ‚¬μš© λ‚΄μ—­ 기둝
  • 탄λ ₯적, λΉ„μš©νš¨μœ¨μ 
    • 동적확μž₯ 지원
    • μš©λŸ‰κ³„νš, 사전 ν”„λ‘œλΉ„μ €λ‹ κ³ λ―Ό ν•„μš” μ—†μŒ

🌭 마무리

μœ„μ™€ 같은 νŠΉμ„±κ³Ό κΈ°λŠ₯을 μ œκ³΅ν•˜λ―€λ‘œ SQSλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°„λ‹€ν•œ μ‹€μŠ΅μ„ ν•΄λ³΄μž.