Pubblica e ricevi messaggi in Pub/Sub Lite utilizzando l'API Apache Kafka
Questa pagina mostra come utilizzare Pub/Sub Lite Kafka Shim per pubblicare e ricevere messaggi da Pub/Sub Lite.
Pub/Sub Lite Kafka Shim è una libreria Java che consente agli utenti di Apache Kafka libreria client Java di utilizzare facilmente Pub/Sub Lite. A questo scopo, implementa l'API Producer e l'API Consumer.
Ciò è possibile perché gli argomenti Pub/Sub Lite, come gli argomenti Apache Kafka, sono log partizionati che monitorano i progressi dei consumatori con offset numerici.
Sebbene i due sistemi siano simili, esistono alcune differenze pratiche significative:
- Un argomento Pub/Sub Lite è equivalente a un argomento Kafka. Tuttavia, un argomento Lite ha velocità effettiva e capacità di archiviazione configurabili su ciascuna partizione di argomenti, mentre la capacità dell'argomento Kafka è determinata dalle configurazioni del cluster Kafka.
- Un abbonamento Pub/Sub Lite è equivalente a un gruppo di consumatori Kafka. Una sottoscrizione Lite è una risorsa denominata Google Cloud Platform di primo ordine che rappresenta i messaggi provenienti dalle partizioni di argomenti Lite da cui i sottoscrittori possono leggere. Analogamente, un gruppo di consumatori Kafka è composto da consumatori in grado di leggere i dati delle partizioni di un argomento Kafka.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_ID
con un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome del tuo progetto Google Cloud.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Pub/Sub Lite.
gcloud services enable pubsublite.googleapis.com
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui questo comando una volta per ciascuno dei seguenti ruoli IAM:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni singolo ruolo.
- Sostituisci
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_ID
con un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con il nome del tuo progetto Google Cloud.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Attiva l'API Pub/Sub Lite.
gcloud services enable pubsublite.googleapis.com
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
-
Concedi i ruoli al tuo Account Google. Esegui questo comando una volta per ciascuno dei seguenti ruoli IAM:
roles/pubsublite.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Sostituisci
PROJECT_ID
con l'ID progetto. - Sostituisci
EMAIL_ADDRESS
con il tuo indirizzo email. - Sostituisci
ROLE
con ogni singolo ruolo.
- Sostituisci
Installa la libreria client
I seguenti esempi mostrano come installare le librerie client di pubsublite-kafka
.
Java
If you are using Maven without a BOM, add this to your dependencies:
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Creare un argomento e una sottoscrizione Lite
Crea un argomento Lite e una sottoscrizione Lite con i comandi seguenti.
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
Sostituisci quanto segue:
LITE_TOPIC_NAME
: il nome del nuovo argomento Lite.LITE_SUBSCRIPTION_NAME
: il nome del nuovo abbonamento Lite.LITE_LOCATION
: la località in cui stai creando l'argomento Lite e la sottoscrizione Lite. Scegli una località Pub/Sub Lite supportata. Specifica anche una zona per la regione. Ad esempio:us-central1-a
.
Pubblica messaggi in Pub/Sub Lite
Crea un producer Pub/Sub Lite per inviare dati all'argomento Lite. Questo corso implementa org.apache.kafka.clients.Producer
, la stessa interfaccia di KafkaProducer
.
Ricevi messaggi da Pub/Sub Lite
Crea un consumer Pub/Sub Lite per ricevere dati dalla sottoscrizione Lite. Questo corso implementa org.apache.kafka.clients.consumer.Consumer
, la stessa interfaccia di KafkaConsumer
.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Cloud con le risorse.
Elimina l'argomento e la sottoscrizione Lite.
gcloud pubsub lite-topics delete LITE_TOPIC_NAME
gcloud pubsub lite-subscriptions delete LITE_SUBSCRIPTION_NAME
-
Elimina l'account di servizio:
gcloud iam service-accounts delete SERVICE_ACCOUNT_EMAIL
-
Facoltativo: revoca le credenziali di autenticazione che hai creato ed elimina il file delle credenziali locale.
gcloud auth application-default revoke
-
Facoltativo: revoca le credenziali dallgcloud CLI.
gcloud auth revoke
Passaggi successivi
- Scopri di più sugli argomenti Lite e sugli abbonamenti Lite.
- Scopri di più sull'invio e sulla ricezione di messaggi.
- Scopri di più sul monitoraggio delle risorse Pub/Sub Lite.