0

제목이 묻는 것처럼 서명 된 URL을 사용하여 객체를 업로드 할 때 Google Cloud Storage의 객체 변경 알림과 비교할 때 Google Club Pub/Sub의 확장 성은 어느 정도입니까?Google Club Pub/Sub와 비교 한 객체 변경 알림

짧은 기간에 업로드되는 많은 객체를 처리 할 수 ​​있다는 점에서 각각을 어떻게 비교합니까? 많은 물체를 신속하게 업로드하면 전송 속도가 느려 집니까? 예를 들어 1000 개체/초입니까?

어느 옵션도 확장 가능하지 않은 경우 다른 옵션이 있습니까?

내 용도로는 이미지를 업로드해야하며 내 Google App Engine 앱에 알림이 전송되면 데이터베이스에 글을 작성해야합니다. 이미지 업로드와 알림 사이의 시간 간격은 짧아야합니다 (최대 2 ~ 3 초).

답변

2

초당 1000 회의 개체 변경시 Cloud Pub/Sub 알림을 사용하려고합니다.

개체 변경 알림과 클라우드 게시/알림 알림 모두 1000 QPS에서 정상적으로 작동합니다. 그러나 이러한 종류의로드에서는 Cloud Pub/Sub를 선호하는 데는 몇 가지 이유가 있습니다.

먼저 Cloud Pub/Sub 구독은 메시지를 가져 오는 것을 지원합니다. pull()을 한 번 호출하면 한 번에 100 개 이상의 메시지를 검색 한 다음 acknowledge()를 한 번 호출하여 메시지를 모두 확인할 수 있습니다. 개체 변경 알림은 항상 메시지 당 하나의 서비스를 호출합니다. Cloud Pub/Sub를 사용하면 서버가 처리해야하는 RPC의 수를 두 자리수로 즉시 줄일 수 있습니다.

둘째, 높은 QPS에서 실패, 시간 초과 및 재시도 고려하기 시작할 것입니다. Cloud Pub/Sub는 여러 가지 이유로 여기에서도 우수한 옵션입니다. 하나는 20 초 이내에 개체 변경 알림을 처리해야하는 반면 구성 가능한 ack 마감 시간을 지원합니다. 다른 경우에 대비하여 현재 백 로그의 크기를 확인하도록 쿼리 할 수 ​​있습니다. 푸시 구독을 사용하는 경우 CloudPub/Sub는 메시지 수신자가 조금만 오프라인 상태가되면 훨씬 더 친숙한 트래픽이 증가하므로 온라인 상태가되면 서버를 압도하지 않습니다.

셋째, 유연성. Cloud Pub/Sub는이 사용 사례를 중심으로 설계되었습니다. 많은 양의 메시지를 수신하는 것은 빵과 버터의 전부이며, 이에 초점을 맞춘 많은 기능과 라이브러리가 있습니다. 클라우드 스토리지는 데이터 저장에 초점을 맞추고 있습니다. 객체 변경 알림은 작동하지만 Cloud Pub/Sub만큼 알림 기능을 제공하지 않습니다.

+0

굉장! 자세한 설명 주셔서 감사합니다. Cloud Pub/Sub가 서블릿에 전달한 서명 된 URL을 가진 객체를 업로드 할 때 맞춤 헤더를 전달할 수 있습니까? – BlueBoy

+0

예, 일부 사용자 지정 개체 메타 데이터가 포함 된 개체를 업로드하면 알림이 도착할 때 추가 메타 데이터를 사용할 수 있습니다. –

+0

그와 관련된 다른 질문이 있습니다. http://stackoverflow.com/questions/43360536/how-to-send-custom-data-with-cloud-pub-sub-when-gcs-object-is-uploaded-via- 아 - 시그 – BlueBoy