Pub/Sub et Pub/Sub Lite sont des services de messagerie gérés à évolutivité horizontale et gérés. Pub/Sub est généralement la solution par défaut pour la plupart des cas d'utilisation des analyses et de l'intégration d'applications. Pub/Sub Lite n'est recommandé que pour les applications pour lesquelles un coût extrêmement faible justifie un travail opérationnel supplémentaire.
Pub/Sub offre un plus large éventail de fonctionnalités, le parallélisme des messages, le routage mondial et le scaling automatique de la capacité des ressources. En termes de réplication de messages, Pub/Sub garantit la réplication synchrone.
Pub/Sub Lite est une solution économique qui compense la charge de travail opérationnelle, la disponibilité et les fonctionnalités par rapport à 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 niveau de disponibilité que les sujets Pub/Sub. Cependant, il existe des 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. Pub/Sub garantit une réplication synchrone dans au moins deux zones et s'efforce de répliquer de manière optimale dans une troisième zone. Pub/Sub Lite est compatible avec la réplication asynchrone des données. Les sujets Lite régionaux répliquent les données dans une zone secondaire. Les sujets Lite zonaux répliquent les données dans une seule zone.
Checklist des exigences commerciales
Les questions suivantes peuvent vous aider à choisir le service de messagerie Pub/Sub approprié:
La priorité est-elle la fiabilité, les coûts opérationnels minimaux et la facilité de développement ? Utilisez Pub/Sub.
Avez-vous besoin du coût par débit le plus faible, êtes prêt à supporter des coûts opérationnels supplémentaires en termes de gestion de la capacité du sujet et pouvez-vous gérer les risques de disponibilité inhérents aux services zonaux ? Utilisez les sujets Lite zonaux.
Avez-vous besoin du coût par débit le plus bas, d'une protection contre les défaillances de zones et êtes prêt à supporter des coûts opérationnels supplémentaires en termes de gestion de la capacité du sujet ? Utilisez les sujets Lite régionaux.
Exemple de scénario de tarification
Imaginez un système qui publie et abonne 10 Mio/s (soit 600 Mio par minute ou 25 Tio par mois).
Vous trouverez ci-dessous une liste d'exemples de facturation en Amérique du Nord pour différentes configurations Pub/Sub. Les coûts Pub/Sub sont basés sur l'utilisation. Les coûts de débit de Pub/Sub Lite sont basés sur la capacité provisionnée. Dans cet exemple, on suppose que le ratio de débit réel par rapport à la capacité provisionnée, ou utilisation, est de 50%. En outre, nous supposons que le stockage Pub/Sub Lite est configuré pendant 24 heures.
- Pour Pub/Sub, le coût est de 2 000 $par mois.
- Pour Pub/Sub Lite avec des sujets zonaux, le coût est de 169 $par mois.
- Pour Pub/Sub Lite avec des sujets régionaux, le coût est de 608 $par mois.
L'exemple précédent est un exemple très simplifié de modèle de facturation. En savoir plus sur les différences de coût entre Pub/Sub et Pub/Sub Lite
Tableau de comparaison des caractéristiques
Extraction | Pub/Sub | Pub/Sub Lite |
---|---|---|
API Subscriber | Bailages par message, aucune partition | Partitions ordonnées avec décalages utilisés pour suivre la progression |
Réplication de message | Plusieurs zones dans une seule région |
|
Capacité | Provisionné automatiquement | Provisionner avant l'utilisation |
Tarifs | Services facturés à l'utilisation | Payez en fonction de la capacité provisionnée |
Stockage | Illimité | Illimité |
Durée de conservation | Jusqu'à 31 jours | Illimité |
Points de terminaison d'un service | Monde et régional | Régional |
Espace de noms des ressources | Monde |
|
Routage des messages | Monde |
|
Réplication des données
Les sujets Pub/Sub répliquent les données dans trois zones d'une même région. Pour en savoir plus sur la réplication de données Pub/Sub, consultez la page Réplication des données dans un sujet.
Les sujets régionaux Pub/Sub Lite 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 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 transférés 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 vers la même région pour communiquer. Les éditeurs peuvent publier des données dans n'importe quel sujet, où qu'ils se trouvent, mais cela peut nécessiter une connexion à une région distante, ce qui augmente la latence du réseau. Les abonnés ayant 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 appropriée 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 des 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 des accès ultraprécis. Enfin, les abonnés obtiennent les mêmes données, quel que soit le point de terminaison de service utilisé pour se connecter à Pub/Sub ou le point de terminaison de service utilisé par l'éditeur des données.
Les sujets et abonnements 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 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 entre autres des méthodes Pull (sondage traditionnel), Push (HTTPS POST), StreamingPull (RPC bidirectionnel), offrant la plus faible latence et la plus grande efficacité, ainsi que des services HTTP REST et gRPC.
Pub/Sub Lite n'est compatible qu'avec la distribution de messages pull en flux 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 :