이 문서에서는 Pub/Sub 라이트 애플리케이션과 데이터를 Pub/Sub 라이트에서 Pub/Sub로 마이그레이션하는 방법을 설명합니다.
Pub/Sub로 마이그레이션하려면 Pub/Sub 라이트 내보내기 구독 기능을 사용합니다. 내보내기 구독 기능은 내보내기 구독이라는 유형의 구독을 사용하여 Pub/Sub 라이트의 메시지를 Pub/Sub 메시지로 변환합니다.
Pub/Sub 라이트와 Pub/Sub의 차이점
Pub/Sub 및 Pub/Sub 라이트는 모두 수평 확장이 가능한 메시지 서비스이지만 각 서비스의 작동 방식에는 중요한 차이점이 있습니다. 이러한 차이점을 자세히 알아보려면 Pub/Sub 또는 Pub/Sub 라이트 선택을 참조하세요.
다음 섹션에서는 서비스 간에 마이그레이션할 때 관련된 각 서비스 간의 주요 차이점을 간략히 설명합니다. 여기에는 다음과 같은 고려사항이 포함됩니다.
- 데이터 지역성 및 복제
- 전송 모드
- 동시 로드 및 순서 지정
- 재생 및 삭제
- 용량 관리 및 가격 책정
데이터 지역성 및 복제
Pub/Sub 라이트. 리전 Pub/Sub 라이트 주제는 데이터를 동일한 리전 내 보조 영역에 복제합니다. 영역 Pub/Sub 라이트 주제는 복제 없이 단일 영역에 데이터를 저장합니다.
Pub/Sub. Pub/Sub는 리전 내 영역 3개에 데이터를 복제합니다.
주요 마이그레이션 포인트
각 서비스에서 데이터를 다르게 복제하는 방식을 이해하는 것이 중요합니다.
Pub/Sub를 사용할 때는 Pub/Sub 메시지 스토리지 정책을 사용하여 데이터가 원하는 리전에 저장되도록 할 수 있습니다.
Pub/Sub는 메시지가 저장되는 특정 영역을 제어할 수 없습니다. 대신 메시지 저장소 정책에 따라 항상 리전 내 세 영역에 데이터를 복제합니다.
메시지 스토리지 정책을 지정하지 않으면 Pub/Sub는 리소스 위치 제한 조직 정책에 따라 메시지가 저장되는 위치를 자동으로 결정합니다. 조직 정책을 명시적으로 설정하지 않으면 Pub/Sub는 모든 리전을 허용하고 메시지를 저장할 리전을 자동으로 선택합니다.
전송 모드
Pub/Sub 라이트. 메시지 전송의 경우 Pub/Sub 라이트는 StreamingPull RPC API만 지원합니다.
Pub/Sub. 메시지 전송의 경우 Pub/Sub는 StreamingPull 메시지 전송을 비롯한 여러 메시지 전송 옵션을 제공합니다.
주요 마이그레이션 포인트
Pub/Sub에서 Pub/Sub 라이트 동작(예: 짧은 지연 시간 및 높은 효율성)을 복제하려면 StreamingPull API를 사용하여 소비자 클라이언트를 구현하세요. 또는 푸시 전송과 같은 사용 가능한 다른 전송 모드를 사용하여 Pub/Sub 구독을 구현할 수 있습니다.
동시 로드 및 순서 지정
Pub/Sub 라이트. Pub/Sub 라이트는 파티션당 동시 로드를 지원합니다.
Pub/Sub. Pub/Sub는 메시지당 동시 로드를 지원합니다.
주요 마이그레이션 포인트
Pub/Sub는 파티션 기반 솔루션이 아닙니다. Pub/Sub 메시지는 동시에 처리될 수도 있으므로 메시지 순서가 보장되지 않습니다. 애플리케이션에 메시지 순서 지정이 필요한 경우 Pub/Sub 순서 지정 키를 사용하세요.
Pub/Sub 라이트에서 내보내기 구독을 사용하면 Pub/Sub 라이트 키가 Pub/Sub 메시지의 순서 키로 사용됩니다. 이렇게 하면 메시지가 순서대로 계속 전송됩니다.
Pub/Sub 메시지와의 호환성을 보장하려면 Pub/Sub 라이트 키에 UTF-8로 인코딩된 문자만 포함되어 있는지 확인합니다.
- Pub/Sub 라이트 키는 바이트로 저장됩니다.
- Pub/Sub 순서 키는 문자열로 저장됩니다.
Pub/Sub 순서 키의 최대 게시자 처리량은 1MBps입니다. Pub/Sub의 메시지 순서는 단일 리전 내에서만 보장됩니다. Pub/Sub에서 순서가 지정된 메시지를 수신하려면 구독 설정에서 메시지 순서를 명시적으로 사용 설정해야 합니다.
재생 및 삭제
주요 마이그레이션 포인트
탐색 기능을 사용 설정하려면 Pub/Sub에서 주제와 구독 모두에서 설정을 명시적으로 구성해야 합니다.
- 주제: 메시지 보관 기간을 구성해야 합니다.
- 구독: 확인된 메시지 보관을 구성해야 합니다.
Pub/Sub 라이트와 정확히 동일한 기능이 필요하거나 마이그레이션에 메시지 재생 또는 삭제가 필요한 경우 이러한 설정을 구성하는 것이 중요합니다. 구체적인 요구사항과 관계없이 메시지를 탐색하고 다시 처리하는 기능은 단계별 마이그레이션 중에 유용한 보호 수단입니다. 롤백을 사용 설정하고 예기치 않은 문제가 발생할 경우 데이터 손실을 최소화합니다.
용량 관리 및 가격 책정
Pub/Sub 라이트. Pub/Sub 라이트 용량은 Pub/Sub 라이트 예약을 사용하여 스토리지 및 처리량 용량을 구성하여 수동으로 프로비저닝됩니다.
Pub/Sub. Pub/Sub는 완전 관리형이며 자동으로 확장됩니다.
주요 마이그레이션 포인트
Pub/Sub로 전환할 때 할당량 재정의를 설정하거나 Pub/Sub 리소스의 할당량 변경을 요청하여 용량과 가격을 관리할 수 있습니다.
Pub/Sub 용량을 관리하는 주된 이유는 엄격한 비용 요구사항을 준수하기 위해서입니다. 엄격한 비용 제한이 없는 경우 Pub/Sub를 사용하면 별도의 개입 없이 리소스를 효율적으로 관리할 수 있습니다. Pub/Sub 요금은 사용량에 따라 청구됩니다. 자세한 내용은 Pub/Sub 가격 책정을 참조하세요.
마이그레이션 계획
Pub/Sub 라이트에서 Pub/Sub로 마이그레이션하려면 Pub/Sub 라이트 내보내기 구독 기능을 사용하면 됩니다. 내보내기 구독을 사용하면 Pub/Sub 라이트 애플리케이션을 단계별로 마이그레이션할 수 있습니다. 단계적 접근 방식을 채택하면 마이그레이션을 반복적으로 업데이트, 테스트, 모니터링하여 오류 및 다운타임 위험을 최소화할 수 있습니다.
시작하기 전에
- 기존 Pub/Sub 라이트 애플리케이션을 평가하고 필요한 상응하는 Pub/Sub 기능을 매핑합니다.
- Pub/Sub가 모든 기능 및 비즈니스 요구사항을 충족하는지 확인합니다.
단계별 마이그레이션 워크플로
다음 단계에서는 내보내기 구독 마이그레이션 워크플로를 간략히 설명합니다.
- 관련 Pub/Sub 주제와 주제에 대한 구독을 만듭니다.
- Pub/Sub 라이트 내보내기 구독을 만듭니다.
- Pub/Sub 및 Pub/Sub 라이트 구독을 모두 구독합니다.
- Pub/Sub 라이트 주제 대신 Pub/Sub 주제에 메시지를 전송하도록 게시자를 점진적으로 업데이트합니다.
- 마이그레이션된 워크로드가 의도한 대로 작동하는지 확인합니다.
- Pub/Sub 라이트 게시자 및 구독자를 사용 중지합니다.
마이그레이션 단계
다음 섹션에서는 단계별 마이그레이션 워크플로의 각 단계에 대해 자세히 설명합니다.
Pub/Sub 주제 및 구독 만들기
상응하는 Pub/Sub 주제와 구독을 만듭니다. 이 단계에서는 메시지 보관, 메시지 확인, 메시지 스토리지 정책과 같은 필수 주제 및 구독 설정을 구성합니다.
필요한 경우 과도한 사용과 예상치 못한 청구를 방지하기 위해 할당량을 설정합니다. 가장 중요한 것은 Pub/Sub로 원활하게 마이그레이션되지 않는 메시지를 캡처할 수 있도록 데드 레터 Pub/Sub 라이트 주제를 설정하는 것이 좋습니다. 이를 통해 오류를 해결하고 내보내기 실패의 근본 원인을 파악하고 실패한 메시지를 올바른 주제에 다시 전송하여 데이터 손실을 방지할 수 있습니다.
Pub/Sub 라이트 내보내기 구독 만들기
모든 주제에 대해 Pub/Sub 라이트 내보내기 구독을 만들어 Pub/Sub 라이트 주제에서 해당하는 Pub/Sub 주제로 메시지를 내보냅니다. 각 내보내기 구독의 처리량 용량을 개별적으로 설정하는 대신 Pub/Sub 라이트 예약을 사용하여 모든 내보내기 구독의 처리량을 일괄적으로 효율적으로 관리하세요. 이 단계가 끝나면 내보내기 구독이 생성된 시점부터 Pub/Sub 라이트 주제와 Pub/Sub 주제 모두 동일한 메시지를 수신합니다.
그런 다음 Pub/Sub 주제를 사용하여 격리된 단계에서 구독자 클라이언트를 점진적으로 개발하고 테스트할 수 있습니다. 이 접근 방식을 사용하면 기존 Pub/Sub 라이트 애플리케이션의 서비스 중단을 최소화할 수 있습니다.
Pub/Sub 라이트 및 Pub/Sub 주제에 대한 이중 구독
개발 환경에서 적절한 Pub/Sub 클라이언트 라이브러리를 사용하여 Pub/Sub 주제에서 직접 메시지를 읽도록 구독자 클라이언트를 업데이트합니다. Pub/Sub 라이트와 달리 Pub/Sub는 여러 Pub/Sub 라이트와 달리 Pub/Sub는 여러 전송 모드(풀 및 푸시)를 제공하므로 애플리케이션 요구사항에 가장 적합한 모드를 선택하세요.
Pub/Sub 라이트와 동일한 동작을 에뮬레이션하려면 StreamingPull API로 Pub/Sub 인스턴스를 구성합니다.
소비자 애플리케이션이 여러 개인 시스템에서는 각 애플리케이션을 하나씩 점진적으로 마이그레이션합니다. 각 구독자 애플리케이션의 경우 Pub/Sub 라이트 구독자와 새 Pub/Sub 구독자를 동시에 실행하여 새 구독자의 동작과 성능을 확인할 수 있습니다. 두 구독자를 면밀히 모니터링하여 메시지 전송 일관성, 오류 처리, 전반적인 기능을 보장합니다. 모든 구독자가 성공적으로 마이그레이션되고 유효성 검사를 마친 후 이전 Pub/Sub 라이트 구독자 클라이언트를 사용 중단합니다.
게시자 업데이트
모든 구독자가 Pub/Sub에서 메시지를 성공적으로 소비한 후에는 Pub/Sub 주제에 메시지를 직접 전송하도록 게시자를 점진적으로 업데이트할 수 있습니다. 이렇게 하려면 Pub/Sub 클라이언트 라이브러리를 사용하도록 게시자를 업데이트합니다. 이렇게 하면 트래픽을 Pub/Sub 라이트에서 Pub/Sub로 점진적으로 전환할 수 있습니다.
Pub/Sub 라이트 사용 중지
모든 구독자와 게시자를 Pub/Sub로 성공적으로 마이그레이션한 후 Pub/Sub 라이트 리소스를 종료할 수 있습니다. 이렇게 하면 사용하지 않는 인프라에 대한 불필요한 비용이 발생하지 않습니다.