Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fajrulaulia/golang-gcp-dlq
Implement Dead Letter Queue with Google Cloud message broker using Golang
https://github.com/fajrulaulia/golang-gcp-dlq
Last synced: about 7 hours ago
JSON representation
Implement Dead Letter Queue with Google Cloud message broker using Golang
- Host: GitHub
- URL: https://github.com/fajrulaulia/golang-gcp-dlq
- Owner: fajrulaulia
- Created: 2023-02-12T11:30:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-16T08:59:07.000Z (about 1 year ago)
- Last Synced: 2024-11-18T05:59:07.453Z (about 7 hours ago)
- Language: Go
- Homepage:
- Size: 1.42 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Golang GCP Pubusb dengan Dead Letter Queue(DLQ)
> This edition of Google Cloud Compute (GCP)
Dalam Google Cloud Pub/Sub, DLQ (Dead Letter Queue) adalah mekanisme yang digunakan untuk menangani pesan yang gagal diproses oleh konsumen utama atau gagal diakui. DLQ memungkinkan pesan-pesan ini disimpan secara terpisah sehingga mereka dapat dianalisis atau diolah ulang nanti. Dalam kode Anda, DLQ digunakan untuk mengonsumsi pesan yang mungkin telah gagal dalam Subscriber utama dan diteruskan ke Subscriber DLQ (mocca-dlq-topic-sub) untuk pengolahan lebih lanjut atau pemantauan.
Berikut adalah beberapa poin terkait DLQ dan Pub/Sub dalam kode Anda:
Subscriber Utama (mocca-topic-sub):
Goroutine pertama (Worker Default) bertanggung jawab untuk mengkonsumsi pesan dari Subscriber utama (mocca-topic-sub).
Jika pesan yang diterima adalah "KIMINOTO" atau "EXIT", maka pesan tersebut ditandai sebagai pesan yang gagal diproses (msg.Nack()).
Pesan yang diterima yang bukan "KIMINOTO" atau "EXIT" akan diakui (msg.Ack()).
Subscriber DLQ (mocca-dlq-topic-sub):Goroutine kedua (Worker DLQ) bertanggung jawab untuk mengkonsumsi pesan dari Subscriber DLQ (mocca-dlq-topic-sub).
Dalam kode yang Anda berikan, pesan yang diterima oleh Subscriber DLQ (mocca-dlq-topic-sub) diakui (msg.Ack()).
Ini berarti pesan yang mungkin telah gagal dalam Subscriber utama akan dipindahkan ke DLQ untuk pengolahan lebih lanjut atau pemantauan.
Pub/Sub Client (SetupClientGCPPubsub):Fungsi SetupClientGCPPubsub digunakan untuk membuat klien Pub/Sub yang digunakan dalam kode Anda.
Klien ini digunakan untuk membuat dan mengelola Subscriber, serta mengonsumsi pesan dari topik Pub/Sub yang sesuai.
Dalam skenario penggunaan ini, DLQ berperan sebagai tempat penampungan untuk pesan-pesan yang mungkin perlu dianalisis atau diolah ulang jika mereka gagal dalam Subscriber utama. Penggunaan DLQ ini dapat membantu Anda memproses pesan yang gagal dengan lebih baik dan menghindari kehilangan data yang penting dalam sistem Anda.Untuk Enable supaya DLQ Bisa berjalan dengan baik adalah sebagai berikut:
![plot](./assets/01.png)
Grant all Acccess Publisher role
![plot](./assets/02.png)