Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for RocketMQ:Ortamı hazırlayın (v1.x.x)

Son Güncelleme:Oct 04, 2026

Bu konu, ApsaraMQ for RocketMQ üzerinde mesaj göndermek ve almak için C++ SDK kullanımıyla ilgili hazırlıkları, talimatları ve notları kapsar.

Önemli
  • En son RocketMQ 5.x SDK'larını kullanmanızı öneririz. Bu SDK'lar, ApsaraMQ for RocketMQ 5.x broker'larıyla tam uyumludur ve daha fazla işlev ile geliştirilmiş özellikler sunar. Daha fazla bilgi için bkz. C++ SDK sürüm bilgileri.

  • Alibaba Cloud yalnızca RocketMQ 4.x, 3.x ve TCP istemci SDK'larını destekler. Bunları yalnızca mevcut iş süreçleri için kullanmanızı öneririz.

Başlamadan önce aşağıdaki hususları dikkate alın:

  • Bu kılavuz yalnızca C++ SDK v1.x.x sürümü için geçerlidir.

  • Kodunuzda kullandığınız konu ve grup kimliğini konsolda oluşturmanız gerekir. Mesaj etiketlerini uygulamanızda tamamen özelleştirebilirsiniz. Bu kaynakların nasıl oluşturulacağına ilişkin talimatlar için bkz. Kaynak oluşturma.

  • ApsaraMQ for RocketMQ kullanan uygulamaları ECS örneklerine dağıtmanız gerekir.

SDK'yı indirin

C++ SDK, Windows ve Linux için aynı API'yi sunar. Desteklenen Linux dağıtımları arasında CentOS 6 (RHEL 6) ve CentOS 7 (RHEL 7) yer alır. C++ SDK'yı indirmek için bkz. C++ için TCP istemci SDK'sı sürüm notları.

Paketi indirip çıkardıktan sonra aşağıdaki dizin yapısını görürsünüz:

  • demo/ (Yalnızca Windows için)

    Önceden derlenmiş bir Windows C++ demo projesi.

  • example/

    Normal mesajlar, tek yönlü mesajlar ve sıralı mesajlar gönderme ile normal ve sıralı mesajları tüketme örnekleri. Linux'ta bu dizin, Makefile dosyasını da içerir; bu dosya example dosyalarını derlemek ve yönetmek için kullanılır.

  • include/

    Uygulamanız için gereken başlık dosyaları.

  • lib/

    • Linux SDK alt dizinleri 64 bit statik kitaplığı ve dinamik kitaplığı içerir.

      lib-boost-share/
        libonsclient4cpp.so
      lib-boost-static/
        libonsclient4cpp.a                        
    • Windows SDK alt dizini 64 bit DLL dosyasını içerir. Visual Studio 2015 yüklü değilse vc_redist.x64 yüklemeniz gerekir. Bu, Visual C++ 2015 çalışma zamanıdır.

      64/
      vc_redist.x64                        
  • SDK_GUIDE.pdf

    SDK ortamını kurmaya yönelik belgeler ve SSS.

  • changelog

    Yeni sürümlerdeki hata düzeltmelerinin ve yeni özelliklerin listesi.

Linux C++ SDK

2 Aralık 2016 tarihinden itibaren Linux C++ SDK, CPU kullanımını azaltmak ve verimliliği artırmak amacıyla yüksek performanslı Boost kitaplığına (sürüm 1.62.0) bağımlı hale gelmiştir. Temel olarak dört kitaplığa bağımlıdır: boost_system, boost_thread, boost_chrono ve boost_filesystem. Hem statik hem de dinamik bağlantı çözümleri mevcuttur.

Statik bağlantı

ApsaraMQ for RocketMQ kitaplık dosyaları lib/lib-boost-static dizininde bulunur; burada Boost kitaplığı libonsclient4cpp.a ile statik olarak bağlanır. Uygulamanızın Boost kitaplığına bağımlılığı yoksa bu statik kitaplık çözümünü doğrudan kullanabilirsiniz. Bu çözümde Boost kitaplığı zaten libonsclient4cpp.a ile bağlı olduğundan derleme sırasında yalnızca libonsclient4cpp.a ile bağlantı kurmanız yeterlidir. Başka bir işlem gerekmez. Kullanım şekli aşağıdaki gibidir.

cd aliyun-mq-linux-cpp-sdk  // The directory where you extracted the SDK.
cd example                  // Enter the example directory and modify the example file with your topic, key, and other information.
make static=1            
Önemli

Tam statik bağlantı için makinenizde libstdc++ ve pthread gibi ilgili statik kitaplıkların yüklü olduğundan emin olun. Varsayılan libstdc++ kurulumu statik kitaplığı içermez. Gerekli statik kitaplıkları yüklemek için yum veya apt-get kullanmanız gerekir.

Bu yöntemin kullanılması aşağıdaki uyarıyı üretebilir:

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

En iyi uygulama olarak, tam statik bağlantıdan kaçınmanızı öneririz. Bunun yerine yalnızca onsclient4cpp için statik bağlantı kullanın ve diğer kitaplıklar için dinamik bağlantıyı tercih edin. Aşağıdaki komutu kullanın:

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        

Ayrıca, GCC 5.x sürümü bir Çift ABI sunduğundan derleme ve bağlantı sırasında -D_GLIBCXX_USE_CXX11_ABI=0 seçeneğini ekleyin.

Dinamik bağlantı

ApsaraMQ for RocketMQ kitaplık dosyaları lib/lib-boost-share dizinindedir. Çalıştırılabilir dosyanızı oluştururken Boost dinamik kitaplıklarını ve libonsclient4cpp.so ile bağlantı kurmanız gerekir. Uygulamanız zaten Boost'a bağımlıysa ve dinamik bağlantı çözümünü kullanmanız gerekiyorsa aşağıdaki adımları uygulayın:

  1. Boost sürüm 1.62.0'ı indirin.

    boost 1.62.0

  2. Boost 1.62.0 paketini çıkarın.

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

  3. Boost 1.62.0'ı yükleyin.

    1. Boost 1.62.0'ı çıkardığınız dizine gidin: cd path/to/boost_1_62_0

    2. Boost'u yapılandırın: ./bootstrap.sh

    3. Boost'u derleyin: ./b2 link=shared runtime-link=shared

    4. Boost'u yükleyin: ./b2 install

  4. ldconfig -v|grep libboost komutunu çalıştırın. Bu komuttan gelen herhangi bir çıktı, Boost dinamik kitaplıklarının dinamik kitaplık arama yolunda bulunduğunu doğrular.

  5. Çalıştırılabilir dosyayı oluştururken aşağıdaki komutları kullanarak Boost dinamik kitaplıklarını ve ApsaraMQ for RocketMQ dinamik kitaplığını bağlayın:

    cd aliyun-mq-linux-cpp-sdk  // The directory where you extracted the SDK.
    cd example                  // Enter the example directory and modify the example file with your topic, key, and other information from the ApsaraMQ for RocketMQ console.
    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/"  // Add the search path for dynamic loading.
    ./a.out  // Run the program.

Windows C++ SDK

Visual Studio 2015 ortamında C++ SDK kullanma

  1. Visual Studio 2015'te yeni bir proje oluşturun. New Project iletişim kutusunda Installed > Templates > Visual C++ seçeneklerini genişletin, Win32 öğesini seçin ve ardından Win32 Console Application seçeneğini belirleyin. Bir proje adı ayarladıktan sonra OK tıklayın. Win32 Application Wizard genel bakış sayfasında proje türünün Console application olduğunu onaylayın ve Next > tıklayın. Application Settings sayfasında Application type değerini Console application olarak ayarlayın, Empty project onay kutusunu işaretleyin ve ardından Finish tıklayın.

  2. Solution Explorer'da projenize sağ tıklayın ve Properties > Configuration Manager seçin. Active solution configuration değerini release ve Active solution platform değerini x64 olarak ayarlayın.

  3. Projeye sağ tıklayın, Properties > Configuration Properties > General seçin ve Output Directory değerini /A olarak ayarlayın. Active solution platform ayarına göre 64 bit lib dizinindeki tüm dosyaları /A çıkış dizinine kopyalayın. Projeye sağ tıklayın, Properties > Configuration Properties > General seçin ve Output Directory değerinin $(SolutionDir)$(Platform)\$(Configuration)\ (bu yol derlemeden sonra otomatik olarak oluşturulur) olduğunu onaylayın. Platform Toolset değerini Visual Studio 2015 - Windows XP (v140_xp) olarak ayarlayın. İndirilen SDK'nın lib dizinindeki ONSClient4CPP.dll, ONSClient4CPP.lib ve ONSClient4CPP.pdb dosyalarını bu çıkış dizinine kopyalayın.

  4. Projeye sağ tıklayın ve Properties > Configuration Properties > C/C++-General > Additional Include Directories: /B seçin. include dizinindeki başlık dosyalarını include dizinine kopyalayın: /B.

  5. Projeye sağ tıklayın ve Properties > Configuration Properties > Linker > General > Additional Library Directories: /A seçin. İlgili DLL dosyalarını içeren SDK'nın lib dizininin yolunu ekleyin; örneğin E:\aliyun-mq-windows-cpp-sdk\lib\64. Windows 7'de Visual Studio 2015 kullanıyorsanız ucrt kitaplık yolunu da eklemeniz gerekir; örneğin C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64.

  6. Properties > Configuration Properties > Linker > Input konumuna gidin. Additional Dependencies listesine ONSClient4CPP.lib ekleyin.

  7. Properties > Configuration Properties > C/C++ > Preprocessor konumuna gidin. Preprocessor Definitions listesine WIN32 makrosunu ekleyin.

Visual Studio 2015 dışındaki bir ortamda C++ SDK kullanma

  1. Önce Visual Studio 2015 ortamı için verilen adımları izleyerek projenizi yapılandırın.

  2. Visual C++ 2015 çalışma zamanı olan vc_redist.x64 yükleyin.

    Önemli

    Manuel yapılandırmadan kaçınmak için önceden yapılandırılmış SDK demosunu kullanabilirsiniz. SDK'yı indirip çıkardıktan sonra demo dizinine gidin ve projeyi Visual Studio 2015'te açın.

    Solution Explorer'da demo projesine sağ tıklayın ve özelliklerini açın. Configuration değerini Release ve Platform değerini x64 olarak ayarlayın. Configuration Properties > C/C++ > General seçeneklerini genişletin. Additional Include Directories alanını düzenleyin ve şu iki yolu ekleyin: ../../include ve C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt. 10.0.10150.0 gibi sürüm numarasını makinenizde yüklü olan Windows Kits sürümüyle değiştirin.

    Derleme ortamınız artık yapılandırıldı. Yürütülebilir programı derlemek için Build tıklayın. Programı çalıştırmak için DLL dosyasını yürütülebilir dosya ile aynı dizine veya bir sistem dizinine kopyalayın.

Daha fazla bilgi

Örnek kod