AWS 통합 및 메시징

2024. 3. 20. 16:59·☁️Cloud/AWS
728x90
SMALL

미들웨어로 다른 서비스 간 합동 작업을 하는 방법을 살펴본다

 

여러 개 배포할 때는, 커뮤니케이션을 할 수 밖에 없다 (서비스는 정보와 데이터를 공유)

그 방법은 크게 두 가지로 나뉜다

 

1. 동기 커뮤니케이션

직접적으로 연결되어 있다.

2. 비동기 혹은 이벤트 기반 유형

 

 

 

구매가 증가하거나, 한 서비스가 다른 서비스를 압도하는 경우, sync 에 문제가 발생할 수 있다.

트래픽이 갑자기 급증 or 예측 불가할 때,

애플리케이션 분리 및 계층을 확장해야 한다.

SQS

  • 대기열 서비스
    • 애플리케이션을 분리하여, 대기열에 메시지를 담음
  • 무제한 처리량이 있음
    • 대기열에 최소 4일, 최대 14일 놔둘 수 있다.
  • SQS 에 메시지를 보내는 API 를 SendMessage API 라고 한다.
  • 메시지를 보내는 주체를 생산자 (producer) 라고 한다.
  • 수신하는 대상자를 소비자 (consumer) 라고 한다.
    • 대기열에서 미시지를 폴링 (poll message / 소비자 앞으로 온 메시지 있는지 물어봄)

  • EC2 Instance, Server, AWS Lambda 에서 수행됨

 

  • 보안
    • HTTPS API 사용하여 메시지를 보내고, 생성함으로써 비행 중 암호화를 함
    • KMS 키 사용 미사용 암호화를 얻음
    • 클라이언트 측 암호화 또한 가능

SNS

  • Pub/Sub (게시, 구독) 사용 가능
    • 이를 통해 구매 서비스가 메시지를 SNS 주제로 전송할 수 있음
  • "event producer" 는 한 SNS 주제에만 메시지를 보냄
    • 해당 주제 관련 SNS 알림 받음
    • 주제 별 최대 1200 만

 

  • 주제를 만든 다음, 하나 or 여러 구독을 만든 뒤 SNS 주제에 계시하면, 구독자가 자동으로 메시지 받음

Kinesis  (중요)

  • 실시간 스트리밍 데이터 손쉽게 수집 / 처리하여 분석 가능
  • 실시간 데이터에는 애플리케이션 로그, 계측, 웹 사이트 클릭 스트림, IoT 원격 측정 데이터 등 어떤 것도 포함 가능

 

셋의 차이점 분석 및 요약

SQS: 소비자가 SQS 대기열에서 메시지를 요청해서 데이터를 가져오는 pull 모델

SNS:게시 / 구독 모델

Kinesis:소비자가 kinesis 로부터 데이터를 가져오는 pull 표준 모드, 팬 아웃 유형의 소비 메카니즘은 kinesis 가 소비자에게 데이터를 push. 빅데이터, ETL 에 사용

 

 

 

LIST

'☁️Cloud > AWS' 카테고리의 다른 글

AWS Organization 이란  (0) 2024.03.22
Amazon Congnito  (0) 2024.03.22
AWS CloudFront  (0) 2024.03.20
S3 CORS 개념  (0) 2024.03.19
S3 암호화 4가지 방법  (0) 2024.03.19
'☁️Cloud/AWS' 카테고리의 다른 글
  • AWS Organization 이란
  • Amazon Congnito
  • AWS CloudFront
  • S3 CORS 개념
terranbin
terranbin
Studying Computer Science
  • terranbin
    Engineer
    terranbin
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • ☁️Cloud (42)
        • AWS (38)
        • MS Azure (4)
      • 🐳 Infra (1)
        • System (12)
        • DRBD (3)
      • 🔌Network (8)
      • 🔹Storage (8)
      • 🔹Kubernetes (15)
      • 🔹 DevOps (8)
      • 🔹Study (4)
      • 🔹Install (6)
      • 🔹ETC (2)
      • 🔹PostMan (6)
      • 🔹Openstack (3)
      • 🔹RcloneView (6)
      • 🔹Test (0)
      • 🔹Debug (2)
      • 🔹DBMS (2)
  • 블로그 메뉴

    • 홈
  • 링크

    • sungbin
    • Github
  • 공지사항

  • 인기 글

  • 태그

    terraform
    aws dlt
    rocky9
    AWS
    kubectl
    centos7
    OpenStack
    rocky8
    ceph
    rcloneview
    postman
    distributed load testing
    S3
    Google Drive
    EC2
    SAA
    kubernetes
    network
    EBS
    설치
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
terranbin
AWS 통합 및 메시징
상단으로

티스토리툴바