Neste documento, você encontra informações sobre cotas e limites de recursos do Pub/Sub.
Para mais informações sobre como acompanhar suas cotas, (por exemplo, uso de tópicos ou assinaturas), consulte o Monitoring.
Como ver o uso de cotas e gerenciar os limites delas
Em um determinado projeto, é possível usar o painel de cotas de APIs e serviços para visualizar o uso e os limites de cotas atuais. Também é possível usar esse painel para modificar um limite de cota por vez.
Para modificar vários limites de cota, use o painel de cotas de IAM e administrador.
É possível usar um dos painéis acima para:
- reduzir seus limites de cota.
- iniciar um processo para solicitar limites de cota mais altos.
Para ter um monitoramento e alertas mais personalizados de métricas de cotas, consulte Como usar métricas de cota.
Atribuição de uso do projeto
Para a capacidade do assinante push, o uso da cota é cobrado no projeto que contém a assinatura push.
Para as cotas a seguir, o uso é cobrado no projeto associado às credenciais do responsável pela chamada, não no projeto que contém o recurso solicitado (ou seja, o projeto que aparece no nome do tópico ou da assinatura):
- Capacidade do editor
- Capacidade do assinante
- Operações de administrador
Por exemplo: se uma conta de serviço no projeto A envia uma solicitação para fazer uma publicação em um tópico no projeto B, a cota é cobrada no projeto A. Cada solicitação contém credenciais que incluem um ID de projeto.
Limites de cotas
As cotas listadas na tabela a seguir podem ser visualizadas e editadas por projeto no painel de cotas de APIs e serviços.
As cotas regionais estão divididas em dois tipos:
- Regiões grandes:
europe-west1
,us-central1
,us-east1
- Regiões pequenas: todas as outras
Cota | Limite de cota padrão | Descrição |
---|---|---|
Capacidade do editor por região |
|
O uso da cota é baseado no tamanho das
PubsubMessage s publicadas:
É possível incluir várias mensagens em uma única solicitação de publicação, e não há cobrança de cota extra por mensagem. Se as mensagens tiverem chaves de ordenação, a capacidade máxima do editor será de 1 MB/s por chave. |
Capacidade do assinante pull por região |
|
O uso da cota é baseado no tamanho das
PubsubMessage s publicadas:
|
Capacidade de reconhecimento por região |
|
O uso da cota tem como base o tamanho das solicitações Acknowledge e
e ModifyAckDeadline :
|
Capacidade do assinante push por região |
|
Para solicitações de entrega
push feitas para o endpoint push, o uso da cota é baseado no tamanho
das PubsubMessage s enviadas para o endpoint push.
|
Capacidade do assinante de StreamingPull por região |
|
O uso da cota é baseado no tamanho das PubsubMessage s transmitidas para o assinante:
As bibliotecas de cliente usam operações StreamingPull sempre que possível. |
Número de conexões StreamingPull abertas por região |
|
O número de conexões StreamingPull abertas a qualquer momento. Consulte StreamingPull. |
Operações de administrador | 6.000 por minuto (100 operações/s) | Cada operação de administrador, como
GetTopicRequest,
cobra uma unidade dessa cota.
|
Unidades de cota de capacidade
O uso da cota de capacidade é medido em unidades de 1 KB. 1 KB é igual a 1.000
bytes. Por exemplo, em uma PublishRequest
com 105
mensagens de 50 bytes cada, o tamanho dos dados do usuário será 105 * 50 bytes = 5250 bytes
,
portanto, o uso da cota será max(1kB, ceil(5250 bytes/1000)) = 6kB
.
Limites de recursos
Recurso | Limites |
---|---|
Projeto |
10.000 tópicos 10.000 assinaturas anexas ou separadas 5.000 snapshots 10.000 esquemas |
Tópico | 10.000 assinaturas anexadas 5.000 snapshots anexados |
Assinatura | Retém as mensagens não confirmadas no armazenamento permanente por sete dias a partir
do momento da publicação. Não há limite no
número de mensagens retidas. Se os assinantes não usarem uma assinatura, ela expirará. O período de expiração padrão é de 31 dias. |
Schema | Tamanho do esquema (o campo definition ): 10 KB
|
Solicitação de publicação | 10 MB (tamanho total) 1.000 mensagens |
Mensagem | Tamanho da mensagem (campo data ): 10 MBAtributos por mensagem: 100 Tamanho da chave do atributo: 256 bytes Tamanho do valor do atributo: 1.024 bytes |
Mensagens push pendentes |
|
Streams de StreamingPull | 10 MB/s por stream aberto |
Mensagens Pull/StreamingPull | O serviço pode impor limites ao total de mensagens StreamingPull pendentes por conexão. Caso você se depare com esses limites, aumente a taxa em que as mensagens são confirmadas e o número de conexões utilizadas. |
Dicas e advertências
Operações de alto volume
Se você usar a ferramenta gcloud do SDK do Cloud com uma conta de usuário normal (ou seja, uma conta que não é de serviço), as operações do Pub/Sub serão limitadas a uma taxa adequada a operações manuais. As taxas acima desse limite resultarão no erro RESOURCE_EXHAUSTED. Para solucionar o problema, verifique se você está usando as credenciais da conta de serviço. Se você quiser usar credenciais do SDK do Cloud para automação, ative uma conta de serviço nas suas operações do Pub/Sub.
Endpoints
Se você tiver mais cotas em regiões específicas, poderá encaminhar solicitações para elas usando endpoints regionais do Pub/Sub. Quando você publica mensagens em um endpoint global, o serviço do Pub/Sub pode encaminhar o tráfego para uma região que não tem cota suficiente.
Incompatibilidades de cotas
Incompatibilidades de cotas acontecem quando as mensagens publicadas ou recebidas têm menos de 1.000 bytes. Por exemplo:
Se você publicar 10 mensagens de 500 bytes em solicitações separadas, o uso da cota do editor será de 10.000 bytes. Isso ocorre porque as mensagens com menos de 1.000 bytes são automaticamente arredondadas para o próximo incremento de 1.000 bytes.
Se você receber essas 10 mensagens em uma única resposta pull, o uso da cota do assinante poderá ser de apenas 5 KB, já que o tamanho real de cada mensagem é combinado para determinar a cota geral.
O inverso também é verdadeiro. O uso da cota do assinante poderá ser maior que o da cota do editor se você publicar várias mensagens em uma única solicitação de publicação ou receber as mensagens em solicitações push separadas.