RabbitMQ용 Amazon MQ의 브로커 설정 및 연결 관리 모범 사례 - Amazon MQ

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

RabbitMQ용 Amazon MQ의 브로커 설정 및 연결 관리 모범 사례

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

중요

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

1단계: 클러스터 배포 사용

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

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

클러스터 배포는 프로덕션 환경에 필수적이며 Amazon MQ 서비스 수준 계약에서 지원됩니다.

자세한 내용은 RabbitMQ용 Amazon MQ의 클러스터 배포를 참조하세요.

2단계: 올바른 브로커 인스턴스 유형 선택

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

올바른 인스턴스 유형을 선택하는 방법에 대한 자세한 내용은 RabbitMQ용 Amazon MQ의 크기 조정 지침을 참조하세요.

3단계: 쿼럼 대기열 사용

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

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

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

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

4단계: 여러 채널 사용

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