본문 바로가기
WIKI 기술 지식 베이스

메시지 큐 전환 (Switch Message Queue)

원문 보기 위키 갱신

이 가이드에서는 기존 Milvus 배포 환경의 메시지 큐(MQ)를 Woodpecker와 다른 메시지 큐 사이에서 온라인 상태 그대로, 다운타임 없이 전환하는 방법을 설명해요.

이 기능은 릴리스 예정이며 변경될 수 있어요. 사용해 보거나 궁금한 점이 있으면 Milvus 지원팀에 문의해 주세요.

출처: Milvus 문서

본문

사전 요구 사항 (Prerequisites)

  • Switch MQ 기능은 Milvus 3.0 이상에서 사용할 수 있어요. 사용하기 전에 Milvus 인스턴스를 Milvus 3.0 이상으로 업그레이드해야 해요. 이전 버전에서는 사용할 수 없어요.
  • 인스턴스가 정상적으로 실행되고 있어야 해요.

범위 (Scope)

이 가이드는 Woodpecker와 다른 메시지 큐 사이의 전환만 다루어요. Pulsar와 Kafka 사이의 직접 전환은 범위에 포함되지 않아요.

일반적인 작업 흐름 (General workflow)

  • Milvus 인스턴스가 정상적으로 실행되는지 확인해요.
  • 소스 MQ 타입과 대상 MQ 타입을 확인해요.
  • mqType 값을 변경하지 않은 채 대상 MQ의 접근 설정을 Milvus 설정에 반영해요.
  • MixCoord에서 WAL alter API를 호출해 전환을 트리거해요.
  • 로그를 모니터링해 전환이 완료됐는지 확인해요.

전환 전에 대상 MQ에 현재 Milvus 인스턴스가 사용하는 토픽과 같은 이름의 토픽이 없는지 확인해야 해요. 특히 대상 MQ를 다른 Milvus 인스턴스가 사용한 적 있다면 더 중요해요. 토픽 이름이 충돌하면 예상치 못한 동작이 발생할 수 있어요.

지원 매트릭스 (Support matrix)

소스 MQ 대상 MQ 배포 방식 상태
RocksMQ Woodpecker (local/MinIO) Standalone (Docker Compose) Supported
Woodpecker (local/MinIO) RocksMQ Standalone (Docker Compose) Supported
Pulsar (builtin/external) Woodpecker (MinIO) Cluster (Helm / Operator) Supported
Woodpecker (MinIO) Pulsar (external) Cluster (Helm / Operator) Supported
Kafka (builtin/external) Woodpecker (MinIO) Cluster (Helm / Operator) Supported
Woodpecker (MinIO) Kafka (external) Cluster (Helm / Operator) Supported
Woodpecker MinIO Woodpecker local (또는 반대) any Not supported

MQ 타입을 반복해서 앞뒤로 전환하는 것은 피해야 해요. 반드시 전환해야 한다면 전환할 때마다 관련 데이터를 먼저 정리하세요. 잔여 데이터는 예상치 못한 동작을 일으킬 수 있어요.

더 알아보기 (Learn more)