Topik ini memberikan panduan memulai cepat tentang cara menggunakan ApsaraMQ for MQTT untuk mempublikasikan dan berlangganan pesan melalui protokol MQTT yang didukung secara default.
Jika Anda ingin mengakses instance Antrian Pesan untuk MQTT melalui protokol non-MQTT, seperti Standar Nasional Kendaraan Energi Baru Tiongkok, Anda harus membeli instance Edisi Platinum ApsaraMQ for MQTT. Dokumentasi dan layanan dukungan teknis untuk instance Edisi Platinum disediakan dalam saluran eksklusif.
Perhatian
ApsaraMQ for MQTT harus digunakan bersama dengan antrian penyimpanan pesan backend. Perhatikan poin-poin berikut:
Sebuah instance ApsaraMQ for MQTT adalah instance gateway tanpa status yang digunakan untuk mempertahankan koneksi klien dan meneruskan pesan dalam skenario Internet seluler dan IoT. Instance Antrian Pesan untuk MQTT tidak mendukung persistensi data pesan. Oleh karena itu, Anda harus mengonfigurasi instance penyimpanan pesan untuk menyimpan pesan dan mendukung persistensi data pesan.
Setiap instance ApsaraMQ for MQTT (instance gateway) harus dihubungkan ke instance penyimpanan (instance ApsaraMQ for RocketMQ).
Saat ini, hanya instance penyimpanan backend ApsaraMQ for RocketMQ yang dapat digunakan sebagai instance penyimpanan pesan.
Sejumlah terbatas instance ApsaraMQ for MQTT dapat dibuat di wilayah yang sama. Sebuah instance ApsaraMQ for MQTT hanya dapat dihubungkan ke satu instance ApsaraMQ for RocketMQ. Untuk jumlah maksimum instance yang dapat dibuat di satu wilayah, lihat petunjuk di konsol.
Sebelum menggunakan ApsaraMQ for MQTT, perhatikan batasan akses jaringan berikut:
Hanya topik dan ID grup pada instance yang sama di wilayah yang sama yang dapat saling terhubung. Misalnya, jika sebuah topik dibuat pada Instance A di wilayah China (Beijing), topik tersebut hanya dapat diakses oleh klien ApsaraMQ for MQTT (selanjutnya disebut klien) dengan ID grup yang dibuat pada Instance A di wilayah China (Beijing).
Prosedur
Proses menunjukkan cara menggunakan ApsaraMQ for MQTT untuk mempublikasikan dan berlangganan pesan.
Gambar 1. Proses
Anda harus membuat sumber daya sebelum mempublikasikan dan berlangganan pesan pada klien, seperti yang ditunjukkan pada Proses. Jika tidak, broker ApsaraMQ for MQTT akan menolak koneksi tidak valid ke klien.
Prasyarat
ApsaraMQ for RocketMQ telah diaktifkan. Jika Antrian Pesan untuk Apache RocketMQ belum diaktifkan, aktifkan layanan ini.
Pasangan AccessKey Alibaba Cloud telah diperoleh. Untuk informasi lebih lanjut, lihat Mendapatkan Pasangan AccessKey.
Langkah 1: Membuat Sumber Daya
Anda harus membuat sumber daya berikut:
Instance ApsaraMQ for MQTT yang digunakan untuk mempertahankan koneksi klien dan meneruskan pesan
Instance penyimpanan pesan yang digunakan untuk menyimpan pesan. Hanya instance ApsaraMQ for RocketMQ yang didukung.
Topik induk yang merupakan topik tingkat-1 dan digunakan untuk mempublikasikan dan berlangganan pesan.
ID Grup yang digunakan untuk mengidentifikasi klien.
Pilih wilayah.
Pilih wilayah tempat Anda ingin membuat sumber daya berdasarkan kebutuhan bisnis Anda.
Masuk ke Konsol Antrian Pesan untuk MQTT.
Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat sumber daya, seperti China (Beijing).
Buat instance ApsaraMQ for MQTT.
Pertama, Anda harus membuat instance ApsaraMQ for MQTT. Perhatikan poin-poin berikut sebelum membuat instance:
Sejumlah terbatas instance dari semua jenis dapat dibuat di setiap wilayah. Untuk informasi tentang batasan spesifik, lihat petunjuk di konsol.
Estimasi transaksi per detik (TPS), jumlah koneksi, dan jumlah langganan berdasarkan skenario bisnis. Pilih spesifikasi instance yang sesuai. Untuk instance langganan, jika Anda memilih spesifikasi yang terlalu kecil, pembatasan layanan mungkin dipicu dan layanan Anda mungkin terpengaruh.
Instance Edisi Dasar langsung berlaku setelah pembelian. Dibutuhkan waktu untuk menerapkan instance Edisi Platinum setelah instance dibeli. Anda akan diberitahu ketika instance tersedia.
Lakukan langkah-langkah berikut untuk membuat instance ApsaraMQ for MQTT:
Di panel navigasi sisi kiri, klik Overview.
Di halaman Instance, klik Create Instance.
Di halaman yang muncul, pilih tipe instance ApsaraMQ for MQTT dan tentukan konfigurasi sesuai kebutuhan. Ikuti petunjuk di layar untuk menyelesaikan pembelian.
Kembali ke halaman Overview. Anda dapat melihat instance ApsaraMQ for MQTT yang Anda beli atau buat di daftar instance.
Buat dan hubungkan instance penyimpanan.
Setelah Anda membuat instance ApsaraMQ for MQTT, Anda juga perlu membuat instance untuk menyimpan topik dan pesan. Saat ini, Anda hanya dapat membuat instance ApsaraMQ for RocketMQ untuk menyimpan topik dan pesan. Kemudian, hubungkan instance ApsaraMQ for RocketMQ ke instance ApsaraMQ for MQTT.
Perhatikan batasan berikut saat menghubungkan instance:
Sebuah instance ApsaraMQ for MQTT hanya dapat dihubungkan sekali, dan instance penyimpanan pesan yang terhubung tidak dapat diubah setelah penghubungan selesai.
Setiap instance penyimpanan hanya dapat dihubungkan ke satu instance ApsaraMQ for MQTT. Penghubungan satu-ke-banyak tidak didukung.
Kedua instance yang akan dihubungkan harus memiliki tipe namespace yang sama. Instance dengan namespace eksklusif tidak dapat dihubungkan ke instance dengan namespace non-eksklusif.
Jika Anda menghapus instance penyimpanan yang terhubung ke instance ApsaraMQ for MQTT, instance ApsaraMQ for MQTT mungkin tidak tersedia.
Lakukan langkah-langkah berikut untuk membuat dan menghubungkan instance penyimpanan:
Di panel navigasi sisi kiri, klik Overview. Pilih instance ApsaraMQ for MQTT yang Anda buat, dan klik Configure Settings.
Di kotak dialog Message Persistence Settings, atur parameter berdasarkan situasi instance dan kebutuhan Anda.
Jika Anda telah membeli instance ApsaraMQ for RocketMQ, pilih Select Existing Instance. Setelah Anda memilih opsi ini, daftar instance penyimpanan pesan yang telah Anda buat atau beli ditampilkan. Klik instance ApsaraMQ for RocketMQ yang ada yang digunakan sebagai instance penyimpanan pesan, lalu klik Confirm untuk menyelesaikan penghubungan.
Gambar 2. Pilih instance yang ada

Jika Anda belum membeli instance ApsaraMQ for RocketMQ, pilih opsi berikut:
Create Shared Instance: Anda perlu membuat instance Edisi Standar ApsaraMQ for RocketMQ. Masukkan nama instance dan deskripsi. Lalu, klik OK.
Gambar 3. Buat instance bersama

Purchase Platinum Instance: Anda perlu membuat instance Edisi Platinum ApsaraMQ for RocketMQ. Pilih Purchase Platinum Instance, dan klik Buy Now. Ikuti petunjuk di layar untuk membeli atau membuat instance.
Gambar 4. Buat instance Edisi Platinum

Setelah instance dibuat, ulangi langkah i dan ii dan pilih Select Existing Instance. Klik instance ApsaraMQ for RocketMQ yang Anda buat, lalu klik OK untuk menyelesaikan penghubungan.
Buat topik.
Untuk mempublikasikan dan berlangganan pesan melalui MQTT, Anda harus membuat topik induk MQTT. Subtopik di berbagai level dapat langsung ditambahkan di kode tanpa perlu membuatnya di konsol.
Hubungan pengikatan satu-ke-satu dibentuk antara instance ApsaraMQ for MQTT dan instance penyimpanan. Oleh karena itu, topik sebenarnya dibuat pada instance penyimpanan dan dipetakan ke konsol ApsaraMQ for MQTT. Anda juga dapat melakukan semua operasi topik di konsol Antrian Pesan untuk Apache RocketMQ.
Jika Anda telah membuat topik saat menggunakan ApsaraMQ for RocketMQ, Anda juga dapat menggunakan topik tersebut secara langsung. Jika Anda belum membuat topik, lakukan langkah-langkah berikut untuk membuat topik:
Di panel navigasi sisi kiri, klik Message Storage.
Di halaman Topics, pilih instance ApsaraMQ for MQTT yang Anda buat dan klik Create Topic.
Di kotak dialog Create Topic, masukkan nama topik, pilih tipe pesan yang akan disimpan, diterbitkan, dan dilanggan untuk topik tersebut, dan masukkan catatan. Lalu, klik OK.
CatatanUntuk menggunakan klien ApsaraMQ for MQTT untuk mempublikasikan pesan terurut, pilih tipe pesan terurut. Saat ini, klien ApsaraMQ for MQTT tidak mendukung pesan terurut kuat dalam skenario konsumsi.
Buat ID Grup.
Di ApsaraMQ for MQTT, ID Grup menentukan sekelompok node dengan logika dan fitur yang identik. ID Grup mewakili sekelompok perangkat yang memiliki fitur yang sama. ID Grup dan ID perangkat digunakan bersama-sama untuk mengidentifikasi ID klien dari klien Antrian Pesan untuk MQTT. Untuk informasi lebih lanjut, lihat Istilah.
Di panel navigasi sisi kiri, klik Groups.
Di halaman Groups, pilih instance ApsaraMQ for MQTT yang Anda buat dan klik Create Group ID.
Gambar 5. Buat ID Grup

Di kotak dialog Create Group ID, masukkan ID Grup dan klik OK.
Setelah ID Grup dibuat, ID Grup baru muncul di halaman Groups. Halaman Grup menunjukkan semua ID Grup Anda di wilayah saat ini.
CatatanHapus ID Grup secepat mungkin jika Anda tidak lagi menggunakannya.
ID Grup hanya dapat digunakan oleh akun yang membuatnya. ID Grup yang dibuat oleh akun Alibaba Cloud tidak dapat digunakan oleh Pengguna Manajemen Akses Sumber Daya (RAM) di akun Alibaba Cloud. Pengguna RAM harus membuat ID Grup mereka sendiri secara terpisah.
Langkah 2: Mendapatkan Titik Akhir
Untuk menggunakan SDK untuk mempublikasikan dan berlangganan pesan, Anda harus menentukan titik akhir instance ApsaraMQ for MQTT di SDK. Titik akhir instance ApsaraMQ for MQTT terdiri dari nama domain titik akhir dan port.
Setelah instance ApsaraMQ for MQTT dihubungkan ke instance ApsaraMQ for RocketMQ, informasi titik akhir ditampilkan di bagian Endpoint Information. Anda dapat memperoleh informasi titik akhir.
Setelah instance ApsaraMQ for MQTT dihubungkan ke instance ApsaraMQ for RocketMQ, Anda juga dapat melakukan langkah-langkah berikut untuk mendapatkan titik akhir:
Di bilah navigasi atas konsol, pilih wilayah tempat sumber daya yang dibuat berada, lalu klik Instances di panel navigasi sisi kiri.
Di halaman Instances yang muncul secara default, pilih instance ApsaraMQ for MQTT yang dibuat dan klik tab Instance Information.
Di halaman tab Instance Information, lihat nama domain titik akhir di bagian Endpoint Information.
Gambar 6. Dapatkan titik akhir

ApsaraMQ for MQTT menyediakan Public Endpoint dan VPC Endpoint.
Public Endpoint adalah alamat IP yang digunakan untuk mengakses ApsaraMQ for MQTT melalui Internet. Dalam banyak kasus, titik akhir publik digunakan dalam skenario IoT dan Internet seluler.
VPC Endpoint adalah alamat IP yang digunakan untuk mengakses ApsaraMQ for MQTT di cloud virtual pribadi (VPC). Dalam banyak kasus, titik akhir VPC digunakan oleh aplikasi cloud untuk terhubung ke ApsaraMQ for MQTT.
Jika Anda ingin menggunakan titik akhir untuk menghubungkan klien ke ApsaraMQ for MQTT, gunakan nama domain alih-alih alamat IP karena alamat IP berubah secara dinamis. Tim teknis ApsaraMQ for MQTT tidak bertanggung jawab atas kesalahan dan kerugian langsung atau tidak langsung dalam skenario berikut:
Anda menggunakan alamat IP untuk mengakses klien Anda ke ApsaraMQ for MQTT. Setelah tim teknis ApsaraMQ for MQTT memperbarui resolusi nama domain, alamat IP asli menjadi tidak valid.
Kebijakan firewall pada alamat IP diatur di jaringan tempat klien Anda berjalan. Setelah tim teknis ApsaraMQ for MQTT memperbarui resolusi nama domain, alamat IP baru diblokir karena kebijakan firewall.
Ports
Saat ini, ApsaraMQ for MQTT mendukung MQTT pada TCP, MQTT SSL, WebSocket, WebSocket SSL/TLS, dan Flash. Port layanan yang sesuai tercantum di Port. Ganti nomor port di titik akhir sesuai kebutuhan.
ApsaraMQ for MQTT menyediakan enkripsi SSL satu arah, sehingga sertifikat tidak perlu diunggah di klien. Sertifikat sisi server diterbitkan secara otomatis dengan jabat tangan permintaan dan terikat kuat dengan nama domain titik akhir. Oleh karena itu, enkripsi sertifikat kustom tidak didukung.
Tabel 1. Port
MQTT pada TCP | SSL | WebSocket | WebSocket SSL/TLS | Flash |
1883 | 8883 | 80 | 443 | 843 |
Langkah 3: Publikasikan dan Berlangganan Pesan Menggunakan SDK
Unduh SDK klien. Untuk informasi tentang alamat unduhan SDK dalam berbagai bahasa, lihat Unduh SDK.
ApsaraMQ for MQTT mendukung protokol MQTT standar secara default, jadi kami merekomendasikan Anda menggunakan SDK klien pihak ketiga open source. Jika SDK klien dalam bahasa yang diinginkan tidak terdaftar, cari SDK yang kompatibel dengan MQTT di Internet.
Unduh proyek demo, lihat deskripsi parameter yang sesuai, lalu Anda dapat menjalankan demo untuk mempublikasikan dan berlangganan pesan. Untuk informasi tentang alamat unduhan demo, lihat Proyek Demo.
Pustaka demo saat ini hanya mencakup beberapa bahasa utama dan akan diperbarui nanti. Jika bahasa pengembangan yang sesuai tidak dicakup, unduh demo Java untuk modifikasi. Proyek demo hanya menunjukkan fungsi dasar. Anda harus memodifikasi semua parameter berdasarkan aplikasi dan lingkungan produksi Anda.
Informasi Tambahan
Selain mempublikasikan pesan menggunakan SDK atau API, Anda juga dapat mempublikasikan pesan di konsol untuk dengan cepat memverifikasi ketersediaan topik dengan melakukan langkah-langkah berikut:
Di panel navigasi sisi kiri, klik Message Storage.
Di bagian Topics pada halaman Message Storage, temukan topik yang Anda buat dan klik Send di kolom Actions.
Gambar 7. Publikasikan pesan

Di kotak dialog Send Message, atur atribut pesan, masukkan isi pesan, dan klik OK.
Konsol mengembalikan notifikasi bahwa pesan telah dikirim beserta ID pesan yang sesuai.
Gambar 8. Pesan terkirim
