All Products
Search
Document Center

ApsaraMQ for RocketMQ:Persiapkan lingkungan (v1.x.x)

Last Updated:Jun 22, 2026

Topik ini mencakup persiapan, instruksi, dan catatan untuk menggunakan C++ SDK guna mengirim dan menerima pesan di ApsaraMQ for RocketMQ.

Penting
  • Kami menyarankan Anda menggunakan SDK RocketMQ 5.x terbaru. SDK ini sepenuhnya kompatibel dengan broker ApsaraMQ for RocketMQ 5.x serta menyediakan lebih banyak fungsi dan fitur yang ditingkatkan. Untuk informasi selengkapnya, lihat Informasi versi C++ SDK.

  • Alibaba Cloud hanya memelihara SDK client TCP RocketMQ 4.x dan 3.x. Kami menyarankan Anda hanya menggunakannya untuk bisnis yang sudah ada.

Sebelum memulai, perhatikan hal-hal berikut:

  • Panduan ini hanya berlaku untuk C++ SDK v1.x.x.

  • Topic dan group ID yang digunakan dalam kode Anda harus dibuat terlebih dahulu di Konsol. Anda dapat menyesuaikan tag pesan secara penuh dalam aplikasi Anda. Untuk petunjuk cara membuat sumber daya tersebut, lihat Buat sumber daya.

  • Aplikasi yang menggunakan ApsaraMQ for RocketMQ harus dideploy pada Instance ECS.

Unduh SDK

C++ SDK menyediakan API yang identik untuk Windows dan Linux. Distribusi Linux yang didukung meliputi CentOS 6 (RHEL 6) dan CentOS 7 (RHEL 7). Untuk mengunduh C++ SDK, lihat Catatan rilis untuk TCP client SDK untuk C++.

Setelah Anda mengunduh dan mengekstrak paket tersebut, struktur direktori berikut akan muncul:

  • demo/ (Hanya untuk Windows)

    Proyek demo C++ Windows yang telah dikompilasi sebelumnya.

  • example/

    Contoh pengiriman pesan normal, pesan satu arah (one-way), dan pesan terurut, serta konsumsi pesan normal dan terurut. Pada Linux, direktori ini juga berisi Makefile untuk mengompilasi dan mengelola file example.

  • include/

    File header yang diperlukan untuk aplikasi Anda.

  • lib/

    • Subdirektori untuk SDK Linux berisi library statis dan dinamis 64-bit.

      lib-boost-share/
        libonsclient4cpp.so
      lib-boost-static/
        libonsclient4cpp.a                        
    • Subdirektori untuk SDK Windows berisi DLL 64-bit. Jika Visual Studio 2015 belum terinstal, Anda harus menginstal vc_redist.x64. Ini adalah runtime untuk Visual C++ 2015.

      64/
      vc_redist.x64                        
  • SDK_GUIDE.pdf

    Dokumentasi dan FAQ untuk menyiapkan lingkungan SDK.

  • changelog

    Daftar perbaikan bug dan fitur baru dalam rilis terbaru.

Linux C++ SDK

Sejak 2 Desember 2016, Linux C++ SDK bergantung pada library Boost berkinerja tinggi (versi 1.62.0) untuk mengurangi penggunaan CPU dan meningkatkan efisiensi. SDK ini terutama bergantung pada empat library: boost_system, boost_thread, boost_chrono, dan boost_filesystem. Solusi tautan statis maupun dinamis tersedia.

Tautan statis

File library untuk ApsaraMQ for RocketMQ berada di direktori lib/lib-boost-static, di mana library Boost ditautkan secara statis ke libonsclient4cpp.a. Jika aplikasi Anda tidak memiliki dependensi terhadap library Boost, Anda dapat langsung menggunakan solusi library statis ini. Dalam solusi ini, library Boost telah ditautkan ke libonsclient4cpp.a, sehingga Anda hanya perlu menautkan libonsclient4cpp.a saat kompilasi. Tidak diperlukan operasi tambahan. Penggunaannya sebagai berikut.

cd aliyun-mq-linux-cpp-sdk  // Direktori tempat Anda mengekstrak SDK.
cd example                  // Masuk ke direktori example dan modifikasi file example dengan topic, kunci, dan informasi lainnya.
make static=1            
Penting

Untuk tautan statis penuh, pastikan library statis terkait seperti libstdc++ dan pthread telah terinstal di mesin Anda. Instalasi default libstdc++ tidak menyertakan library statis. Anda harus menggunakan yum atau apt-get untuk menginstal library statis yang diperlukan.

Menggunakan metode ini dapat menghasilkan peringatan berikut:

warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking            

Sebagai praktik terbaik, kami menyarankan untuk menghindari tautan statis penuh. Sebaliknya, lakukan tautan statis hanya untuk onsclient4cpp dan tautan dinamis untuk library lainnya. Gunakan perintah berikut:

g++ -ggdb -Wall -O3 -I../include    ../example/ProducerExampleForEx.cpp  -Wl,-static -lonsclient4cpp -L../lib/lib-boost-static/ -Wl,-Bdynamic  -lpthread -ldl -lrt -o ../example/ProducerExampleForEx        

Selain itu, karena GCC 5.x memperkenalkan Dual ABI, tambahkan opsi -D_GLIBCXX_USE_CXX11_ABI=0 saat Anda mengompilasi dan menautkan.

Tautan dinamis

File library ApsaraMQ for RocketMQ berada di direktori lib/lib-boost-share. Anda harus menautkan library dinamis Boost dan libonsclient4cpp.so saat membuat file yang dapat dieksekusi. Jika aplikasi Anda sudah bergantung pada Boost dan Anda perlu menggunakan solusi tautan dinamis, lakukan langkah-langkah berikut:

  1. Unduh Boost versi 1.62.0.

    boost 1.62.0

  2. Ekstrak paket Boost 1.62.0.

    tar --bzip2 -xf /path/to/boost_1_62_0.tar.bz2

  3. Instal Boost 1.62.0.

    1. Berpindah ke direktori tempat Anda mengekstrak Boost 1.62.0: cd path/to/boost_1_62_0

    2. Konfigurasi Boost: ./bootstrap.sh

    3. Kompilasi Boost: ./b2 link=shared runtime-link=shared

    4. Instal Boost: ./b2 install

  4. Jalankan ldconfig -v|grep libboost. Keluaran dari perintah ini menunjukkan bahwa library dinamis Boost berada dalam jalur pencarian library dinamis.

  5. Saat membuat file yang dapat dieksekusi, tautkan library dinamis Boost dan library dinamis ApsaraMQ for RocketMQ dengan perintah berikut:

    cd aliyun-mq-linux-cpp-sdk  // Direktori tempat Anda mengekstrak SDK.
    cd example                  // Masuk ke direktori example dan modifikasi file example dengan topic, kunci, dan informasi lainnya dari Konsol ApsaraMQ for RocketMQ.
    g++ -Wall -Wno-deprecated -L ../lib/lib-boost-share/ -I ../include/ ProducerExampleForEx.cpp  -lonsclient4cpp -lboost_system -lboost_thread -lboost_chrono -lboost_filesystem -lpthread
    export LD_LIBRARY_PATH="../lib/lib-boost-share/"  // Tambahkan jalur pencarian untuk pemuatan dinamis.
    ./a.out  // Jalankan program.

Windows C++ SDK

Gunakan C++ SDK di lingkungan Visual Studio 2015

  1. Buat proyek baru di Visual Studio 2015. Di dialog New Project, buka Installed > Templates > Visual C++, pilih Win32, lalu pilih Win32 Console Application. Setelah menentukan nama proyek, klik OK. Di halaman ringkasan Win32 Application Wizard, pastikan tipe proyek adalah Console application, lalu klik Next >. Di halaman Application Settings, atur Application type menjadi Console application, centang kotak Empty project, lalu klik Finish.

  2. Klik kanan proyek Anda di Solution Explorer dan pilih Properties > Configuration Manager. Atur Active solution configuration menjadi release dan Active solution platform menjadi x64.

  3. Klik kanan proyek, pilih Properties > Configuration Properties > General, lalu atur Output Directory menjadi /A. Berdasarkan pengaturan Active solution platform, salin semua file dari direktori lib 64-bit ke direktori output /A. Klik kanan proyek, pilih Properties > Configuration Properties > General, pastikan Output Directory adalah $(SolutionDir)$(Platform)\$(Configuration)\ (jalur ini dihasilkan otomatis setelah build), lalu atur Platform Toolset menjadi Visual Studio 2015 - Windows XP (v140_xp). Salin file ONSClient4CPP.dll, ONSClient4CPP.lib, dan ONSClient4CPP.pdb dari direktori lib SDK yang diunduh ke direktori output ini.

  4. Klik kanan proyek dan pilih Properties > Configuration Properties > C/C++-General > Additional Include Directories: /B. Salin file header dari direktori include ke direktori include: /B.

  5. Klik kanan proyek lalu pilih Properties > Configuration Properties > Linker > General > Additional Library Directories: /A. Tambahkan jalur ke direktori lib dari SDK, seperti E:\aliyun-mq-windows-cpp-sdk\lib\64, yang berisi file DLL yang relevan. Jika Anda menggunakan Visual Studio 2015 di Windows 7, Anda juga harus menambahkan jalur pustaka ucrt, seperti C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64.

  6. Navigasikan ke Properties > Configuration Properties > Linker > Input. Tambahkan ONSClient4CPP.lib ke Additional Dependencies.

  7. Navigasi ke Properties > Configuration Properties > C/C++ > Preprocessor. Tambahkan makro WIN32 ke Preprocessor Definitions.

Gunakan C++ SDK di lingkungan selain Visual Studio 2015

  1. Pertama, konfigurasikan proyek Anda dengan mengikuti langkah-langkah untuk lingkungan Visual Studio 2015.

  2. Instal vc_redist.x64, yaitu runtime untuk Visual C++ 2015.

    Penting

    Untuk menghindari konfigurasi manual, Anda dapat menggunakan demo SDK yang telah dikonfigurasi sebelumnya. Setelah mengunduh dan mengekstrak SDK, buka direktori demo dan buka proyek tersebut di Visual Studio 2015.

    Di Solution Explorer, klik kanan proyek demo dan buka propertinya. Atur Configuration menjadi Release dan Platform menjadi x64. Buka Configuration Properties > C/C++ > General. Edit bidang Additional Include Directories dan tambahkan dua jalur: ../../include dan C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt. Ganti nomor versi, seperti 10.0.10150.0, dengan versi Windows Kits yang terinstal di mesin Anda.

    Lingkungan build Anda kini telah dikonfigurasi. Klik Build untuk mengompilasi program yang dapat dieksekusi. Untuk menjalankan program, salin file DLL ke direktori yang sama dengan file yang dapat dieksekusi atau ke direktori sistem.

Informasi selengkapnya

Kode contoh