

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

# RabbitMQ용 Amazon MQ의 브로커 설정 및 연결 관리 모범 사례
<a name="best-practices-broker-setup"></a>

 브로커 설정 및 연결 관리는 브로커 메시지 처리량, 리소스 사용률 및 프로덕션 워크로드 처리 기능 문제를 방지하는 첫 번째 단계입니다. [RabbitMQ용 Amazon MQ 브로커를 생성하고 구성](getting-started-rabbitmq.md#create-rabbitmq-broker)할 때, 브로커의 성능을 극대화하기 위해 적절한 인스턴스 유형을 선택하고, 연결을 효율적으로 관리하고, 메시지 미리 가져오기를 구성하는 다음 모범 사례를 완료하세요.

**중요**  
RabbitMQ용 Amazon MQ에서는 사용자 이름으로 "guest"를 지원하지 않으므로 새 브로커를 생성하면 기본 게스트 계정이 삭제됩니다. Amazon MQ는 또한 고객이 생성한 "guest"라는 계정도 주기적으로 삭제합니다.

## 1단계: 클러스터 배포 사용
<a name="use-cluster-deployments-for-high-availability"></a>

 프로덕션 워크로드의 경우 고가용성과 메시지 복원력을 보장하기 위해 단일 인스턴스 브로커 대신 클러스터 배포를 사용하는 것이 좋습니다. 클러스터 배포는 단일 장애 지점을 제거하고 더 나은 내결함성을 제공합니다.

 클러스터 배포는 3개의 가용 영역에 분산된 3개의 RabbitMQ 브로커 노드로 구성되어, 자동 장애 조치를 제공하고 가용 영역 하나가 완전히 사용할 수 없게 되더라도 작업이 계속되도록 합니다. Amazon MQ는 모든 노드에 메시지를 자동으로 복제하여 노드 장애 또는 유지 관리 중에 가용성을 보장합니다.

 클러스터 배포는 프로덕션 환경에 필수적이며 [Amazon MQ 서비스 수준 계약](https://aws.amazon.com/amazon-mq/sla/)에서 지원됩니다.

 자세한 내용은 [RabbitMQ용 Amazon MQ의 클러스터 배포](rabbitmq-broker-architecture.md#rabbitmq-broker-architecture-cluster)를 참조하세요.

## 2단계: 올바른 브로커 인스턴스 유형 선택
<a name="choose-broker-instance-type"></a>

 브로커 인스턴스 유형의 메시지 처리량은 애플리케이션 사용 사례에 따라 다릅니다. `M7g.medium`은 애플리케이션 성능 테스트에만 사용해야 합니다. 프로덕션 환경에서 더 큰 인스턴스를 사용하기 전에 이 작은 인스턴스를 사용하면 애플리케이션 성능이 향상될 수 있습니다. 인스턴스 유형 `m7g.large` 이상에서는 고가용성 및 메시지 내구성을 위해 클러스터 배포를 사용할 수 있습니다. 더 큰 브로커 인스턴스 유형은 프로덕션 수준의 클라이언트 및 대기열, 높은 처리량, 메모리 내 메시지 및 중복 메시지를 처리할 수 있습니다.

 올바른 인스턴스 유형 선택에 대한 자세한 내용은 [RabbitMQ용 Amazon MQ의 크기 조정 지침](rabbitmq-sizing-guidelines.md)을 참조하세요.

## 3단계: 쿼럼 대기열 사용
<a name="use-quorum-queues"></a>

 클러스터 배포를 사용하는 쿼럼 대기열은 3.13 이상 RabbitMQ 브로커의 프로덕션 환경에서 복제된 대기열 유형에 대한 기본 선택 사항이어야 합니다. 쿼럼 대기열은 높은 안정성, 높은 처리량 및 안정적인 지연 시간을 제공하는 최신 복제 대기열 유형입니다.

 쿼럼 대기열은 Raft 합의 알고리즘을 사용하여 내결함성을 개선합니다. 리더 노드를 사용할 수 없게 되면 쿼럼 대기열은 과반수 투표로 새 리더를 자동으로 선출하므로 중단 없이 메시지 전송이 계속됩니다. 각 노드는 서로 다른 가용 영역에 있으므로 가용 영역 하나를 일시적으로 완전히 사용할 수 없게 되더라도 메시징 시스템은 계속 사용할 수 있습니다.

 쿼럼 대기열을 선언하려면 대기열을 생성할 때 `x-queue-type` 헤더를 `quorum`으로 설정합니다.

 마이그레이션 전략 및 모범 사례를 포함하여 쿼럼 대기열에 대한 자세한 내용은 [RabbitMQ용 Amazon MQ의 쿼럼 대기열](quorum-queues.md)을 참조하세요.

## 4단계: 다중 채널 사용
<a name="use-multiple-channels"></a>

 연결 이탈을 방지하려면 단일 연결을 통해 여러 채널을 사용하세요. 애플리케이션은 연결 대 채널 비율이 1:1이 되지 않도록 해야 합니다. 프로세스당 하나의 연결을 사용하고 스레드당 하나의 채널을 사용하는 것이 좋습니다. 채널 유출을 방지하기 위해 과도한 채널 사용을 피하세요.