Apache RocketMQ 5.0 SDK untuk C++ dibangun di atas gRPC dan harus dikompilasi dari source. Panduan ini mencakup instalasi dependensi, pembuatan gRPC, serta kompilasi SDK sehingga Anda dapat mulai mengirim dan menerima pesan dengan ApsaraMQ for RocketMQ.
Prasyarat
Instal alat dan pustaka berikut sebelum memulai. Setiap komponen menyertakan tautan ke panduan instalasi resminya.
| Component | Required version | Purpose |
|---|---|---|
| GCC | 4.8.5+ (10.2+ direkomendasikan) | Diperlukan C++11. Untuk C++17, gunakan GCC 7+ dengan -std=c++17 atau -std=gnu++17. |
| CMake | 3.13+ | Sistem build untuk SDK dan gRPC |
| OpenSSL | 1.1.1 | Pustaka TLS/SSL yang diperlukan oleh gRPC |
| protobuf | Versi apa pun yang kompatibel | Pustaka serialisasi Protocol Buffers |
SDK menggunakan matriks kompatibilitas kompilator yang sama dengan gRPC.
Langkah 1: Instal gflags
Unduh, kompilasi, dan instal gflags 2.2.2:
wget -O gflags-2.2.2.tar.gz https://github.com/gflags/gflags/archive/v2.2.2.tar.gz
tar -xvzf gflags-2.2.2.tar.gz
cd gflags-2.2.2/
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON ..
make
make install
cdTambahkan path pustaka agar penghubung dapat menemukan gflags saat runtime:
cat >> ~/.bashrc << EOF
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib
EOF
source ~/.bashrcLangkah 2: Bangun dan instal gRPC
Gunakan gRPC 1.46.3. Versi yang lebih baru mungkin tidak kompatibel dengan Apache RocketMQ 5.0 SDK untuk C++.
Tetapkan direktori instalasi dan perbarui PATH:
export MY_INSTALL_DIR=$HOME/grpc
mkdir -p $MY_INSTALL_DIR
export PATH="$MY_INSTALL_DIR/bin:$PATH"Klon dan bangun gRPC:
git clone --recurse-submodules \
-b v1.46.3 --depth 1 --shallow-submodules \
https://github.com/grpc/grpc
cd grpc
mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \
../..
# Sesuaikan -j berdasarkan jumlah core CPU yang tersedia.
make -j 32
make install
popdTip: Flag-j 32menjalankan 32 proses kompilasi paralel. Kurangi angka tersebut pada mesin dengan core CPU lebih sedikit atau memori terbatas. Misalnya, gunakan-j 4pada mesin 4-core.
Langkah 3: Kompilasi SDK dari source
SDK mendukung dua sistem build: CMake (direkomendasikan) dan Bazel.
Opsi A: Bangun dengan CMake (direkomendasikan)
wget -O rocketmq-clients-cpp-5.0.3.tar.gz https://github.com/apache/rocketmq-clients/archive/refs/tags/cpp-5.0.3.tar.gz
tar -xvzf rocketmq-clients-cpp-5.0.3.tar.gz
cd rocketmq-clients-cpp-5.0.3/cpp
mkdir build && cd build
cmake ..
makeOpsi B: Bangun dengan Bazel
wget -O rocketmq-clients-cpp-5.0.3.tar.gz https://github.com/apache/rocketmq-clients/archive/refs/tags/cpp-5.0.3.tar.gz
tar -xvzf rocketmq-clients-cpp-5.0.3.tar.gz
cd rocketmq-clients-cpp-5.0.3/cpp
bazel build //...Langkah 4: Buat resource yang diperlukan
Sebelum menjalankan kode contoh apa pun, buat resource berikut di Konsol ApsaraMQ for RocketMQ:
Instance: instans layanan RocketMQ
Topic: tujuan pengiriman pesan
Consumer group: pengelompokan logis konsumen
Untuk instruksi lengkap, lihat Buat resource.
Langkah 5: Jalankan kode contoh
Setelah membuat resource, perbarui parameter dalam kode contoh berdasarkan informasi resource yang Anda peroleh di Langkah 4, lalu kompilasi dan jalankan contohnya.