Mendapatkan penghitung pesan
Artikel ini memperlihatkan kepada Anda berbagai cara untuk mendapatkan jumlah pesan untuk antrean atau langganan. Mengetahui jumlah pesan aktif sangat berguna dalam menentukan apakah antrean membangun backlog yang membutuhkan lebih banyak sumber daya untuk diproses daripada apa yang saat ini telah digunakan.
Penghitung | Deskripsi |
---|---|
ActiveMessageCount | Jumlah pesan dalam antrean atau langganan yang dalam keadaan aktif dan siap dikirim. Ini termasuk pesan yang ditangguhkan. |
ScheduledMessageCount | Jumlah pesan dalam status terjadwal. |
DeadLetterMessageCount | Jumlah pesan dalam antrean dead-letter. |
TransferMessageCount | Jumlah pesan yang tertunda untuk ditransfer ke antrean atau topik lain. |
TransferDeadLetterMessageCount | Jumlah pesan yang gagal ditransfer ke antrean atau topik lain dan telah dipindahkan ke dalam antrean transfer dead-letter. |
Jika aplikasi ingin menskalakan sumber daya berdasarkan panjang antrean, aplikasi harus melakukannya dengan kecepatan yang terukur. Akuisisi penghitung pesan adalah operasi mahal di dalam broker pesan, dan sering mengeksekusinya secara langsung dan berdampak buruk pada performa entitas.
Metrik lain yang berguna untuk dipertimbangkan untuk penskalaan adalah waktu antara ketika pesan terbaru dikirim dan ketika diproses, juga dikenal sebagai "waktu kritis". Ini berguna untuk skenario di mana antrean mungkin memiliki ribuan pesan di dalamnya, tetapi pemrosesannya cukup cepat untuk mengikuti, memberikan "waktu kritis" hanya beberapa detik, yang mungkin lebih dari cukup untuk sesuatu seperti titik akhir pengiriman email. Pustaka pihak ketiga seperti NServiceBus memancarkan metrik ini dan metrik berguna lainnya melalui OpenTelemetry.
Catatan
Pesan yang dikirim ke topik Bus Layanan diteruskan ke langganan untuk topik tersebut. Jadi, pesan aktif mengandalkan topik itu sendiri adalah 0, karena pesan-pesan itu telah berhasil diteruskan ke langganan. Dapatkan jumlah pesan di langganan dan verifikasikan bahwa pesan tersebut lebih besar dari 0. Meskipun Anda melihat pesan di langganan, pesan-pesan tersebut benar-benar disimpan dalam penyimpanan yang dimiliki oleh topik tersebut. Jika Anda melihat langganan, maka mereka akan memiliki jumlah pesan non-nol, yang berkontribusi pada penyimpanan yang digunakan oleh topik.
Menggunakan portal Azure
Buka namespace Anda, dan pilih antrean. Anda melihat penghitung pesan di halaman Ringkasan untuk antrean.
Buka namespace Anda, pilih topik, lalu pilih langganan untuk topik tersebut. Anda melihat penghitung pesan di halaman Ringkasan untuk antrean.
Menggunakan Azure CLI
Gunakan perintah az servicebus queue show
untuk mendapatkan detail penghitungan pesan untuk antrean, seperti yang diperlihatkan dalam contoh berikut.
az servicebus queue show --resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--query countDetails
Berikut adalah sampel output:
ActiveMessageCount DeadLetterMessageCount ScheduledMessageCount TransferMessageCount TransferDeadLetterMessageCount
-------------------- ------------------------ ----------------------- ---------------------- --------------------------------
0 0 0 0 0
Gunakan perintah az servicebus topic subscription show
untuk mendapatkan detail penghitungan pesan untuk langganan, seperti yang diperlihatkan dalam contoh berikut.
az servicebus topic subscription show --resource-group myresourcegroup \
--namespace-name mynamespace \
--topic-name mytopic \
--name mysub \
--query countDetails
Menggunakan Azure PowerShell
Dengan PowerShell, Anda bisa mendapatkan detail jumlah pesan untuk antrean sebagai berikut:
$queueObj=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queueObj.CountDetails
Berikut sampel outputnya:
ActiveMessageCount : 7
DeadLetterMessageCount : 1
ScheduledMessageCount : 3
TransferMessageCount : 0
TransferDeadLetterMessageCount : 0
Anda bisa mendapatkan detail penghitungan pesan untuk langganan sebagai berikut:
$topicObj= Get-AzServiceBusSubscription -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-TopicName mytopic `
-SubscriptionName mysub
$topicObj.CountDetails
Objek MessageCountDetails
yang dikembalikan memiliki properti berikut: ActiveMessageCount
, DeadLetterMessageCount
, ScheduledMessageCount
, TransferDeadLetterMessageCount
, TransferMessageCount
.
Langkah berikutnya
Cobalah sampel dalam bahasa pilihan Anda untuk menjelajahi fitur Azure Service Bus.
- Sampel pustaka klien Azure Service Bus untuk .NET (terbaru)
- Sampel pustaka klien Azure Service Bus untuk Java (terbaru)
- Sampel pustaka klien Azure Service Bus untuk Python
- Sampel pustaka klien Azure Service Bus untuk JavaScript
- Sampel pustaka klien Azure Service Bus untuk TypeScript
Temukan sampel untuk pustaka klien .NET dan Java yang lebih lama di bawah ini:
- Sampel pustaka klien Azure Service Bus untuk .NET (warisan)
- Sampel pustaka klien Azure Service Bus untuk Java (warisan)
Pada 30 September 2026, kami akan menghentikan pustaka Azure Bus Layanan SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus, dan com.microsoft.azure.servicebus, yang tidak sesuai dengan panduan Azure SDK. Kami juga akan mengakhiri dukungan protokol SBMP, sehingga Anda tidak akan lagi dapat menggunakan protokol ini setelah 30 September 2026. Migrasikan ke pustaka Azure SDK terbaru, yang menawarkan pembaruan keamanan penting dan kemampuan yang ditingkatkan, sebelum tanggal tersebut.
Meskipun pustaka lama masih dapat digunakan melebihi 30 September 2026, pustaka tersebut tidak akan lagi menerima dukungan dan pembaruan resmi dari Microsoft. Untuk informasi selengkapnya, lihat pengumuman penghentian dukungan.