Le SDK Apache RocketMQ 5.0 pour C++ repose sur gRPC et nécessite une compilation depuis les sources. Ce guide détaille l'installation des dépendances, la compilation de gRPC et celle du SDK, afin de vous permettre d'envoyer et de recevoir des messages avec ApsaraMQ for RocketMQ.
Prérequis
Installez les outils et bibliothèques suivants avant de commencer. Chaque composant renvoie vers son guide d'installation officiel.
| Composant | Version requise | Objectif |
|---|---|---|
| GCC | 4.8.5+ (10.2+ recommandé) | C++11 requis. Pour C++17, utilisez GCC 7+ avec -std=c++17 ou -std=gnu++17. |
| CMake | 3,13+ | Système de compilation pour le SDK et gRPC |
| OpenSSL | 1.1.1 | Bibliothèque TLS/SSL requise par gRPC |
| protobuf | Toute version compatible | Bibliothèque de sérialisation Protocol Buffers |
Le SDK partage la même matrice de compatibilité des compilateurs que gRPC.
Étape 1 : Installer gflags
Téléchargez, compilez et installez 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
cd
Ajoutez le chemin de la bibliothèque afin que l'éditeur de liens puisse trouver gflags au moment de l'exécution :
cat >> ~/.bashrc << EOF
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib
EOF
source ~/.bashrc
Étape 2 : Compiler et installer gRPC
Utilisez gRPC 1.46.3. Les versions ultérieures risquent d'être incompatibles avec le SDK Apache RocketMQ 5.0 pour C++.
Définissez le répertoire d'installation et mettez à jour PATH :
export MY_INSTALL_DIR=$HOME/grpc
mkdir -p $MY_INSTALL_DIR
export PATH="$MY_INSTALL_DIR/bin:$PATH"
Clonez et compilez 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 \
../..
# Adjust -j based on available CPU cores.
make -j 32
make install
popd
Conseil : L'option-j 32exécute 32 tâches de compilation en parallèle. Réduisez ce nombre sur les machines disposant de moins de cœurs CPU ou d'une mémoire limitée. Par exemple, utilisez-j 4sur une machine à 4 cœurs.
Étape 3 : Compiler le SDK depuis les sources
Le SDK prend en charge deux systèmes de compilation : CMake (recommandé) et Bazel.
Option A : Compiler avec CMake (recommandé)
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 ..
make
Option B : Compiler avec 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 //...
Étape 4 : Créer les ressources requises
Avant d'exécuter un exemple de code, créez les ressources suivantes dans la console ApsaraMQ for RocketMQ :
Instance : une instance de service RocketMQ
Topic : la destination des messages
Consumer group : un regroupement logique de consommateurs
Pour obtenir des instructions détaillées, consultez Créer des ressources.
Étape 5 : Exécuter l'exemple de code
Une fois les ressources créées, mettez à jour les paramètres dans l'exemple de code en fonction des informations sur les ressources obtenues à l'étape 4, puis compilez et exécutez les exemples.