Pub/Sub을 사용하여 데이터를 대량으로 게시하는 경우 게시자 클라이언트에서 게시 요청을 보내기 전에 gRPC를 사용하여 데이터를 압축하면 네트워킹 비용이 절약됩니다. gRPC용 Pub/Sub 압축은 Gzip 알고리즘을 사용합니다.
이 문서에서는 주제에 게시된 메시지를 압축하는 방법을 설명합니다.
메시지 압축 정보
gRPC 클라이언트 측 압축 기능을 사용하는 압축 비율은 게시자 클라이언트마다 다르며 다음 요소에 따라 달라집니다.
데이터 양. 페이로드 크기가 수백 바이트 데이터에서 수 킬로바이트 데이터로 증가하면 압축 비율이 향상됩니다. 게시 요청의 일괄 설정은 각 게시 요청에 포함되는 데이터 양을 결정합니다. 최상의 결과를 얻으려면 gRPC 압축과 함께 일괄 설정을 사용 설정하는 것이 좋습니다.
데이터 유형. JSON 또는 XML과 같은 텍스트 기반 데이터는 이미지와 같은 바이너리 데이터보다 더 압축할 수 있습니다.
Google Cloud에 게시자 클라이언트가 있으면 전송된 바이트(instance/network/sent_bytes_count
) 측정항목을 사용하여 게시 처리량(바이트 단위)을 측정할 수 있습니다. 게시자 클라이언트가 다른 애플리케이션에 있는 경우 측정하려면 클라이언트별 도구를 사용해야 합니다.
이 섹션의 코드 샘플에서는 gRPC 압축도 포함된 샘플 Java 클라이언트 라이브러리 코드 스니펫을 보여줍니다.
시작하기 전에
게시 워크플로를 구성하기 전에 다음 작업이 완료되어야 합니다.
- 주제 및 게시 워크플로 자세히 알아보기
- 주제 만들기
필요한 역할
메시지 압축에 필요한 권한을 얻으려면 관리자에게 문의하여 주제에 대한 Pub/Sub 게시자(roles/pubsub.publisher
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
주제 및 구독을 만들거나 업데이트하려면 추가 권한이 필요합니다.
메시지 압축
C++
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 C++ 설정 안내를 따르세요. 자세한 내용은 Pub/Sub C++ API 참고 문서를 확인하세요.
자바
이 샘플을 시도하기 전에 빠른 시작: 클라이언트 라이브러리 사용의 자바 설정 안내를 따르세요. 자세한 내용은 Pub/Sub Java API 참고 문서를 참조하세요.
다음 단계
고급 게시 옵션을 구성하는 방법은 다음을 참조하세요.