ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Amazon MSK란?
    AWS 2023. 7. 27. 00:01

    Amazon MSK란?

    MSK는 Managed Streaming for Apache Kafka의 약자로 AWS에서 제공하는 완전 관리형 서비스로, 실시간 데이터 스트리밍을 위해 Apache Kafka를 사용하는 애플리케이션을 쉽게 빌드하고 실행할 수 있도록 지원합니다.

    Apache Kafka는 높은 처리량, 내결함성, 확장성으로 잘 알려진 오픈 소스 분산 이벤트 스트리밍 플랫폼입니다.

     

    기본 인프라 관리 작업을 처리하여 클러스터의 설정, 관리 및 운영을 간소화하여 개발자가 애플리케이션 구축과 데이터 처리에 더 집중할 수 있도록 해줍니다.

     

    Apache Kafka clusters 직접 구성해서 사용하는 것에 비해 제공되는 이점

    • 하드웨어 구성
    • 소프트웨어 설치 및 구성
    • 유지 관리 작업
    • 모니터링
    • 확장성
    • 고가용성
    • 보안 및 Compliance 준수
    • AWS 시스템들과 통합

     

    Amazon MSK의 특징

    내부적으로 파티션으로 불리는 분산 Queue로 구성되어 있다.

    해쉬 함수를 이용하여 파티션키를 기준으로 여러 파티션으로 나누어준다.

    특정 Consumer가 데이터를 읽었다고 해서 삭제하지 않고 다음에 읽어갈 위치만 표시합니다.

    이후 리탠션 기간에 맞추어 데이터를 삭제합니다.

     

    Amazon MSK 구성 예시

    https://www.youtube.com/watch?v=5WaIgJwYpS8

    Amazon MSK 클러스터를 만들기 위해서는 VPC가 있어야 하고 VPC 내에 서브넷을 설정해야 합니다.

    Amazon MSK 클러스터의 VPC는 클러스터를 생성한 후에는 변경할 수 없는 주의사항이 있습니다.

     

     

    MSK 모니터링

    어떤 메트릭을 보면 좋을지 판단하기 위해서는 서비스의 구조를 알아야 합니다.

    운영 시에 문제가 생길만한 지점에 대한 메트릭을 주요하게 살펴보는 것이 좋습니다.

    • 브로커와 주키퍼가 잘 실행되고 있는지 확인 필요
    • 브로커의 현재 리더가 누구인지
    • 프로듀서의 속도와 컨슈머의 속도가 비슷한지(RequestQueue, ResponseQueue)
    • broker는 EC2 인스턴스여서 데이터가 들어갈 때 패킷드롭은 없는지 네트워크 모니터링
    • 디스크가 가득차진 않았는지
    • 브로커의 토픽수를 확인하여 max openfile 개수 값에 도달하면 장애발생

     

    Kinesis Data Stream과 MSK의 차이점

    간단하게는 Kinesis Data Stream이 MSK보다 추상화 레벨이 높은 편이라고 이해하면 됩니다.

    운영관점에서 MSK는 cluster의 개수, brocker의 수, topic의 수, partitions의 수 들을 정의해야 합니다.

    하지만 Kinesis는 streams의 개수와 shards의 수만 정의하면 됩니다.

     

    MSK의 경우 kafka와 동일하기 때문에 파티션 수의 증가는 가능하지만 감소는 불가능합니다.

    Kinesis는 shards의 수를 증가시키고 감소시킬수도 있습니다.

     

     

    참고자료

    https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/what-is-msk.html

    https://www.youtube.com/watch?v=5WaIgJwYpS8 

    https://www.youtube.com/watch?v=7ppCJy2pF7U 

     

    'AWS' 카테고리의 다른 글

    [AWS] ECR이란?  (0) 2023.10.10
    [AWS] SQS 가시성제한 0초 설정  (0) 2023.08.02
    [AWS] Lambda Cold Start 해결방법  (0) 2023.07.05
    [AWS] Lambda + API Gateway  (0) 2023.07.04
    [AWS] Lambda란?  (0) 2023.07.03

    댓글

Designed by Tistory.