Azure Service Bus - Pertanyaan yang sering diajukan (FAQ)

Artikel ini membahas beberapa pertanyaan yang sering diajukan tentang Microsoft Azure Service Bus. Anda juga dapat mengunjungi Tanya Jawab Umum Dukungan Azure untuk informasi harga dan dukungan Azure umum.

Pertanyaan umum tentang Azure Service Bus

Apa yang dimaksud dengan Azure Service Bus?

Azure Service Bus adalah platform cloud perpesanan asinkron yang memungkinkan Anda mengirim data antar sistem yang dipisahkan. Microsoft menawarkan fitur ini sebagai layanan, yang berarti Anda tidak perlu meng-host perangkat keras Anda sendiri untuk menggunakannya.

Apa itu namespace Service Bus?

Namespace menyediakan kontainer pelingkup untuk mengatasi sumber daya Service Bus dalam aplikasi Anda. Membuat namespace diperlukan untuk menggunakan Service Bus dan merupakan salah satu langkah pertama dalam memulai.

Apa itu antrean Azure Service Bus?

Antrean Service Bus adalah entitas tempat pesan disimpan. Antrean berguna ketika Anda memiliki beberapa aplikasi, atau beberapa bagian dari aplikasi terdistribusi yang perlu berkomunikasi satu sama lain. Antrean mirip dengan pusat distribusi di mana beberapa produk (pesan) diterima dan kemudian dikirim dari lokasi tersebut.

Apa itu topik dan langganan Azure Service Bus?

Topik dapat divisualisasikan sebagai antrean dan saat menggunakan beberapa langganan, topik ini menjadi model pesan yang lebih kaya; pada dasarnya alat komunikasi satu-ke-banyak. Model publikasi/berlangganan ini (atau pub/sub) memungkinkan aplikasi yang mengirim pesan ke topik dengan beberapa langganan agar pesan tersebut diterima oleh beberapa aplikasi.

Apa itu entitas yang dipartisi?

Antrean atau topik konvensional ditangani oleh broker pesan tunggal dan disimpan dalam satu penyimpanan olahpesan. Antrean yang dipartisi, atau topik ditangani oleh beberapa broker pesan dan disimpan di beberapa penyimpanan olahpesan. Fitur ini berarti bahwa throughput keseluruhan antrean atau topik yang dipartisi tidak lagi dibatasi oleh kinerja broker pesan tunggal atau toko pesan. Selain itu, pemadaman sementara toko perpesanan tidak membuat antrean atau topik yang dipartisi tidak tersedia.

Pemesanan tidak dipastikan saat menggunakan entitas yang dipartisi. Jika partisi tidak tersedia, Anda masih dapat mengirim dan menerima pesan dari partisi lain.

Di mana Azure Service Bus menyimpan data?

Tingkat standar Azure Service Bus menggunakan Azure SQL Database untuk lapisan penyimpanan backend-nya. Untuk semua wilayah kecuali Brasil Asia Selatan dan Tenggara, cadangan database dihosting di wilayah yang berbeda (biasanya wilayah berpasangan Azure). Untuk wilayah Brasil di Asia Selatan dan Tenggara, cadangan basis data disimpan di wilayah yang sama untuk mengakomodasi persyaratan residensi data untuk wilayah ini.

Tingkat premium Azure Service Bus menyimpan metadata dan data di wilayah yang Anda pilih. Saat pemulihan geo-bencana disiapkan untuk namespace premium Azure Service Bus, metadata disalin ke wilayah sekunder yang Anda pilih.

Port apa yang perlu saya buka pada firewall?

Anda bisa menggunakan protokol berikut dengan Azure Service Bus untuk mengirim dan menerima pesan:

  • Advanced Message Queuing Protocol 1.0 (AMQP)
  • Hypertext Transfer Protocol 1.1 dengan TLS (HTTPS)

Lihat tabel berikut untuk port TCP keluar yang perlu Anda buka untuk menggunakan protokol ini untuk berkomunikasi dengan Azure Service Bus:

Protokol Port Detail
AMQP 5671, 5672 AMQP dengan TLS. Lihat panduan protokol AMQP
HTTPS 443 Port ini digunakan untuk API HTTP/REST dan untuk AMQP-over-WebSockets

Port HTTPS umumnya diperlukan untuk komunikasi keluar juga ketika AMQP digunakan melalui port 5671, karena beberapa operasi manajemen yang dilakukan oleh SDK klien dan akuisisi token dari ID Microsoft Entra (saat digunakan) berjalan melalui HTTPS.

Azure SDK resmi umumnya menggunakan protokol AMQP untuk mengirim dan menerima pesan dari Service Bus.

Opsi protokol AMQP-over-WebSockets berjalan melalui port TCP 443 seperti halnya HTTP/REST API, tetapi sebaliknya secara fungsional identik dengan AMQP biasa. Opsi ini memiliki latensi koneksi awal yang lebih tinggi karena perjalanan pulang-pergi handshake ekstra dan sedikit lebih banyak overhead sebagai tradeoff untuk berbagi port HTTPS. Jika mode ini dipilih, port TCP 443 cukup untuk komunikasi. Opsi berikut memungkinkan Anda untuk memilih mode AMQP WebSockets.

Bahasa Opsi
.NET (Azure.Messaging.ServiceBus) Buat ServiceBusClient dengan menggunakan konstruktor yang mengambil ServiceBusClientOptions sebagai parameter. Atur ServiceBusClientOptions.TransportType ke ServiceBusTransportType.AmqpWebSockets
.NET (Microsoft.Azure.ServiceBus) Saat membuat objek klien, gunakan konstruktor yang mengambil TransportType, ServiceBusConnection, atau ServiceBusConnectionStringBuilder sebagai parameter.

Untuk konstruksi yang mengambil transportType sebagai parameter, atur parameter ke TransportType.AmqpWebSockets.

Untuk konstruktor yang mengambil ServiceBusConnection sebagai parameter, atur ServiceBusConnection.TransportType ke TransportType.AmqpWebSockets.

Jika Anda menggunakan ServiceBusConnectionStringBuilder, gunakan konstruktor yang memberi Anda opsi untuk menentukan transportType.

Java (com.azure.messaging.servicebus) Saat membuat klien, atur ServiceBusClientBuilder.transportType ke AmqpTransportType.AMQP.AMQP_WEB_SOCKETS
Java (com.microsoft.azure.servicebus) Saat membuat klien, atur transportType pada com.microsoft.azure.servicebus.ClientSettings ke com.microsoft.azure.servicebus.primitives.TransportType.AMQP_WEB_SOCKETS
JavaScript Saat membuat objek klien Bus Layanan, gunakan properti webSocketOptions di ServiceBusClientOptions.
Python Saat membuat klien Bus Layanan, atur ServiceBusClient.transport_type ke TransportType.AmqpOverWebSocket

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.

Apakah Azure Bus Layanan mendukung Java Message Service (JMS)?

Alamat IP apa yang perlu saya tambahkan ke daftar yang diizinkan?

Guna menemukan alamat IP yang tepat yang akan ditambahkan ke daftar yang diizinkan untuk koneksi Anda, ikuti langkah-langkah berikut:

  1. Jalankan perintah berikut ini dari prompt perintah:

    nslookup <YourNamespaceName>.servicebus.windows.net
    
  2. Catat alamat IP yang dikembalikan di Non-authoritative answer.

Jika menggunakan redundansi zona untuk namespace, Anda perlu melakukan beberapa langkah tambahan:

  1. Pertama, Anda menjalankan nslookup pada namespace.

    nslookup <yournamespace>.servicebus.windows.net
    
  2. Catat nama di bagian jawaban non-otoritatif, yang berupa salah satu format berikut:

    <name>-s1.cloudapp.net
    <name>-s2.cloudapp.net
    <name>-s3.cloudapp.net
    
  3. Jalankan nslookup untuk masing-masingnya dengan akhiran s1, s2, dan s3 untuk mendapatkan alamat IP dari ketiga instans yang berjalan di tiga zona ketersediaan,

    Catatan

    Alamat IP yang dikembalikan oleh perintah nslookup bukanlah alamat IP statis. Ini tetap konstan sampai penyebaran yang mendasar dihapus atau dipindahkan ke kluster yang berbeda, namun menggunakan alamat IN tidak direkomendasikan atau didukung, dan Anda harus melacak perubahan pada alamat IP.

Di mana saya dapat menemukan alamat IP klien mengirim/menerima pesan ke/dari namespace ?

Kami tidak mencatat alamat IP klien yang mengirim atau menerima pesan ke/dari namespace Anda. Regenerasi kunci sehingga semua klien yang ada akan gagal mengautentikasi dan meninjau pengaturan kontrol akses berbasis peran Azure (Azure RBAC)untuk memastikan bahwa hanya pengguna atau aplikasi yang diizinkan yang memiliki akses ke namespace.

Jika Anda menggunakan namespace premium, gunakan pemfilteran IP, titik akhir layanan jaringan virtual, dan titik akhir privat untuk membatasi akses ke namespace.

Praktik terbaik

Apa saja praktik terbaik Azure Service Bus?

Lihat Praktik terbaik untuk peningkatan kinerja menggunakan Service Bus - artikel ini menjelaskan cara mengoptimalkan kinerja saat bertukar pesan.

Apa yang harus saya ketahui sebelum membuat entitas?

Properti antrean dan topik berikut ini tidak dapat diubah. Pertimbangkan batasan ini saat Anda membuat entitas, karena properti ini tidak dapat dimodifikasi tanpa membuat entitas pengganti baru.

  • Partisi
  • Sesi
  • Deteksi duplikat
  • Entitas ekspres

Harga

Bagian ini menjawab beberapa pertanyaan yang sering diajukan tentang struktur harga Service Bus.

Artikel harga dan tagihan Service Bus menjelaskan meter tagihan di Service Bus. Untuk informasi spesifik tentang opsi harga Service Bus, lihat Detail harga Service Bus.

Anda juga dapat mengunjungi Tanya Jawab Umum Dukungan Azure untuk informasi harga Azure umum.

Bagaimana Anda mengenakan biaya untuk Service Bus?

Untuk informasi lengkap tentang harga Service Bus, lihat Detail harga Service Bus. Selain harga yang terisi, Anda dikenakan biaya untuk transfer data terkait untuk jalan keluar di luar pusat data tempat aplikasi Anda disediakan.

Penggunaan Service Bus apa yang tunduk pada transfer data? Apa yang tidak?

Setiap transfer data dalam wilayah Azure tertentu disediakan tanpa biaya, serta transfer data masuk apa pun. Transfer data di luar wilayah dikenakan biaya keluar, yang dapat ditemukan di sini.

Apakah Service Bus mengenakan biaya untuk penyimpanan?

Tidak. Service Bus tidak dikenakan biaya untuk penyimpanan. Namun, ada kuota yang membatasi jumlah data maksimal yang dapat di bertahan per antrean/topik. Lihat Tanya Jawab Umum berikutnya.

Aku punya namespace Service Bus Standard. Mengapa saya melihat biaya di bawah grup sumber daya '$system'?

Azure Service Bus baru-baru ini meningkatkan komponen penagihan. Karena perubahan ini, jika Anda memiliki namespace Bus Layanan Standar, Anda mungkin melihat item baris untuk sumber daya /subscriptions/<azure_subscription_id>/resourceGroups/$system/providers/Microsoft.ServiceBus/namespaces/$system di bawah grup $systemsumber daya .

Biaya ini mewakili biaya dasar per langganan Azure yang telah menyediakan namespace Service Bus Standard.

Penting untuk dicatat bahwa biaya ini bukan hal baru, yaitu, mereka juga ada dalam model penagihan sebelumnya. Satu-satunya perubahan adalah bahwa mereka sekarang tercantum di bawah $system. Ini dilakukan karena kendala dalam sistem penagihan baru yang mengelompokkan biaya tingkat langganan, tidak terkait dengan sumber daya tertentu, di bawah $system ID sumber daya.

Kuota

Untuk daftar batas dan kuota Service Bus, simak gambaran umum kuota Service Bus.

Bagaimana cara menangani pesan berukuran > 1 MB?

Layanan perpesanan Bus Layanan (antrian dan topik / langganan) memungkinkan aplikasi untuk mengirim pesan ukuran hingga 256 KB (tingkat standar) atau 100 MB (tingkat premium). Jika Anda berurusan dengan pesan ukuran lebih besar dari ukuran yang diizinkan, gunakan pola pemeriksaan klaim yang dijelaskan dalam posting blog ini.

Pemecahan Masalah

Mengapa saya tidak bisa membuat namespace setelah menghapusnya dari langganan lain?

Saat Anda menghapus namespace dari langganan, tunggu 4 jam sebelum membuatnya kembali dengan nama yang sama di langganan lain. Jika tidak, Anda mungkin menerima pesan kesalahan berikut: Namespace already exists.

Apa saja pengecualian yang dihasilkan oleh Azure Service Bus API dan tindakan yang disarankan?

Untuk daftar kemungkinan pengecualian Service Bus, lihat Gambaran umum pengecualian.

Apa itu Shared Access Signature dan dukungan bahasa mana yang menghasilkan tanda tangan?

Shared Access Signatures adalah mekanisme autentikasi berdasarkan hash atau URI aman SHA-256. Untuk informasi tentang cara membuat tanda tangan Anda sendiri di Node.js, PHP, Java, Python, dan C#, lihat artikel Shared Access Signature.

Manajemen langganan dan namespace

Bagaimana cara memigrasikan namespace ke langganan Azure lainnya?

Anda bisa memindahkan namespace dari satu langganan Azure ke langganan Azure lainnya, menggunakan portal Microsoft Azure atau perintah PowerShell. Untuk menjalankan operasi, namespace harus sudah aktif. Pengguna yang menjalankan perintah harus merupakan administrator pada langganan sumber dan target.

Portal

Untuk menggunakan portal Microsoft Azure untuk memigrasikan namespace Service Bus ke langganan lain, ikuti petunjuk di sini.

PowerShell

Urutan perintah PowerShell berikut memindahkan namespace dari satu langganan Azure ke langganan Azure lainnya. Untuk menjalankan operasi ini, namespace harus sudah aktif, dan pengguna yang menjalankan perintah PowerShell harus menjadi administrator pada langganan sumber dan target.

# Create a new resource group in target subscription
Select-AzSubscription -SubscriptionId 'ffffffff-ffff-ffff-ffff-ffffffffffff'
New-AzResourceGroup -Name 'targetRG' -Location 'East US'

# Move namespace from source subscription to target subscription
Select-AzSubscription -SubscriptionId 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
$res = Find-AzResource -ResourceNameContains mynamespace -ResourceType 'Microsoft.ServiceBus/namespaces'
Move-AzResource -DestinationResourceGroupName 'targetRG' -DestinationSubscriptionId 'ffffffff-ffff-ffff-ffff-ffffffffffff' -ResourceId $res.ResourceId

Apakah mungkin untuk menonaktifkan TLS 1.0 atau 1.1 pada namespace Service Bus?

Ya, Anda dapat menonaktifkan TLS 1.0 atau 1.1 pada namespace layanan Azure Service Bus dengan mengatur versi TLS minimum. Untuk informasi selengkapnya, lihat Memberlakukan versi minimum Keamanan Lapisan Transportasi (TLS) yang diperlukan untuk permintaan ke namespace layanan Azure Service Bus.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang Service Bus, lihat artikel berikut ini: