全部產品
Search
文件中心

ApsaraMQ for RocketMQ:環境準備

更新時間:Sep 23, 2025

Apache RocketMQ C++ 5.0系列SDK底層基於gRPC,本文為您介紹如何使用源碼編譯RocketMQ C++ Client。

前提條件

  • 安裝GCC

    為了確保與gRPC保持相同的相容性矩陣,編譯環境需滿足以下要求:

    • 編譯最低需要C++ 11環境,對應GCC版本最低為4.8.5,推薦使用GCC 10.2以上的版本。

    • 可選通過宏支援C++ 17環境,對應GCC版本為7,可以通過-std=c++17-std=gnu++17開啟。

  • 安裝CMake

    需要安裝3.13及以上版本。

  • 安裝OpenSSL

    需要安裝 1.1.1版本。

  • 安裝Protobuf

    具體版本可根據專案需求選擇。

操作步驟

  1. 安裝gflags和gRPC依賴。

    • 編譯安裝gflags。

      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
      
      # 注意 gflags 需要load lib
      cat >> ~/.bashrc << EOF
      export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib
      EOF
      source ~/.bashrc
    • 編譯安裝gRPC。推薦使用1.46.3版本的gRPC,更高版本的gRPC與SDK存在相容性問題。

      export MY_INSTALL_DIR=$HOME/grpc
      
      mkdir -p $MY_INSTALL_DIR
      
      # Add the local bin folder to your path variable, for example:
      export PATH="$MY_INSTALL_DIR/bin:$PATH"
      
      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 \
            ../..
      
      make -j 32
      make install
      popd
  2. 源碼構建。RocketMQ C++ Client支援CMake和Bazel兩種構建方式,推薦使用CMake進行構建。本文以Apache RocketMQ C++ SDK 5.0.2版本為例進行說明。

    使用CMake構建(推薦)

    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

    使用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 //...
  3. 擷取資源資訊。

    範例程式碼中涉及的相關資源資訊,包括執行個體存取點、Topic名稱、Group ID等,需要在控制台提前建立。具體操作,請參見建立資源

  4. 按照步驟3中擷取的資源資訊修改範例程式碼中的相關參數,然後編譯並運行範例程式碼