본문 바로가기

sqs2

SQS 아키텍처 소비자가 ASG의 내부에서 EC2 인스턴스를 실행하고 SQS Queue에서 메시지를 폴링하는 사례이다. ASG는 일종의 지표에 따라 확장되어야 하는데 Queue의 길이를 지표로 사용할 수 있다. CloudWatch로 대기열의 길이를 얻을 수 있고 대기열의 길이가 특정 수준을 넘어가면 CloudWatch Alarm을 설정하여 ASG의 사이즈를 변경하는 아키텍처이다. 두번째는 비디오를 처리하는 애플리케이션이 있다고 해보자. 만약 프론트엔드 서버 밖에 없으면 프론트엔트가 처리까지 한 후 S3 버킷에 삽입해야한다. 이렇게 하면 시간이 오래 걸리고 웹사이트의 속도가 느려질 수 있다. 대신 SQS를 사용하여 애플리케이션을 분리(decouple) 하면 파일 처리 요청과 실제 파일 처리가 서로 다른 애플리케이션에서 발.. 2023. 3. 29.
AWS SQS ( Simple Queue Service) 여러 애플리케이션이 있을 때 각 애플리케이션이 서로 통신해야한다. 여기서 두 가지 패턴이 있다. 첫번째는 동기식 커뮤니케이션이다. 한 애플리케이션이 다른 애플리케이션에 통신한다. 예를 들어, 무언가 사기위한 서비스를 만들었다면 구매한 것을 배송하는 서비스에 통신해야한다. 구매 서비스와 배송 서비스를 통합하고 싶다. 이들은 직접 통신하므로 동기식이다. 두번째 방식은 비동기식 또는 이벤트 기반이다. 통신해야하는 대기열이 있다. 예를들어 구매 서비스가 무언가가 구매될 때마다 주문을 대기열에 올린다. 그럼 배송서비스는 대기열에서 주문을 읽는다. 예시에서 볼 수 있듯이 구매서비스와 배송서비스는 직접 통신하지않는다. 이 사이에 대기열이 있고 이를 통해 통신하기 때문이다. 만약 동기식 커뮤니케이션인 경우 문제가 발생.. 2023. 2. 28.