O Pub/Sub é um serviço de mensagens assíncrono e escalonável que separa os serviços que produzem mensagens dos serviços que processam essas mensagens.
Com o Pub/Sub, os serviços se comunicam de maneira assíncrona, com latência de aproximadamente 100 milissegundos.
O Pub/Sub é usado na análise de streaming e em pipelines de integração de dados para carregar e distribuir dados. Ele é igualmente eficaz como um middleware orientado a mensagens para integração de serviços ou como uma fila para carregar tarefas em paralelo.
O Pub/Sub permite criar sistemas de produtores e consumidores de eventos, chamados de editores e assinantes. Os editores se comunicam com os assinantes de forma assíncrona transmitindo eventos, em vez de realizar chamadas de procedimento remoto (RPCs) síncronas.
Os editores enviam eventos ao serviço Pub/Sub, sem considerar como ou quando eles vão ser processados. Depois, o Pub/Sub entrega eventos para todos os serviços que precisam responder a eles. Nos sistemas que se comunicam por RPCs, os editores precisam esperar que os assinantes recebam os dados. No entanto, a integração assíncrona no Pub/Sub aumenta a flexibilidade e a robustez do sistema como um todo.
Para começar a usar o Pub/Sub, confira o Guia de início rápido sobre como usar o Google Cloud console. Para uma introdução mais abrangente, consulte Como criar um sistema de mensagens do Pub/Sub.
Casos de uso comuns
- Ingestão de eventos do servidor e interação do usuário. Para usar eventos de interação do usuário de apps do usuário final ou eventos do servidor do seu sistema, encaminhe-os para o Pub/Sub. Em seguida, use uma ferramenta de processamento de stream para entregar os eventos aos bancos de dados. O Pub/Sub permite coletar eventos de muitos clientes simultaneamente.
- Distribuição de eventos em tempo real. Eventos, brutos ou processados, podem ser disponibilizados para vários aplicativos em toda a sua equipe e organização para processamento em tempo real. O Pub/Sub é compatível com um "barramento de eventos empresariais" e padrões de design de aplicativos orientados a eventos. O Pub/Sub permite a integração com muitos sistemas que exportam eventos para ele.
- Replicação de dados entre bancos de dados. O Pub/Sub é usado com frequência para distribuir eventos de mudança de bancos de dados. Esses eventos podem ser usados para criar uma visualização do estado do banco de dados e do histórico de estados.
- Processamento e fluxos de trabalho paralelos. É possível distribuir muitas tarefas entre vários workers usando mensagens do Pub/Sub para se comunicar com eles. Exemplos dessas tarefas são compactar arquivos de texto, enviar notificações por e-mail, avaliar modelos de IA e reformatar imagens.
- Barramento de eventos empresariais. Crie um barramento de compartilhamento de dados em tempo real para toda a empresa. Com ele, você distribui eventos empresariais e de análise e atualizações de bancos de dados por toda a organização.
- Streaming de dados de aplicativos, serviços ou dispositivos IoT. Por exemplo, um aplicativo SaaS pode publicar um feed de eventos em tempo real. Ou um sensor residencial pode transmitir dados para o Pub/Sub para uso em outros produtos do Google Google Cloud por um pipeline de processamento de dados.
- Atualizar caches distribuídos. Por exemplo, um aplicativo pode publicar eventos de invalidação para atualizar os IDs de objetos que foram alterados.
- Balanceamento de carga para aumentar a confiabilidade. Por exemplo, é possível implantar as instâncias de um serviço no Compute Engine em várias zonas, mas assinar um tópico em comum. Quando o serviço falha em uma zona, as outras assumem a carga automaticamente.
Próximas etapas
- Comece a usar o guia de início rápido do Pub/Sub.
- Leia os conceitos básicos do serviço Pub/Sub.
- Saiba como criar um sistema de mensagens do Pub/Sub.
- Entenda as cotas e os limites do Pub/Sub.
- Leia as notas da versão do Pub/Sub.