Choisir Pub/Sub ou Pub/Sub Lite

Ce document est destiné à vous aider à choisir entre Pub/Sub et Pub/Sub Lite. Ce document suppose que vous connaissez les concepts de base de Pub/Sub, tels que les sujets et les abonnements. Si vous débutez avec Pub/Sub, consultez d'abord la page 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 de grands volumes et répondre à de grandes exigences de stockage. Pub/Sub est généralement la solution par défaut pour la plupart des cas d'utilisation d'intégrations et d'analyses d'applications. Il est riche en fonctionnalités et entièrement géré. Pub/Sub Lite est recommandé pour les applications dont le débit de messagerie est plus stable, dont les charges de travail peuvent bénéficier d'un système basé sur des partitions et dont le coût est important.

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

Pub/Sub Lite est une solution basée sur des partitions qui sacrifie la charge de travail opérationnelle, la disponibilité globale et certaines fonctionnalités pour accroître la rentabilité. Pub/Sub Lite nécessite de réserver et de 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 le même contrat de niveau de service de disponibilité que les sujets Pub/Sub.

Notez les différences de fiabilité entre les deux services en termes de réplication de 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 dans 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é, les coûts opérationnels minimaux et la facilité de développement sont-ils vos principales priorités ? Utilisez Pub/Sub.

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

  • Avez-vous besoin d'une protection contre les défaillances de zones, êtes-vous prêt à supporter une charge opérationnelle supplémentaire 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 tarifs.

Tableau comparatif des fonctionnalités

Caractéristique Pub/Sub Pub/Sub Lite
Access Transparency Oui Non
Capacité Provisionné automatiquement Provisionner avant l'utilisation
Langues de la bibliothèque cliente Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP et ABAP Java, Python, Go
Abonnements interprojets 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 du message Non
Réplication des messages Oui Non
Routage des messages Monde Zonal ou régional
Validation du schéma de message Oui Non
Plusieurs zones dans une seule région Non Zone unique ou double zone dans une même région
Commande avec livraison Tri par clé Ordre par partition
Suivi de l'acquittement des messages Par message Curseur par partition
Tarifs Services facturés à l'utilisation Payer pour la capacité provisionnée
Points de terminaison REST Oui Non
Espace de noms de ressource Monde Zonal ou régional
Durée de conservation Jusqu'à 31 jours Illimité
Points de terminaison d'un service Monde et régional Régional
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 des données Pub/Sub, consultez la section Réplication des 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 d'une région. Pour en savoir plus sur la réplication des données Pub/Sub Lite, consultez la section Réplication des données dans un sujet Lite.

Routage des messages

Pub/Sub et Pub/Sub Lite peuvent publier et s'abonner depuis 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 la connectivité réseau à la même région pour que la communication puisse être établie. Les éditeurs peuvent publier des données sur n'importe quel sujet, où qu'ils se trouvent. Toutefois, cela peut nécessiter une connexion à une région distante, ce qui augmente la latence du réseau. Les abonnés qui ont besoin de données agrégées publiées sur des sujets situés dans des emplacements différents doivent se connecter à chaque instance de service local concerné 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 sujets. De plus, un sujet et un abonnement à ce sujet peuvent être stockés dans différents projets, ce qui permet une facturation et un contrôle d'accès précis. Enfin, les abonnés reçoivent les mêmes données quel que soit le point de terminaison de service qu'ils utilisent pour se connecter à Pub/Sub ou le point de terminaison de 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 section 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. Ce sont les modes Pull (interrogation classique), Push (HTTPS POST), StreamingPull (RPC bidirectionnel, pour une latence minimale et une efficacité optimale) et Pull sur HTTP REST et gRPC.

Pub/Sub Lite n'est compatible qu'avec la diffusion en streaming de messages pull gRPC. Pour demander des messages, les abonnés établissent des connexions de 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 :