브로커 기본값 - Amazon MQ

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

브로커 기본값

RabbitMQ용 Amazon MQ 브로커를 생성할 때 Amazon MQ는 브로커 성능을 최적화하기 위해 기본 집합의 브로커 정책 및 vhost 제한을 적용합니다. Amazon MQ는 vhost 제한을 기본(/) vhost에만 적용합니다. Amazon MQ는 새로 생성된 vhost에 대해 기본 정책을 적용하지 않습니다. 새 브로커와 기존 브로커 모두에 대해 이러한 기본값을 유지하는 것이 좋습니다. 하지만 언제든 이러한 기본값을 수정, 재정의 또는 삭제할 수 있습니다.

Amazon MQ는 브로커를 생성할 때 선택하는 인스턴스 유형 및 브로커 배포 모드에 따라 정책과 제한을 생성합니다. 기본 정책은 다음과 같이 배포 모드에 따라 이름이 지정됩니다.

  • 단일 인스턴스AWS-DEFAULT-POLICY-SINGLE-INSTANCE

  • 클러스터 배포AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ

단일 인스턴스 브로커의 경우 Amazon MQ는 정책 우선 순위 값을 0으로 설정합니다. 기본 우선 순위 값을 재정의하려면 높은 우선 순위 값으로 사용자 지정 정책을 직접 생성할 수 있습니다. 클러스터 배포의 경우 Amazon MQ는 브로커 기본값의 우선 순위 값을 1로 설정합니다. 클러스터의 고유한 사용자 지정 정책을 생성하려면 1보다 큰 우선 순위 값을 할당합니다.

참고

클러스터 배포에서 ha-modeha-sync-mode 브로커 정책은 클래식 미러링 및 고가용성(HA)에 필요합니다.

기본 AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ 정책을 삭제하면 Amazon MQ는 우선 순위 값이 0ha-all-AWS-OWNED-DO-NOT-DELETE 정책을 사용합니다. 그러면 필수 ha-modeha-sync-mode 정책이 계속 적용됩니다. 고유한 사용자 지정 정책을 생성하는 경우 Amazon MQ는 정책 정의에 ha-modeha-sync-mode를 자동으로 추가합니다.

정책 및 제한 설명

다음 목록에서는 Amazon MQ가 새로 생성되는 브로커에 적용하는 기본 정책 및 제한에 대해 설명합니다. max-length , max-queuesmax-connections의 값은 브로커의 인스턴스 유형 및 배포 모드에 따라 다릅니다. 해당 값은 권장 기본값 단원에 나와 있습니다.

  • queue-mode: lazy(정책) - 지연 대기열을 활성화합니다. 기본적으로 대기열은 메시지의 인 메모리 캐시를 유지하여 브로커가 메시지를 소비자에게 가능한 한 빨리 전달할 수 있도록 합니다. 이로 인해 브로커의 메모리가 부족해지고 고용량 메모리 경보가 발생할 수 있습니다. 지연 대기열은 가능한 쉽게 메시지를 디스크로 이동하려고 합니다. 따라서 정상 작동 조건에서 메모리에 유지되는 메시지 수가 줄어듭니다. 지연 대기열을 사용하면 RabbitMQ용 Amazon MQ에서 더 큰 메시징 로드와 더 긴 대기열을 지원할 수 있습니다. 특정 사용 사례에서는 지연 대기열을 사용하는 브로커의 성능이 약간 느려질 수 있습니다. 이는 인 메모리 캐시에서 메시지를 전달하는 것이 아니라 메시지가 디스크에서 브로커로 이동되기 때문입니다.

    배포 모드

    단일 인스턴스, 클러스터

  • max-length: number-of-messages(정책) - 대기열의 메시지 수에 대한 제한을 설정합니다. 클러스터 배포에서 이 제한은 브로커 재부팅과 같은 경우에나 유지 관리 기간 이후에 대기열 동기화 일시 중지를 방지합니다.

    배포 모드

    클러스터

  • overflow: reject-publish(정책) - max-length 정책을 사용하는 대기열에서 대기열의 메시지 수가 max-length 값에 도달한 후 새 메시지를 거부하도록 합니다. 대기열이 오버플로 상태이더라도 메시지가 손실되지 않도록 하가 위해 브로커에 메시지를 게시하는 클라이언트 애플리케이션은 게시자 확인을 구현해야 합니다. 게시자 확인을 구현하는 방법에 대한 자세한 내용은 RabbitMQ 웹 사이트에서 게시자 확인을 참조하세요.

    배포 모드

    클러스터

  • max-queues: number-of-queues-per-vhost(vhost 제한) - 브로커의 대기열 수에 대한 제한을 설정합니다. max-length 정책 정의와 마찬가지로 클러스터 배포에서 대기열 수를 제한하면 브로커 재부팅이나 유지 관리 기간 이후에 대기열 동기화 일시 중지가 방지됩니다. 대기열을 제한하면 대기열을 유지 관리하는 데 과도하게 사용되는 것도 방지할 수 CPU 있습니다.

    배포 모드

    단일 인스턴스, 클러스터

  • max-connections: number-of-connections-per-vhost(vhost 제한) - 브로커에 대한 클라이언트 연결 수의 제한을 설정합니다. 권장 값에 따라 연결 수를 제한하면 과도한 브로커 메모리 사용으로 브로커에서 고용량 메모리 경보가 발생하고 작동이 일시 중지될 수 있는 문제가 방지됩니다.

    배포 모드

    단일 인스턴스, 클러스터

권장 기본값

참고

max-lengthmax-queue 기본 제한은 평균 메시지 크기 5kB를 기준으로 테스트 및 평가됩니다. 메시지가 5kB보다 훨씬 큰 경우 max-lengthmax-queue 제한을 조정하고 줄여야 합니다.

다음 표에는 새로 생성된 브로커의 기본 제한 값이 나와 있습니다. Amazon MQ는 브로커의 인스턴스 유형 및 배포 모드에 따라 이러한 값을 적용합니다.

인스턴스 유형 Deployment mode(배포 모드) max-length max-queues max-connections
t3.micro 단일 인스턴스 N/A 500 500
m5.large 단일 인스턴스 N/A 20,000건 4,000
클러스터 8,000,000 4,000 15,000
m5.xlarge 단일 인스턴스 N/A 30,000개 8,000
클러스터 9백만 5,000 20,000건
m5.2xlarge 단일 인스턴스 N/A 60,000 15,000
클러스터 10,000,000 6,000 40,000
m5.4xlarge 단일 인스턴스 N/A 15만 30,000개
클러스터 12,000,000 10,000개 100,000건