본문 바로가기
Computer Science/개발상식

Apache Kafka vs Amazon SQS

by 밍상 2022. 5. 27.

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