Quote e limiti di Pub/Sub

Google Cloud utilizza le quote per limitare la quantità di una determinata risorsa Google Cloud condivisa che puoi utilizzare. Ogni quota rappresenta una specifica di risorse conteggiabili, come le chiamate API a un particolare servizio, il numero byte inviati a un particolare servizio o il numero di connessioni in streaming utilizzate contemporaneamente dal tuo progetto.

Molti servizi hanno anche limiti non correlati al sistema delle quote. Si tratta di a vincoli fissi, come le dimensioni massime dei messaggi o il numero di risorse Pub/Sub che puoi creare in un progetto, aumentati o diminuiti.

Visualizza e gestisci le quote

Per un determinato progetto, puoi utilizzare IAM e dashboard delle quote di amministrazione per visualizzare i limiti di quota e l'utilizzo attuali. Puoi utilizzare questa dashboard anche per:

  • Riduci i limiti di quota
  • Avvia un processo per richiedere limiti di quota più elevati

Per ulteriori informazioni sul monitoraggio e sugli avvisi relativi all'utilizzo della quota, consulta Monitoraggio.

Attribuzione dell'utilizzo della quota

Per la velocità effettiva del sottoscrittore di tipo push, l'utilizzo delle quote viene addebitato a carico del progetto che contiene la sottoscrizione push. Questo è il progetto che compare nel nome l'abbonamento.

Per tutte le altre quote, l'utilizzo viene addebitato a carico del progetto associato le credenziali specificate nella richiesta. L'utilizzo della quota non viene addebitato il progetto che contiene la risorsa richiesta.

Ad esempio, se un account di servizio nel progetto A invia una richiesta di pubblicazione a pubblica in un argomento nel progetto B, la quota viene addebitata al progetto A. In alcuni casi, potrebbe essere opportuno che l'utilizzo della quota venga addebitato a fronte di un altro progetto. Puoi utilizzare il parametro di sistema X-Goog-User-Project per modificare il progetto per l'attribuzione della quota. Per saperne di più su X-Goog-User-Project, consulta Parametri di sistema.

Puoi utilizzare gcloud CLI per impostare il progetto per l'attribuzione della quota per una richiesta specifica. L'gcloud CLI invia l'intestazione della richiesta X-Goog-User-Project.

Devi disporre del ruolo roles/serviceusage.serviceUsageConsumer o un ruolo personalizzato con l'autorizzazione serviceusage.services.use per il progetto che utilizzerai per l'attribuzione della quota.

L'esempio seguente mostra come ottenere un elenco di sottoscrizioni nel progetto RESOURCE_PROJECT durante la ricarica all'amministratore operativa rispetto al progetto QUOTA_PROJECT. Corsa il comando seguente nel terminale Google Cloud CLI:

gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT

Sostituisci QUOTA_PROJECT con l'ID del progetto Google Cloud in base al quale vuoi addebitare la quota.

Tieni presente che in Pub/Sub il progetto fatturato è sempre quello che che contiene la risorsa. Puoi modificare il progetto solo per l'attribuzione della quota.

Quote di Pub/Sub

Le quote elencate nella seguente tabella possono essere visualizzate e modificate per progetto nel Dashboard delle quote di API e servizi.

Le quote per le regioni sono suddivise in tre tipi:

  • Regioni di grandi dimensioni: europe-west1, europe-west4, us-central1, us-east1, us-east4, us-west1 e us-west2
  • Regioni medie: asia-east1, asia-northeast1, asia-southeast1, europe-west2 e europe-west3
  • Aree geografiche di piccole dimensioni: tutte le altre

Le quote di consegna "exactly-once" sono specifiche della regione. Controlla i dettagli per ogni regione nella tabella seguente.

Quota Limite di quota predefinito Descrizione
Velocità effettiva del publisher per regione
  • 240.000.000 kB al minuto (4 GB/s) nelle regioni di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni medie
  • 12.000.000 kB al minuto (200 MB/s) nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalpublisher

L'utilizzo della quota si basa sulle dimensioni PubsubMessages:

Tieni presente che è possibile includere più messaggi in un e non è previsto alcun addebito di quota aggiuntiva per messaggio.

Velocità effettiva sottoscrittore di tipo pull per area geografica
  • 240.000.000 kB al minuto (4 GB/s) nelle regioni di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni medie
  • 24.000.000 kB al minuto (400 MB/s) nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalsubscriber

L'utilizzo della quota si basa sulle dimensioni del modulo restituito PubsubMessages:

Velocità effettiva Acknowledger per area geografica
  • 240.000.000 kB al minuto (4 GB/s) nelle regioni di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni medie
  • 24.000.000 kB al minuto (400 MB/s) nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalacknowledger

L'utilizzo della quota si basa sulle dimensioni di Acknowledge e ModifyAckDeadline richieste:

Velocità effettiva sottoscrittore di esportazione e push per regione
  • 26.400.000 kB al minuto (440 MB/s) nelle regioni di grandi dimensioni
  • 8.400.000 kB al minuto (140 MB/s) nelle regioni medie
  • 2.400.000 kB al minuto (40 MB/s) nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalpushsubscriber

Per le richieste di consegna push inviate al endpoint push, l'utilizzo della quota si basa sulle dimensioni PubsubMessage inviati all'endpoint push.

Velocità effettiva sottoscrittore StreamingPull per regione
  • 240.000.000 kB al minuto (4 GB/s) nelle regioni di grandi dimensioni
  • 48.000.000 kB al minuto (800 MB/s) nelle regioni medie
  • 24.000.000 kB al minuto (400 MB/s) nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalstreamingpullsubscriber

L'utilizzo della quota si basa sulle dimensioni di PubsubMessage trasmesso in streaming al sottoscrittore:

Tieni presente che le librerie client utilizzano Operazioni StreamingPull ove possibile.

Numero di connessioni StreamingPull aperte per regione
  • 72.000 connessioni aperte alla volta nelle regioni di grandi dimensioni
  • 48.000 connessioni aperte alla volta nelle regioni di medie dimensioni
  • 24.000 connessioni aperte alla volta nelle regioni di piccole dimensioni

pubsub.googleapis.com/regionalstreamingpullconnections

Il numero di connessioni StreamingPull aperte in un determinato momento. Vedi StreamingPull.

Operazioni dell'amministratore 6000 al minuto (100 operazioni/s)

pubsub.googleapis.com/administrator

Ogni operazione dell'amministratore, ad esempio GetTopicRequest, addebita un'unità a questa quota.

Get*, List*, Create* Delete*, Update*, ModifyPushConfig SetIamPolicy, GetIamPolicy, TestIamPermissions, ValidateSchema, ValidateMessage,CommitSchema,RollbackSchema, DeleteSchemaRevision, ListSchemaRevisions, e DetachSubscription sono le operazioni dell'amministratore.

Numero di messaggi consumati dalle sottoscrizioni con exactly-once Distribuzione abilitata per regione
  • 1.000.000 di messaggi al minuto in us-central1
  • 700.000 messaggi al minuto in us-east1
  • 300.000 messaggi al minuto in us-west1
  • 180.000 messaggi al minuto in altre regioni

pubsub.googleapis.com/exactlyoncedeliveredmessagecount

L'utilizzo della quota si basa sul numero di PubsubMessage consumati dall'abbonato:

Numero di messaggi confermati o la cui scadenza è stata estesa Quando utilizzi abbonamenti con la consegna "exactly-once" abilitata per regione
  • 10.000.000 di messaggi al minuto in us-central1
  • 7.000.000 di messaggi al minuto in us-east1
  • 3.000.000 di messaggi al minuto in us-west1
  • 1.800.000 messaggi al minuto in altre regioni

pubsub.googleapis.com/exactlyonceackcount

L'utilizzo della quota si basa sul numero di ID di conferma in Acknowledge e ModifyAckDeadline richieste:

Unità per le quote di velocità effettiva

L'utilizzo delle quote di velocità effettiva viene misurato in unità da 1 kB. 1 kB corrisponde a 1000 byte. Per Ad esempio, in un PublishRequest con 105 messaggi di 50 byte ciascuno, i dati utente la dimensione è 105 * 50 bytes = 5250 bytes, quindi l'utilizzo della quota è max(1kB, ceil(5250 bytes/1000)) = 6kB.

Limiti delle risorse

Risorsa Limiti
Progetto 10.000 argomenti
10.000 sottoscrizioni collegate o scollegate
5000 snapshot
10.000 schemi
Argomento 10.000 sottoscrizioni collegate
5000 snapshot allegati
Se conservazione dei messaggi di argomento è configurata, i messaggi pubblicati in un argomento possono essere conservati in spazio di archiviazione per un massimo di 31 giorni dalla data di pubblicazione.
Abbonamento Per impostazione predefinita, conserva i messaggi non confermati. nello spazio di archiviazione permanente giorni dalla data di pubblicazione. Non c'è limite al numero di messaggi conservati.
Se gli abbonati non utilizzano un abbonamento, quest'ultimo scade. Il periodo di scadenza predefinito è 31 giorni.
Schema Dimensione schema (campo definition): 50 kB
Revisioni per schema: 20
Richiesta di pubblicazione 10 MB (dimensioni totali)
1000 messaggi
Messaggio Dimensioni del messaggio (campo data): 10 MB
Attributi per messaggio: 100
Dimensioni della chiave dell'attributo: 256 byte
Dimensione valore dell'attributo: 1024 byte
Flussi StreamingPull 10 MB/s per flusso aperto
Risposta pull unaria Numero massimo di messaggi in risposta pull: 1000
Dimensione massima della risposta pull: 10 MB
Messaggi Pull/StreamingPull Il servizio potrebbe imporre limiti sul numero totale di messaggi in sospeso. Messaggi StreamingPull per connessione. Se riscontri tali limiti, aumenta la frequenza con cui confermi i messaggi e il numero di connessioni che per gli utilizzi odierni.
Richieste di riconoscimento e modifica AckDeadline 512 kB (dimensioni totali)
Ordinazione delle chiavi Se i messaggi contengono per ordinare le chiavi, la velocità effettiva massima del publisher è di 1 Mbps per ogni chiave di ordinamento.

Usa un account di servizio per quote più elevate

Se utilizzi lo strumento gcloud di Google Cloud CLI con un normale account utente (ovvero, non di account di servizio), le operazioni Pub/Sub sono limitate a una frequenza adatto per le operazioni manuali. Le frequenze che superano questo limite comportano Errore RESOURCE_EXHAUSTED. La soluzione consiste nell'utilizzare le credenziali dell'account di servizio. Se vuoi utilizzare le credenziali di gcloud CLI per l'automazione, attivare un account di servizio per le operazioni Pub/Sub.

Utilizza endpoint di località per instradare le richieste

Se disponi di una quota aggiuntiva in determinate regioni, puoi indirizzare le richieste queste regioni utilizzando endpoint Pub/Sub locali. Quando pubblichi messaggi in un endpoint globale, il servizio Pub/Sub potrebbe instradare il traffico verso un'area geografica che non dispone di quota sufficiente.

Quote non corrispondenti

I casi di quote non corrispondenti possono verificarsi quando i messaggi pubblicati o ricevuti sono di dimensioni inferiori ai 1000 byte, ad esempio:

  • Se pubblichi 10 messaggi da 500 byte in richieste distinte, l'utilizzo della quota del publisher sarà di 10.000 byte. Questo perché i messaggi di dimensioni inferiori ai 1000 byte vengono automaticamente arrotondati per eccesso all'incremento di 1000 byte successivo.

  • Se ricevi questi 10 messaggi in una singola risposta pull, l'utilizzo della quota di sottoscrittore potrebbe essere solo di 5 kB, poiché le dimensioni effettive di ogni messaggio vengono combinate per determinare la quota complessiva.

  • Questo è vero anche in caso contrario. L'utilizzo della quota di sottoscrittore potrebbe essere maggiore dell'utilizzo della quota di publisher se pubblichi più messaggi in una singola richiesta di pubblicazione o se ricevi i messaggi in richieste di pull separate.