반응형
이번 포스트에서는 SNS 설정을 해보도록 하자
이번 시리즈에서는 마이크로서비스 아키텍처(MSA) 내에서 메시지 주도 통신을 구현하기 위해, Kafka 대신 AWS의 SNS와 SQS를 활용하는 방법을 단계별로 설명한다. SNS 설정부터 시작해 SQS와의 통합 과정까지, 실제 사용 사례를 통해 설명하겠다.
1. SNS란 무엇인가?
1-1. AWS SNS(Simple Notification Service)란?
- SNS는 "publish/subscribe" 모델을 기반으로 하는 관리형 서비스다.
- 이 서비스를 사용하면 메시지를 주제(topic)에 발행하고, 다양한 구독자(subscriber)들이 이 메시지를 받을 수 있다.
- 구독자는 이메일, SMS, HTTP/HTTPS 엔드포인트, 람다 함수 등 다양한 방식으로 메시지를 받을 수 있다.
1-2. SNS를 사용하는 이유
- 탈중앙화 및 비동기 통신
- 서비스 간에 직접적인 연결 없이 메시지를 주고받을 수 있어서 시스템이 느슨하게 결합될 수 있다. 이는 마이크로서비스 아키텍처(MSA)에서 중요한 특징이다.
- 서비스 간에 직접적인 연결 없이 메시지를 주고받을 수 있어서 시스템이 느슨하게 결합될 수 있다. 이는 마이크로서비스 아키텍처(MSA)에서 중요한 특징이다.
- 확장성
- SNS는 자동으로 확장되기 때문에 발행하는 메시지의 양이 많아져도 문제없이 처리할 수 있다.
- SNS는 자동으로 확장되기 때문에 발행하는 메시지의 양이 많아져도 문제없이 처리할 수 있다.
- 내구성
- AWS의 높은 가용성과 내구성을 바탕으로, 메시지가 안전하게 전달되고 처리될 수 있도록 해준다.
- AWS의 높은 가용성과 내구성을 바탕으로, 메시지가 안전하게 전달되고 처리될 수 있도록 해준다.
- 다중 구독자
- 하나의 메시지를 여러 구독자에게 동시에 전달할 수 있어서, 하나의 이벤트를 여러 시스템이나 사용자에게 알릴 때 유용하다.
- 하나의 메시지를 여러 구독자에게 동시에 전달할 수 있어서, 하나의 이벤트를 여러 시스템이나 사용자에게 알릴 때 유용하다.
- 간편한 관리와 사용
- AWS 콘솔이나 SDK를 통해 쉽게 설정하고 사용할 수 있어서, 복잡한 인프라를 직접 관리할 필요가 없다.
- AWS 콘솔이나 SDK를 통해 쉽게 설정하고 사용할 수 있어서, 복잡한 인프라를 직접 관리할 필요가 없다.
1-3. SNS 사용 예시
예를 들어 사용자가 주문을 하면 이 정보를 SNS 주제에 발행하고, 이를 구독하는 여러 시스템(재고 관리, 결제 처리, 이메일 알림 서비스 등)이 해당 메시지를 받아 각자의 역할에 맞게 처리할 수 있다.
이렇게 하면 각 시스템이 서로 독립적으로 작동하면서도 효율적으로 협업할 수 있게 된다.
- 다이어그램을 통한 설명
- 이 다이어그램은 다음과 같은 흐름을 보여준다.
- 사용자가 주문을 한다.
- 주문 정보가 AWS SNS 주제에 발행된다.
- 발행된 메시지가 여러 시스템에 전달된다.
- 재고 관리 시스템 : 재고를 확인하고 업데이트
- 결제 처리 시스템 : 사용자의 결제를 처리
- 이메일 알림 서비스: 주문 확인 이메일을 사용자에게 발송
이렇게 SNS를 통해 하나의 이벤트가 여러 시스템에 동시에 알려지고, 각 시스템은 독립적으로 해당 이벤트를 처리할 수 있다.
이제 설명은 여기까지 하고 SNS를 직접 생성해 보자
2. SNS 주제(Topic) 생성하기
2-1. SNS 찾기
- AWS페이지 좌측 상단의 검색창에 SNS(Simple Notification Service)를 검색한다.
2-2. 주제 생성하기
- 아래와 같은 페이지가 나올 텐데 여기서 하단의 박스 안에 있는 "주제 생성"에 "주제 이름"을 적고 “다음 단계" 버튼을 클릭한다.
2-3. 주제 생성 - 유형선택
- 아래와 같은 페이지로 이동할 텐데 여기서 유형은 “표준”을 선택한다. (default가 표준이다.)
- 유형 설정 하단의 "이름"과 "표시이름"도 작성한다. (이름은 적어야 하지만 표시이름은 선택사항이라 SMS를 사용하려면 적어주면 된다.)
2-4. 유형선택 - 선택사항 설정하기
- 아래로 스크롤하면 여러 가지 "선택사항"들이 나올 텐데 나는 전부 default로 두고 하단의 “주제 생성” 버튼을 눌렀다.
2-5. 주제 생성 완료
- SNS 주제(Topic) 생성에 성공하면 아래와 같은 팝업창이 나온다.
이렇게 SNS의 주제를 만드는 데 성공했다.
다음 포스트에서는 SNS와 연계해서 사용할 SQS를 설정하도록 하자
2023.11.06 - [AWS] - AWS Message-Driven 실전 2편: SQS 구축과 테스트 검증
반응형
'AWS > SNS, SQS' 카테고리의 다른 글
AWS SQS에서 오류 메시지 처리하기: 수동 삭제로 해결하는 방법 (2) | 2023.11.24 |
---|---|
AWS Message-Driven 4편: SNS와 SQS를 SpringBoot에 연동하기 (2) | 2023.11.07 |
AWS Message-Driven 완성 3편: SNS와 SQS 연동 및 테스트 전략 (2) | 2023.11.06 |
AWS Message-Driven 실전 2편: SQS 구축과 테스트 검증 (0) | 2023.11.06 |