Pub/Sub 및 Pub/Sub Lite는 수평 확장이 가능한 관리형 메시지 서비스입니다. 이러한 서비스는 대규모 볼륨을 처리하고 대규모 스토리지 요구사항을 지원할 수 있습니다. Pub/Sub은 일반적으로 애플리케이션 통합 및 분석 사용 사례의 기본 솔루션입니다. 다양한 기능을 제공하며 완전 관리형입니다. Pub/Sub Lite는 메시지 처리량이 더 안정적이고, 워크로드가 파티션 기반 시스템의 이점을 누릴 수 있으며, 비용이 중요한 문제에 해당하는 애플리케이션에 권장됩니다.
Pub/Sub은 다양한 기능, 메시지별 동시 로드, 전역 라우팅, 자동 확장 리소스 용량을 제공합니다. 메시지 복제 측면에서 Pub/Sub은 동기 복제를 보장합니다.
Pub/Sub Lite는 파티션 기반 솔루션으로, 운영 워크로드, 글로벌 가용성, 일부 기능과 비용 간의 균형을 효율적으로 맞춥니다. Pub/Sub Lite를 사용하려면 리소스 용량을 수동으로 예약하고 관리해야 합니다. Pub/Sub Lite 내에서 영역별 또는 리전별 라이트 주제를 선택할 수 있습니다. 리전별 라이트 주제는 Pub/Sub 주제와 동일한 가용성 SLA를 제공합니다.
메시지 복제 측면에서 두 서비스 간의 안정성 차이에 유의하기 바랍니다. Pub/Sub은 동기식 데이터 복제를 지원하고 3개의 영역을 사용합니다. 리전별 라이트 주제는 보조 영역에 데이터를 복제합니다. 영역별 라이트 주제는 하나의 영역에서만 데이터를 복제합니다.
비즈니스 요구사항 체크리스트
다음 질문은 올바른 Pub/Sub 메시지 서비스를 선택하는 데 도움이 될 수 있습니다.
안정성, 최소한의 운영 비용, 쉬운 개발이 최우선 과제인가요? Pub/Sub를 사용하세요.
주제 용량 관리 측면에서 추가적인 운영 오버헤드를 감수하고, 영역 서비스에 내재된 가용성 위험을 부담한 채로 작업할 용의가 있으며, 저렴한 비용을 원하시나요? 영역별 라이트 주제를 사용하세요.
영역 장애에 대한 보호가 필요하고, 주제 용량 관리 측면에서 추가적인 운영 오버헤드를 감수할 용의가 있으며, 처리량당 최저 비용을 원하시나요? 리전 라이트 주제를 사용하세요.
Pub/Sub와 Pub/Sub Lite의 비용 차이에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.
기능 비교 표
특성 | Pub/Sub | Pub/Sub Lite |
---|---|---|
액세스 투명성 | 예 | 아니요 |
용량 | 자동 프로비저닝됨 | 사용하기 전에 프로비저닝 |
클라이언트 라이브러리 언어 | 자바, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP, ABAP | 자바, Python, Go |
프로젝트 간 구독 | 예 | 아니요 |
고객 관리 암호화 키 | 예 | 아니요 |
데드 레터 주제 | 예 | 아니요 |
1회만 전송 | 예 | 아니요 |
통합 | ||
메시지 필터링 | 메시지 속성의 경우 예 | 아니요 |
메시지 복제 | 예 | 아니요 |
메시지 라우팅 | 글로벌 | 영역 또는 리전 |
메시지 스키마 검증 | 예 | 아니요 |
단일 리전의 멀티 영역 | 아니요 | 단일 리전의 단일 영역 또는 이중 영역 |
주문된 전송 | 키별 순서 지정 | 파티션별 순서 지정 |
메시지 확인 추적 | 메시지당 | 파티션별 커서 |
가격 책정 | 사용한 만큼만 비용 지불 | 프로비저닝한 용량에 대한 비용 지불 |
REST 엔드포인트 | 예 | 아니요 |
리소스 네임스페이스 | 글로벌 | 영역 또는 리전 |
보관 기간 | 최대 31일 | 무제한 |
서비스 엔드포인트 | 전역 및 리전 | 리전 |
스토리지 | 무제한 | 무제한 |
구독 |
데이터 복제
Pub/Sub 주제는 데이터를 리전 내 영역 3개에 복제합니다. Pub/Sub 데이터 복제에 대한 자세한 내용은 주제의 데이터 복제를 참조하세요.
리전 Pub/Sub Lite 주제는 데이터를 한 리전 내 두 영역에 복제합니다. 영역 Pub/Sub Lite 주제는 데이터를 한 리전 내 단일 영역에 저장합니다. Pub/Sub Lite 데이터 복제에 대한 자세한 내용은 라이트 주제의 데이터 복제를 참조하세요.
메시지 라우팅
Pub/Sub 및 Pub/Sub Lite는 모든 리전 및 Google Cloud 외부에서도 게시 및 구독할 수 있습니다.
Pub/Sub는 메시지를 전역적으로 라우팅합니다. 모든 리전에서 호스팅되는 애플리케이션은 메시지를 단일 주제로 게시할 수 있습니다. 이 메시지는 조직 정책으로 허용되는 가장 가까운 리전에서 처리되고 소스와 독립적으로 구독자에게 전달됩니다.
Pub/Sub Lite는 리전 또는 영역 내에서 메시지를 라우팅합니다. 구독자는 주제가 있는 리전의 서비스 인스턴스에 연결해야 합니다. 따라서 게시자 및 구독자가 통신을 위해 동일한 리전에 대해 네트워크 연결을 유지해야 합니다. 게시자는 어디에서나 모든 주제에 데이터를 게시할 수 있지만 이를 위해서는 원격 리전에 대한 연결이 필요하여, 네트워크 지연 시간이 추가됩니다. 다른 위치의 주제로 게시된 데이터를 집계해야 하는 구독자는 메시지를 읽기 위해 모든 관련 로컬 서비스 인스턴스에 연결해야 합니다.
리소스 네임스페이스
Pub/Sub 주제 및 구독은 전역 리소스입니다. Pub/Sub 서비스는 주제 스토리지 정책으로 허용되는 모든 리전에 메시지를 저장할 수 있습니다. 또한 세부적인 결제 및 액세스 제어를 위해 주제 및 해당 주제에 대한 구독을 다른 프로젝트에 저장할 수 있습니다. 마지막으로 구독자는 Pub/Sub에 연결하기 위해 사용하는 서비스 엔드포인트 또는 데이터 게시자가 사용한 서비스 엔드포인트에 관계없이 동일한 데이터를 가져옵니다.
영역 라이트 주제 및 구독은 영역별 리소스입니다. 이러한 리소스는 동일한 Cloud 프로젝트 및 영역에 있어야 합니다.
리전 라이트 주제 및 구독은 리전별 리소스입니다. 이러한 리소스는 동일한 Cloud 프로젝트 및 리전에 있어야 합니다.
Pub/Sub Lite가 지원하는 리전 및 영역 목록은 Pub/Sub Lite 위치를 참조하세요.
용량 관리
Pub/Sub는 자동으로 확장됩니다. 메시지 게시 용량은 자동으로 프로비저닝되므로, 프로젝트에 대해 구성한 할당량까지 원하는 속도로 메시지를 전송 및 수신할 수 있습니다.
Pub/Sub Lite는 수동으로 프로비저닝됩니다. 라이트 주제당 파티션 수를 구성해야 합니다. 또한 스토리지 및 처리 용량을 프로비저닝해야 합니다. 처리 용량은 라이트 예약을 사용해서 프로비저닝될 수 있습니다.
전송 모드
Pub/Sub는 여러 메시지 전송 모드를 지원합니다. 여기에는 Pull(기존 폴링), Push(HTTPS 게시), StreamingPull(최저 지연 시간 및 최고 효율성을 위한 양방향 RPC), HTTP REST 및 gRPC를 통한 pull이 포함됩니다.
Pub/Sub Lite는 스트리밍 gRPC pull 메시지 전송만 지원합니다. 메시지를 요청하려면 구독자는 각 파티션으로 양방향 스트리밍 연결을 설정합니다.
동시 로드
Pub/Sub는 메시지당 동시 로드를 사용합니다. 따라서 단일 구독에 대해 한 개 또는 수천 개의 클라이언트에서 메시지를 원하는 만큼 동시에 처리할 수 있습니다.
Pub/Sub Lite는 파티션 기반 동시 로드를 사용합니다. 따라서 클라이언트가 단일 클라이언트 인스턴스에서 선형적으로 각 데이터 파티션을 처리해야 합니다. 그 결과 최대 클라이언트 인스턴스 수는 파티션 수로 제한됩니다.
스트리밍 파이프라인
Pub/Sub 및 Pub/Sub Lite 모두 서버리스 스트림 처리 및 데이터 통합을 위해 Dataflow와 통합되어 있습니다. Pub/Sub는 Dataflow의 더 유연한 확장과 Dataflow SQL을 지원합니다.
Dataflow 및 Pub/Sub 또는 Pub/Sub Lite를 시작하려면 다음 튜토리얼을 사용해 보세요.