O que é o Cloud Pub/Sub?

O Cloud Pub/Sub traz para a nuvem a flexibilidade e a confiabilidade do middleware empresarial orientado a mensagens. Ao mesmo tempo, o Cloud Pub/Sub é um sistema escalonável e durável de entrega e ingestão de eventos que serve como base para os pipelines modernos de análise de fluxo. Ao oferecer mensagens assíncronas de muitos para muitos que separam remetentes e destinatários, ele permite uma comunicação segura e altamente disponível entre aplicativos criados de modo independente. O Cloud Pub/Sub entrega mensagens duráveis e de baixa latência que ajudam os desenvolvedores a integrar com rapidez os sistemas hospedados externamente e no Google Cloud Platform.

Você é um desenvolvedor de mensagens experiente e quer começar agora? Veja o Guia de início rápido. Para uma introdução mais abrangente, consulte Como construir um sistema Cloud Pub/Sub em funcionamento. Outros pontos de partida muito procurados são a Visão geral da documentação do Cloud Pub/Sub e as Bibliotecas de cliente.

Principais conceitos

  • Tópico: um recurso nomeado para o qual os editores enviam mensagens.
  • Assinatura: um recurso nomeado que representa o fluxo de mensagens de um tópico específico a ser entregue para o aplicativo assinante. Para mais detalhes sobre assinaturas e a semântica da entrega de mensagens, consulte o Guia do assinante.
  • Mensagem: a combinação de dados e atributos (opcionais) que um editor envia a um tópico e que é entregue aos assinantes.
  • Atributo de mensagem: um par de chave-valor que um editor pode definir para uma mensagem. Por exemplo, a chave iana.org/language_tag e o valor en podem ser adicionados às mensagens para marcá-las como legíveis por um assinante que fale inglês.

Relacionamentos entre editor e assinante

O aplicativo de um editor cria e envia mensagens para um tópico. Para receber essas mensagens, uma assinatura para o tópico é criada nos aplicativos de assinatura. A comunicação pode ser de um para muitos (fan-out), de muitos para um (fan-in) e de muitos para muitos.

Fluxo de mensagens do Cloud Pub/Sub

Esta é uma visão geral dos componentes do sistema do Cloud Pub/Sub e do fluxo de mensagens entre eles:

  1. Um aplicativo de editor cria um tópico no serviço do Cloud Pub/Sub e envia mensagens para o tópico. Uma mensagem contém um payload e atributos opcionais que descrevem o conteúdo dele.
  2. As mensagens são mantidas em um armazenamento de mensagens até que sejam recebidas e confirmadas pelos assinantes.
  3. O Cloud Pub/Sub encaminha mensagens de um tópico para todas as inscrições individualmente. Cada assinatura recebe mensagens do Cloud Pub/Sub, que as envia para o endpoint escolhido pelo assinante, ou do assinante, que as extrai do serviço.
  4. O assinante recebe mensagens pendentes da assinatura e reconhece cada uma delas para o serviço Cloud Pub/Sub.
  5. Quando uma mensagem é confirmada pelo assinante, ela é removida da fila de mensagens da assinatura.

Endpoints do editor e do assinante

Editores podem ser qualquer aplicativo que possa fazer solicitações de HTTPS para googleapis.com: um aplicativo do App Engine, um serviço da Web hospedado no Google Compute Engine ou qualquer rede de terceiros, um aplicativo instalado para computadores ou dispositivos móveis, ou até mesmo um navegador.

Assinantes de pull também podem ser qualquer aplicativo que faça solicitações HTTPS para googleapis.com.

Atualmente, os assinantes de push precisam ser endpoints do Webhook que consigam aceitar solicitações POST por HTTPS.

Casos comuns de uso

  • Equilibrar cargas de trabalho em clusters de rede. Por exemplo, uma fila grande de tarefas pode ser distribuída com eficiência entre vários funcionários, como instâncias do Google Compute Engine.
  • Implementar fluxos de trabalho assíncronos. Por exemplo, um aplicativo de processamento de pedidos pode incluir um pedido em um tópico, a partir do qual ele pode ser processado por um ou mais funcionários.
  • Distribuir notificações de eventos. Por exemplo, um serviço que aceita assinaturas de usuários pode enviar notificações sempre que um novo usuário for registrado, e serviços de downstream podem assinar para receber notificações sobre o evento.
  • Atualizar caches distribuídos. Por exemplo, um aplicativo pode publicar eventos de invalidação para atualizar os códigos de objetos que foram alterados.
  • Login em vários sistemas. Por exemplo, uma instância do Google Compute Engine pode gravar registros no sistema de monitoramento, em um banco de dados para consultas futuras e assim por diante.
  • Streaming de dados de vários processos ou dispositivos. Por exemplo, um sensor residencial pode enviar dados para servidores de back-end hospedados na nuvem.
  • Melhora da confiabilidade. Por exemplo, um serviço do Compute Engine de uma única zona pode operar em outras ao assinar um tópico em comum para se recuperar de falhas em uma zona ou região.

Integrações do Cloud Pub/Sub

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Pub/Sub