23-05-08 Presentation
카테고리: Presentation
태그: Amazon Kinesis Amazon SQS Apache Kafka 메시지 브로커 메시지 서비스 마이크로 서비스
[Q1.] 메시지 서비스로는 대표적으로 Apache Kafka와 Amazon SQS, Amazon Kinesis가 있습니다. 각각은 어떤 차이가 있나요?
-
Apache Kafka
- 공식 문서 : https://kafka.apache.org/documentation/#introduction
pub-sub 메시징 시스템으로, 높은 처리량과 지연 시간이 짧은 메시지 전달에 최적화되어 있습니다. 메시지는 토픽으로 구분되며, 프로듀서는 토픽에 메시지를 발행하고, 컨슈머는 토픽에서 메시지를 소비합니다. 이 때, 컨슈머 그룹을 이용해 메시지를 여러 대의 컨슈머에게 분배하거나, 동일한 메시지를 여러 그룹에게 분배할 수 있습니다.
-
Amazon SQS
- 공식 문서 : https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html
큐 메시징 시스템으로, 더 간단한 구성과 더 낮은 비용으로 제공되며, 메시지를 보내는 측과 받는 측이 모두 SQS에 대한 액세스 권한을 가집니다. 이는 AWS 계정 내에서 사용될 때, 보안성과 안정성을 높이는 데 도움이 됩니다.
-
Amazon Kinesis
- 공식 문서 : https://aws.amazon.com/ko/kinesis/
스트리밍 데이터 처리와 관련된 기능을 제공합니다. 데이터 스트림을 수집하고 저장하며, 이를 처리해 동적으로 업데이트할 수 있습니다. 또한, 다른 AWS 서비스와 쉽게 통합되며, 실시간 데이터 처리 및 분석에 적합합니다.
[Q2.] 웹 서비스에서 메시지 브로커(메시지 큐)를 이용해 비동기적인 방법이 활용되는 사례를 하나 이상 찾아보고, 어떻게 활용되는지 설명하세요.
대규모 웹 애플리케이션에서는 주로 메시지 브로커를 이용해 비동기적인 방식으로 작업을 처리합니다. 예를 들어, 주문 처리 시스템에서 주문이 들어오면 메시지 브로커에 주문 데이터를 저장하고, 이후 주문 처리 작업을 비동기적으로 처리하는 경우가 있습니다. 이를 통해 주문 처리 시스템의 확장성을 높일 수 있으며, 주문 처리 작업의 실패 시 재시도할 수 있는 기능도 제공됩니다.
메시지 브로커를 이용한 비동기 처리 방식은 요청에 대한 응답 대기 시간을 줄이고, 서비스의 처리 속도를 빠르게 만듭니다. 또한, 브로커가 데이터를 처리하므로, 서비스에서 데이터 처리에 집중할 필요가 없어지며, 데이터 처리와 비즈니스 로직을 분리해 유지보수 및 개발이 용이해집니다. 이러한 이점들로 인해, 비동기 처리 방식은 요구 사항이 높은 시스템에서 매우 유용하게 활용되고 있습니다.
댓글남기기