Publier et recevoir des messages dans Pub/Sub Lite à l'aide de l'API Apache Kafka
Cette page explique comment utiliser Pub/Sub Lite Kafka Shim pour publier des messages sur Pub/Sub Lite et en recevoir.
Pub/Sub Lite Kafka Shim est une bibliothèque Java qui facilite l'utilisation de la bibliothèque cliente Java Apache Kafka avec Pub/Sub Lite. Pour ce faire, vous devez mettre en œuvre l'API Producer et l'API Consumer.
Cela est possible car les sujets Pub/Sub Lite, tels que les sujets Apache Kafka, sont des journaux partitionnés qui suivent la progression de la clientèle avec des décalages numériques.
Bien que les deux systèmes soient similaires, il existe quelques différences pratiques notables :
- Un sujet Pub/Sub Lite est équivalent à un sujet Kafka. Cependant, un sujet Lite dispose d'un débit et d'une capacité de stockage configurables sur chaque partition de sujet, tandis que la capacité de sujet Kafka est déterminée par des configurations de cluster Kafka.
- Un abonnement Pub/Sub Lite équivaut à un groupe de consommateurs Kafka. Un abonnement Lite est une ressource nommée Google Cloud Platform qui est un premier ordre, représentant les messages issus de partitions de sujet Lite que les abonnés peuvent lire. De même, un groupe de consommateurs Kafka est constitué de clients pouvant lire les données des partitions d'un sujet Kafka.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez ou sélectionnez un projet Google Cloud.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_ID
par le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par le nom de votre projet Google Cloud.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer l'API Pub/Sub Lite :
gcloud services enable pubsublite.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte Google :
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Créez ou sélectionnez un projet Google Cloud.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_ID
par le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par le nom de votre projet Google Cloud.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer l'API Pub/Sub Lite :
gcloud services enable pubsublite.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte Google :
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
Installer la bibliothèque cliente
Les exemples suivants vous montrent comment installer les bibliothèques clientes pubsublite-kafka
.
Java
Si vous utilisez Maven sans BOM, ajoutez les éléments suivants à vos dépendances :
Si vous utilisez Gradle, ajoutez les éléments suivants à vos dépendances :
Si vous utilisez sbt, ajoutez les éléments suivants à vos dépendances :
Si vous utilisez Visual Studio Code, IntelliJ ou Eclipse, vous pouvez ajouter des bibliothèques clientes à votre projet à l'aide des plug-ins IDE suivants :
Les plug-ins offrent des fonctionnalités supplémentaires, telles que la gestion des clés pour les comptes de service. Reportez-vous à la documentation de chaque plug-in pour plus de détails.
Créer un sujet et un abonnement Lite
Créez un sujet et un abonnement Lite à l'aide des commandes suivantes.
gcloud pubsub lite-topics create LITE_TOPIC_NAME \
--location=LITE_LOCATION \
--partitions=1 \
--per-partition-bytes=30GiB
gcloud pubsub lite-subscriptions create LITE_SUBSCRIPTION_NAME \
--location=LITE_LOCATION \
--topic=LITE_TOPIC_NAME \
--starting-offset=end \
--delivery-requirement=deliver-after-stored
Remplacez les éléments suivants :
LITE_TOPIC_NAME
: nom de votre nouveau sujet Lite.LITE_SUBSCRIPTION_NAME
: nom de votre nouvel abonnement Lite.LITE_LOCATION
: l'emplacement dans lequel vous créez votre sujet Lite et votre abonnement Lite. Choisissez un emplacement Pub/Sub Lite compatible. Spécifiez également une zone pour la région. Exemple :us-central1-a
.
Publier des messages dans Pub/Sub Lite
Créez un producteur Pub/Sub Lite pour envoyer des données à votre sujet Lite Cette classe met en œuvre org.apache.kafka.clients.Producer
, la même interface que KafkaProducer
.
Recevoir des messages de Pub/Sub Lite
Créez un consommateur Pub/Sub Lite pour recevoir des données de votre abonnement Lite. Cette classe met en œuvre org.apache.kafka.clients.consumer.Consumer
, la même interface que KafkaConsumer
.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Cloud contenant les ressources.
Supprimez le sujet et l'abonnement Lite.
gcloud pubsub lite-topics delete LITE_TOPIC_NAME
gcloud pubsub lite-subscriptions delete LITE_SUBSCRIPTION_NAME
-
Supprimez le compte de service :
gcloud iam service-accounts delete SERVICE_ACCOUNT_EMAIL
-
Facultatif : Révoquez les identifiants d'authentification que vous avez créés et supprimez le fichier d'identifiants local.
gcloud auth application-default revoke
-
Facultatif : Révoquez les identifiants de la CLI gcloud.
gcloud auth revoke
Étapes suivantes
- Apprenez-en plus sur les sujets Lite et les abonnements Lite.
- Apprenez-en plus sur l'envoi et la réception de messages.
- Apprenez-en plus sur la surveillance des ressources Pub/Sub Lite.