Topik ini menjelaskan konsep produsen dalam ApsaraMQ for RocketMQ, termasuk peran produsen dalam model pesan, atributnya, kompatibilitas, serta beberapa catatan penggunaan.
Definisi
Seorang produsen di ApsaraMQ for RocketMQ adalah entitas fungsional yang bertugas membuat dan mengirimkan pesan ke server.
Biasanya, produsen terintegrasi dengan sistem bisnis untuk mengenkapsulasi data sebagai pesan dalam ApsaraMQ for RocketMQ dan mengirimkannya ke server. Untuk informasi lebih lanjut tentang pesan, lihat Pesan.
Elemen berikut didefinisikan pada sisi pengiriman pesan oleh produsen:
Mode transmisi: Produsen dapat menentukan mode transmisi pesan melalui Operasi API. ApsaraMQ for RocketMQ mendukung transmisi sinkron dan asinkron. Untuk detail lebih lanjut, lihat Model.
Perilaku transaksional: ApsaraMQ for RocketMQ mendukung pesan transaksional. Produsen berperan dalam pemeriksaan transaksi untuk memastikan konsistensi akhir dari transaksi. Untuk informasi lebih lanjut, lihat Pesan transaksional.
Hubungan antara produsen dan topik bersifat banyak-ke-banyak. Seorang produsen dapat mengirim pesan ke beberapa topik, dan sebuah topik dapat menerima pesan dari beberapa produsen. Hubungan ini meningkatkan performa dan mendukung pemulihan bencana.

Hubungan model
Gambar berikut menggambarkan peran produsen dalam model pesan ApsaraMQ for RocketMQ.
- Produsen memproduksi dan mengirim pesan ke broker ApsaraMQ for RocketMQ.
- Broker ApsaraMQ for RocketMQ menyimpan pesan dalam antrian sesuai urutan penerimaan berdasarkan topik.
- Konsumen mengambil dan mengonsumsi pesan dari broker ApsaraMQ for RocketMQ berdasarkan langganan yang ditentukan.
Atribut internal
- Titik akhir (wajib): Alamat yang digunakan klien untuk mengakses broker ApsaraMQ for RocketMQ. Titik akhir mengidentifikasi kluster broker.
Konfigurasikan titik akhir dalam format tertentu. Kami merekomendasikan penggunaan nama domain daripada alamat IP untuk mencegah masalah selama perubahan node.
- Otentikasi identitas (opsional): Kredensial untuk memverifikasi identitas klien.
Parameter ini hanya diperlukan jika fitur otentikasi diaktifkan pada broker.
- Periode timeout permintaan (opsional): Timeout untuk permintaan klien. Untuk nilai valid, lihat Batas Parameter.
Kebijakan Pengulangan Pengiriman menentukan cara produsen mencoba mengirim ulang pesan setelah kegagalan. Untuk informasi lebih lanjut, lihat Pengulangan Pengiriman Pesan.
Kompatibilitas
Mulai versi 5.x ApsaraMQ for RocketMQ, produsen anonim dan grup produsen dihentikan. Untuk Message Queue for Apache RocketMQ versi 3.x dan 4.x, grup produsen yang ada dapat dihentikan tanpa memengaruhi bisnis Anda.
Catatan penggunaan
Kami merekomendasikan Anda membatasi jumlah produsen pada proses individu.
Dalam ApsaraMQ for RocketMQ, hubungan antara produsen dan topik bersifat banyak-ke-banyak. Seorang produsen tunggal dapat mengirim pesan ke beberapa topik. Kami merekomendasikan pembuatan jumlah produsen minimum yang diperlukan dan penggunaan kembali sebanyak mungkin produsen. Misalnya, dalam skenario multi-topik, Anda tidak perlu membuat produsen baru untuk setiap topik.
Kami merekomendasikan Anda tidak membuat dan menghapus produsen secara rutin.
Produsen ApsaraMQ for RocketMQ adalah sumber daya tingkat rendah yang dapat digunakan kembali, seperti kumpulan koneksi database. Hindari membuat produsen setiap kali mengirim pesan atau menghapusnya setelah pengiriman. Ini akan menghasilkan beban tinggi pada sistem karena permintaan koneksi singkat.
Contoh penggunaan yang benar
Producer p = ProducerBuilder.build(); for (int i =0;i<n;i++) { Message m= MessageBuilder.build(); p.send(m); } p.shutdown();Contoh penggunaan yang salah
for (int i =0;i<n;i++) { Producer p = ProducerBuilder.build(); Message m= MessageBuilder.build(); p.send(m); p.shutdown(); }