Neste documento, explicamos como usar e gerenciar reservas do Pub/Sub Lite. Este documento também explica o conceito de unidades de capacidade e como determinar quantas você precisa para acomodar o throughput do seu aplicativo.
Visão geral das reservas do Lite
As reservas do Lite provisionam e compartilham dinamicamente a capacidade de processamento entre um ou vários tópicos do Lite em uma região. Esses tópicos podem ser regionais ou zonais do Lite. Usar reservas do Lite é uma opção melhor do que definir a capacidade de throughput de tópicos individuais do Lite. Com as reservas Lite, você gerencia e monitora menos recursos. Além disso, não é preciso escolher a capacidade de transferência de tópicos individuais do Lite.
Para usar uma reserva do Lite, anexe um tópico do Lite que esteja na mesma região à reserva específica do Lite. É possível anexar uma única reserva do Lite a tópicos do Lite zonais e regionais. Todas as partições em um tópico do Lite anexado a uma reserva do Lite consomem dinamicamente a capacidade de transferência provisionada na reserva do Lite. Se você especificar uma reserva do Lite para um tópico do Lite, também poderá incluir limites de taxa para limitar a capacidade de processamento de cada partição do tópico do Lite.
Visão geral das unidades de capacidade
A capacidade de uma reserva do Lite é provisionada em unidades de capacidade.
Uma unidade de capacidade corresponde ao seguinte throughput:
Tipo de tópico do Lite | Capacidade de publicação em MiBps | Capacidade de assinatura em MiBps |
---|---|---|
Zonal | 1 | 2 |
Regional | 0,25 | 0,5 |
Diretrizes para nomear uma reserva
Um nome de recurso do Pub/Sub Lite identifica exclusivamente um recurso do Pub/Sub Lite, como um tópico, uma assinatura ou uma reserva. O nome do recurso precisa ter o seguinte formato:
projects/project-identifier/collection/ID
project-identifier
: precisa ser o ID ou número do projeto, disponível no console do Google Cloud. Por exemplo,my-cool-project
é um ID do projeto.123456789123
é o número do projeto.collection
: precisa sertopics
,subscriptions
oureservations
.ID
: precisa estar em conformidade com as seguintes diretrizes:- não começar com a string
goog
; - Começar com uma letra
- conter entre 3 e 255 caracteres;
- conter apenas os seguintes caracteres: letras
[A-Za-z]
, números[0-9]
, traços-
, sublinhados_
, pontos.
, til~
, sinais de adição+
e símbolos de porcentagem%
É possível usar os caracteres especiais da lista anterior em nomes de recursos sem codificação para URLs. No entanto, é preciso garantir que os demais caracteres especiais sejam codificados ou decodificados corretamente quando usados em URLs. Por exemplo,
mi-tópico
é um ID inválido. No entanto,mi-t%C3%B3pico
é válido. Esse formato é importante quando você faz chamadas REST.- não começar com a string
Diretrizes para usar uma reserva do Lite
O provisionamento de throughput com reservas do Lite é obrigatório para tópicos regionais do Lite e opcional para tópicos zonais do Lite. Uma reserva do Lite é um recurso regional.
Tenha em mente o seguinte ao planejar a configuração de uma reserva Lite:
O número de unidades de capacidade necessárias para uma reserva do Lite precisa ser igual à taxa de transferência máxima esperada em qualquer minuto em todos os tópicos e assinaturas nessa reserva do Lite.
Quando a capacidade combinada de todos os tópicos do Lite em uma reserva do Lite atinge a capacidade, a publicação e a exibição são limitadas. Os servidores do Pub/Sub Lite param de enviar mensagens aos clientes, e as mensagens são armazenadas em buffer no cliente do editor. É possível configurar um alerta para
reservation/throughput_capacity/utilization
para saber quando a reserva estiver em risco de ser limitada e aumentar o tamanho dela.É possível atualizar a taxa de transferência das reservas quantas vezes quiser. As mudanças entram em vigor em menos de um minuto. No entanto, se você diminuir a taxa de transferência de uma reserva, a cobrança pelo valor mais alto vai continuar sendo feita por um período de 24 horas. O Pub/Sub Lite é inerentemente um sistema de pagamento por capacidade, em que os aumentos de escala são instantâneos e as reduções são possíveis.
Todos os tópicos do Lite anexados a uma reserva do Lite consomem do mesmo pool de capacidade de transferência. Portanto, é possível que um tópico do Lite use repentinamente uma grande quantidade de capacidade de transferência, deixando outros tópicos do Lite sem recursos e impedindo que eles publiquem ou recebam mensagens. Se você precisar de isolamento total entre tópicos do Lite, anexe-os a reservas independentes.
Impacto das partições em uma reserva do Lite
O número total de partições em todos os tópicos do Lite em uma reserva do Lite não pode ser maior que o número de unidades de capacidade reservadas. Por exemplo, não é possível anexar uma reserva do Lite de 10 unidades de capacidade a um tópico do Lite ou a um conjunto de tópicos do Lite com um número total de partições maior que 10.
Calcular unidades de capacidade para uma reserva do Lite
O tamanho de uma reserva Lite é definido pelo número de unidades de capacidade. Os exemplos a seguir ilustram como estimar a capacidade necessária para tópicos Lite individuais.
Determine o pico da capacidade de processamento de publicação.
Estimar o pico na capacidade de todos os tópicos do Lite anexados à reserva do Lite. Uma estimativa aproximada para a taxa de transferência é suficiente, já que você sempre pode atualizar o tamanho da reserva.
Determine o pico da capacidade de processamento de assinatura.
O pico da capacidade de processamento de assinatura é calculado de maneira semelhante ao pico da capacidade de processamento de publicação. No entanto, considere que seus assinantes não precisam necessariamente receber mensagens na taxa máxima dos editores. Se os atrasos no processamento forem aceitáveis, o Pub/Sub Lite permite armazenar mensagens em buffer e processá-las a uma taxa constante. Ao mesmo tempo, é possível que você queira ter mais capacidade de inscrição do que de publicação para acomodar o tempo de inatividade ocasional dos assinantes.
Determine o número total de unidades de capacidade necessárias.
A tabela na seção anterior especifica o número de MiBps que uma unidade de capacidade pode acomodar para operações diferentes. Confira a fórmula abaixo para calcular as unidades de capacidade necessárias para uma reserva de amostra do Lite:
- Pico da capacidade de processamento de publicação dos tópicos do Lite zonal =
Pz MiBps
- Pico da capacidade de processamento de publicação dos tópicos do Lite regional =
Pr MiBps
- Pico da capacidade de processamento de assinatura dos tópicos do Lite zonal =
Sz MiBps
Pico da capacidade de processamento de assinatura dos tópicos regionais do Lite =
Sr MiBps
Número de unidades de capacidade necessárias =
(Pz / 1 MiBps) + (Pr/0.25 MiBps) + (Sz/2 MiBps) + (Sr/0.5 MiBps)
Se o número não for inteiro, você vai precisar arredondar o valor para cima.
- Pico da capacidade de processamento de publicação dos tópicos do Lite zonal =
Configurar a capacidade de transferência sem uma reserva do Lite
Capacidade de processamento de publicação do tópico: é possível especificar de 4 a 16 MiBps de capacidade de processamento, e o valor precisa ser um número inteiro.
Capacidade de assinatura de tópico: é possível especificar de 4 a 32 MiBps de capacidade, e o valor precisa ser um número inteiro.
Para a capacidade de assinatura, recomendamos que você provisione a capacidade de processamento para igualar o produto da capacidade de publicação esperada e o número de assinaturas no tópico.
A capacidade do editor e do assinante provisionada para um tópico individual não é intercambiável. Por esse motivo, recomendamos que você use sempre as reservas.
Há diferenças no faturamento ao provisionar a capacidade diretamente para tópicos em vez de usar reservas. Consulte a página de preços do Pub/Sub Lite para saber mais.
Criar uma reserva do Lite
Uma reserva do Lite precisa estar no mesmo projeto e região que todos os tópicos do Lite anexados. Para uma lista de zonas e regiões disponíveis, consulte Locais do Pub/Sub Lite.
É possível criar uma reserva do Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Reservas do Lite.
Clique em Criar reserva do Lite.
Selecione uma região.
Insira um ID de reserva do Lite.
Provisione a quantidade de unidades de capacidade.
Clique em Criar.
gcloud
Para criar uma reserva do Lite, use o
comando
gcloud pubsub lite-reservations create
:
gcloud pubsub lite-reservations create myRes \ --location=us-central1 \ --throughput-capacity=INTEGER_NUMBER_OF_UNITS
gcloud pubsub lite-topics create myTopic \ --throughput-reservation=myRez \ --zone=ZONE \ --location=us-central1a \ --partitions \ --storage
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Atualizar uma reserva do Lite
É possível atualizar o número de unidades de capacidade configuradas para uma reserva Lite.
É possível atualizar uma reserva do Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Reservas do Lite.
Clique no ID da reserva do Lite.
Na página de detalhes da reserva do Lite, clique em Editar.
gcloud
Para atualizar uma reservado Lite, use o
comando
gcloud pubsub lite-reservations update
:
gcloud pubsub lite-reservations update RESERVATION_ID \ --location=REGION \ --throughput-capacity=THROUGHPUT_CAPACITY
Substitua:
- RESERVATION_ID: o ID da reserva do Lite
- REGION: a região da reserva
- THROUGHPUT_CAPACITY: a capacidade de transferência de reserva.
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Acessar detalhes da reserva do Lite
Para mais detalhes sobre uma reserva do Lite, use o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Reservas do Lite.
Clique no ID da reserva do Lite.
gcloud
Para ver detalhes sobre uma reserva do Lite, use o
comando
gcloud pubsub lite-reservations describe
:
gcloud pubsub lite-reservations describe RESERVATION_ID \ --location=REGION
Substitua:
- RESERVATION_ID: o ID da reserva do Lite
- REGION: a região da reserva
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Listar reservas do Lite
Console
Acesse a página Reservas do Lite.
gcloud
Para visualizar uma lista das reservas do Lite em um projeto, use o comando gcloud pubsub lite-reservations list
:
gcloud pubsub lite-reservations list \ --location=REGION
Substitua:
- REGION: a região da reserva
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Excluir uma reserva do Lite
É possível excluir reservas do Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite. Para excluir uma reserva, ela não pode conter nenhum tópico. É possível anexar tópicos atuais a uma reserva diferente e, em seguida, excluir a reserva.
Console
Acesse a página Reservas do Lite.
Clique no ID da reserva do Lite.
Na página de detalhes da reserva do Lite, clique em Excluir.
Na caixa de diálogo exibida, clique em Excluir para confirmar a exclusão da reserva do Lite.
gcloud
Para excluir uma reserva do Lite, use o
comando
gcloud pubsub lite-reservations delete
:
gcloud pubsub lite-reservations delete RESERVATION_ID \ --location=REGION
Substitua:
- RESERVATION_ID: o ID da reserva do Lite
- REGION: a região da reserva
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
A seguir
- Saiba mais sobre os preços do Pub/Sub Lite.
- Crie um Tema Lite.