Choisir Pub/Sub ou Pub/Sub Lite

L'objectif de ce document est de vous aider à choisir entre Pub/Sub et Pub/Sub Lite. Ce document nécessite de connaître les concepts de base de Pub/Sub, tels que les sujets et les abonnements. Si vous ne connaissez pas Pub/Sub, commencez par lire la section Qu'est-ce que Pub/Sub ?.

Pub/Sub et Pub/Sub Lite sont des services de messagerie gérés et évolutifs horizontalement. Ces services peuvent gérer des volumes importants et répondre à des besoins de stockage importants. Pub/Sub est généralement la solution par défaut pour la plupart des cas d'utilisation d'intégration et d'analyse d'applications. Il est riche en fonctionnalités et entièrement géré. Pub/Sub Lite est recommandé pour les applications où le débit de messagerie est plus stable, où les charges de travail peuvent bénéficier d'un système basé sur des partitions et où le coût est un sujet de préoccupation majeur.

Pub/Sub offre un éventail plus large de fonctionnalités, le parallélisme par message, le routage mondial et le scaling automatique de la capacité des ressources. En termes de réplication des messages, Pub/Sub garantit une réplication synchrone.

Pub/Sub Lite est une solution basée sur des partitions qui privilégie la charge de travail opérationnelle, la disponibilité mondiale et certaines fonctionnalités au détriment de la rentabilité. Avec Pub/Sub Lite, vous devez réserver et gérer manuellement la capacité des ressources. Dans Pub/Sub Lite, vous pouvez choisir des sujets Lite zonaux ou régionaux. Les sujets Lite régionaux offrent la même disponibilité dans le contrat de niveau de service que les sujets Pub/Sub.

Notez les différences de fiabilité entre les deux services en termes de réplication des messages. Pub/Sub est compatible avec la réplication synchrone des données et utilise trois zones. Les sujets Lite régionaux répliquent les données vers une zone secondaire. Les sujets Lite zonaux ne répliquent les données que dans une seule zone.

Checklist des exigences commerciales

Les questions suivantes peuvent vous aider à choisir le bon service de messagerie Pub/Sub:

  • La fiabilité, un coût opérationnel minimal et la facilité de développement sont-ils vos principales priorités ? Utilisez Pub/Sub.

  • Êtes-vous prêt à engager des coûts opérationnels supplémentaires en termes de gestion de la capacité des sujets, êtes-vous capable de gérer les risques de disponibilité inhérents aux services zonaux et souhaitez-vous être à faible coût ? Utilisez des sujets Lite zonaux.

  • Avez-vous besoin d'une protection contre les défaillances de zone, êtes-vous prêt à engendrer des coûts opérationnels supplémentaires en termes de gestion de la capacité du sujet et avez-vous besoin du coût par débit le plus bas ? Utilisez des sujets Lite régionaux.

Pour en savoir plus sur les différences de coût entre Pub/Sub et Pub/Sub Lite, consultez la page des pricing.

Tableau comparatif des fonctionnalités

Sélection Pub/Sub Pub/Sub Lite
Access Transparency Oui Non
Capacité Provisionné automatiquement Provisionner avant l'utilisation
Langages des bibliothèques clientes Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP et ABAP Java, Python, Go
Abonnements multiprojets Oui Non
Clés de chiffrement gérées par le client Oui Non
Files d'attente de lettres mortes Oui Non
Diffusion de type "exactement une fois" Oui Non
Intégrations
Filtrage des messages Oui pour les attributs de message Non
Réplication des messages Oui Non
Routage des messages Mondial Zonaux ou régionaux
Validation du schéma de message Oui Non
Plusieurs zones dans une seule région Non Zone unique ou bizone dans une seule région
Livraison commandée Ordre par clé Ordre par partition
Suivi de l'accusé de réception des messages Par message Curseur par partition
Tarification Services facturés à l'utilisation Payer pour la capacité provisionnée
Points de terminaison REST Oui Non
Espace de noms de ressource Mondial Zonaux ou régionaux
Durée de conservation Jusqu'à 31 jours Illimité
Points de terminaison d'un service Monde et régional Régional
Espace de stockage Illimité Illimité
Abonnement

Réplication des données

Les sujets Pub/Sub répliquent les données dans trois zones d'une région. Pour en savoir plus sur la réplication de données Pub/Sub, consultez la page Réplication de données dans un sujet.

Les sujets Pub/Sub Lite régionaux répliquent les données dans deux zones d'une même région. Les sujets Pub/Sub Lite zonaux stockent les données dans une seule zone au sein d'une région. Pour en savoir plus sur la réplication de données Pub/Sub Lite, consultez la page Réplication de données dans un sujet Lite.

Routage des messages

Pub/Sub et Pub/Sub Lite peuvent publier et s'abonner à partir de toutes les régions, et même en dehors de Google Cloud.

Pub/Sub achemine les messages au niveau global. Les applications hébergées dans n'importe quelle région peuvent publier des messages sur un seul sujet. Les messages sont traités dans la région la plus proche autorisée par vos règles d'administration et transmis aux abonnés indépendamment de la source.

Pub/Sub Lite achemine les messages au sein d'une région ou d'une zone. Les abonnés doivent se connecter à l'instance du service dans la région où se trouve le sujet. Par conséquent, les éditeurs et les abonnés doivent maintenir une connectivité réseau dans la même région pour communiquer. Les éditeurs peuvent publier des données sur n'importe quel sujet depuis n'importe où, mais cela peut nécessiter de se connecter à une région distante, ce qui augmente la latence du réseau. Les abonnés qui ont besoin de données globales publiées sur des sujets situés dans des emplacements différents doivent se connecter à chaque instance de service local pertinente pour lire les messages.

Espace de noms de ressource

Les sujets et abonnements Pub/Sub sont des ressources globales. Le service Pub/Sub peut stocker des messages dans n'importe quelle région autorisée par une règle de stockage de sujet. En outre, un sujet et un abonnement à ce sujet peuvent être stockés dans différents projets, ce qui permet un contrôle précis de la facturation et des accès. Enfin, les abonnés obtiennent les mêmes données, quel que soit le point de terminaison du service utilisé pour se connecter à Pub/Sub ou le point de terminaison du service utilisé par l'éditeur des données.

Les sujets et abonnements Lite zonaux sont des ressources zonales. Ces ressources doivent se trouver dans le même projet et la même zone Cloud.

Les sujets et abonnements Lite régionaux sont des ressources régionales. Ces ressources doivent se trouver dans le même projet et la même région Cloud.

Pour obtenir la liste des régions et des zones compatibles avec Pub/Sub Lite, consultez la page Emplacements Pub/Sub Lite.

Gestion de la capacité

Pub/Sub évolue automatiquement. La capacité de publication des messages est automatiquement provisionnée. Vous pouvez donc envoyer et recevoir des messages à tout moment, dans les limites que vous avez configurées pour votre projet.

Pub/Sub Lite est provisionné manuellement. Vous devez configurer le nombre de partitions par sujet Lite. Vous devez également provisionner le stockage et la capacité de débit. La capacité de débit peut être provisionnée à l'aide des réservations Lite.

Modes de distribution

Pub/Sub est compatible avec plusieurs modes de distribution des messages. Il s'agit par exemple des méthodes Pull (interrogation traditionnelle), Push (HTTPS POST), StreamingPull (RPC bidirectionnel, pour une latence minimale et une efficacité maximale), et Pull via HTTP REST et gRPC.

Pub/Sub Lite n'accepte que la distribution des messages pull gRPC en flux continu. Pour demander des messages, les abonnés établissent des connexions en streaming bidirectionnelles avec chaque partition.

Parallélisme

Pub/Sub utilise le parallélisme par message. Cela permet le traitement simultané d'un nombre quelconque de messages d'un ou de plusieurs clients pour un seul abonnement.

Pub/Sub Lite utilise le parallélisme basé sur des partitions. Cela oblige un client à traiter chaque partition de données dans un ordre linéaire sur une seule instance de client. Le nombre maximal d'instances client est ainsi limité à un nombre maximal de partitions.

Pipelines en streaming

Pub/Sub et Pub/Sub Lite sont intégrés à Dataflow pour le traitement par flux et l'intégration de données sans serveur. Pub/Sub permet à Dataflow d'évoluer de manière plus flexible et est compatible avec Dataflow SQL.

Pour commencer à utiliser Dataflow et Pub/Sub ou Pub/Sub Lite, consultez les tutoriels suivants :