https://stackshare.io/stackups/amazon-sqs-vs-kafka
https://blog.iron.io/amazon-sqs-vs-apache-kafka/
카프카
- 처리 속도가 빠름
- 분산 처리에 좋음 -> 대용량 트래픽에 대응
- 결함이 적음
- 오픈소스이기에 레퍼런스 많음
- 분산, 내결함성, 높은 처리량을 지원하는 pus-sub 메시징 시스템
- distributed, partitioned, replicated된 커밋 로그 서비스
- 구독 방식의 비동기식 구성
- 확장 가능한 솔루션 - Kafka는 분할된 로그 모델을 사용하여 많은 양의 데이터를 여러 서버에 분산할 수 있습니다. 따라서 단일 서버의 용량 이상으로 시스템을 확장할 수 있습니다.
- 빠른 스트림 - Kafka의 도움으로 데이터 스트림을 분리하여 대기 시간을 줄여 더 빠른 처리와 더 안정적인 결과로 이어집니다.
- 내구성 파티션 - 파티션이 여러 서버에 분산 및 복제되기 때문에 Kafka는 내구성이 있습니다. 모든 데이터는 디스크에 기록되어 서버 중단 및 장애로부터 보호하고 데이터의 내결함성을 개선합니다.
단점
- 완전한 모니터링 도구 세트가 없고 서투른 동작이 없는 많은 단점이 있다.
- 메시지 편집 문제, 기타 제한 사항이 있다.
SQS
- 이름 그대로 사용하기 쉬움
- 신뢰성이 좋음
- 메시지 손실이나 다른 서비스를 별도로 요구하지 않고, 모든 처리량 수준에서 모든 크기의 데이터 전송 가능
- 고 가용성 메시지 클러스터를 운영하고 스케일링하는 관리 부담이 적음
- 사용하는만큼 가격 지불
- (개발자 커리어에 도움이 되지 않음..)
- 오버헤드를 줄임 - 이미 Amazon AWS를 사용하여 운영 및 운영을 지원하는 인프라를 관리하고 있다면 SQS는 선불 비용이 없고 타사 소프트웨어를 구입하거나 구성할 필요가 없는 고가용성 서비스를 약속합니다. SQS 대기열은 동적으로 생성되며 필요에 따라 자동으로 확장 또는 축소됩니다.
- 안정적인 배송 - 하나의 서비스를 사용할 수 없어 메시지 손실이나 프로세스 중단에 대한 두려움 없이 SQS를 사용하여 원하는 양의 데이터를 전송할 수 있습니다. SQS는 응용 프로그램의 구성 요소를 분리하여 서로 독립적으로 실행 및 실패할 수 있도록 하여 시스템의 전반적인 내결함성을 향상시킵니다.
- 민감한 데이터를 보호 - 서버 측 암호화를 통해 중요한 데이터를 안전하게 교환할 수 있습니다. SQS는 또한 AWS의 Key Management Service와 통합되므로 암호화 키를 쉽고 중앙에서 관리할 수 있습니다.
- 탄력 있고 비용 효율적 - AWS 클라우드를 활용하여 온디맨드로 확장하여 시스템을 보다 탄력적이고 비용 효율적으로 만드십시오. Amazon에서 자동으로 처리하므로 리소스를 미리 계획하거나 프로비저닝할 필요가 없습니다.
단점
- Lambda 함수를 트리거하는 메시지 기능과 같은 많은 기본 기능이 부족합니다.
- MQ 성능에 대한 제어가 감소하고 메시지 자체에 대한 제어가 부족하면 SQS를 사용할 때 방해가 될 수 있습니다.
'Computer Science > 개발상식' 카테고리의 다른 글
Gradle이란? (0) | 2022.11.03 |
---|---|
문자 인코딩이란? (0) | 2022.08.11 |
kafka 아는 척 하기(정리 실패) (0) | 2022.05.11 |
CQRS 아는 척 하기 (0) | 2022.04.14 |
NGINX란 무엇인가? (0) | 2022.03.24 |