O SDK do Apache RocketMQ 5.0 para C++ baseia-se em gRPC e exige compilação a partir do código-fonte. Este guia aborda a instalação de dependências, a compilação do gRPC e a compilação do SDK para que você possa começar a enviar e receber mensagens com o ApsaraMQ for RocketMQ.
Pré-requisitos
Instale as ferramentas e bibliotecas listadas abaixo antes de começar. Cada componente tem um link para seu guia oficial de instalação.
|
Componente |
Versão necessária |
Finalidade |
|
4.8.5+ (recomendado 10.2+) |
Necessário para C++11. Para C++17, use GCC 7+ com |
|
|
3,13+ |
Sistema de compilação para o SDK e gRPC |
|
|
1.1.1 |
Biblioteca TLS/SSL exigida pelo gRPC |
|
|
Qualquer versão compatível |
Biblioteca de serialização Protocol Buffers |
O SDK compartilha a mesma matriz de compatibilidade de compiladores do gRPC.
Etapa 1: Instalar o gflags
Baixe, compile e instale o 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
Adicione o caminho da biblioteca para que o vinculador encontre o gflags durante a execução:
cat >> ~/.bashrc << EOF
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib
EOF
source ~/.bashrc
Etapa 2: Compilar e instalar o gRPC
Use a versão 1.46.3 do gRPC. Versões posteriores podem ser incompatíveis com o SDK do Apache RocketMQ 5.0 para C++.
Defina o diretório de instalação e atualize o PATH:
export MY_INSTALL_DIR=$HOME/grpc
mkdir -p $MY_INSTALL_DIR
export PATH="$MY_INSTALL_DIR/bin:$PATH"
Clone e compile o 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
Dica: A flag-j 32executa 32 tarefas de compilação em paralelo. Reduza esse valor em máquinas com menos núcleos de CPU ou memória limitada. Por exemplo, use-j 4em uma máquina com 4 núcleos.
Etapa 3: Compilar o SDK a partir do código-fonte
O SDK oferece suporte a dois sistemas de compilação: CMake (recomendado) e Bazel.
Opção A: Compilar com CMake (recomendado)
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
Opção B: Compilar com 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 //...
Etapa 4: Criar os recursos necessários
Antes de executar qualquer código de exemplo, crie os seguintes recursos no console do ApsaraMQ for RocketMQ:
Instance: instância de serviço do RocketMQ
Topic: destino das mensagens
Consumer group: agrupamento lógico de consumidores
Para obter instruções detalhadas, consulte Criar recursos.
Etapa 5: Executar o código de exemplo
Após criar os recursos, atualize os parâmetros no código de exemplo conforme as informações obtidas na Etapa 4. Em seguida, compile e execute os exemplos.