Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for RocketMQ:Graceful shutdown

Son Güncelleme:Oct 09, 2026

Kademeli kapatma, ApsaraMQ for RocketMQ'nin sunucu tarafındaki işlemler sırasında mesaj kaybını ve istemci hatalarını önleyen yerleşik bir özelliğidir. Sunucuda sürüm yayınlama, yeniden başlatma veya bakım çalışmaları gerçekleştirildiğinde ApsaraMQ for RocketMQ koruma mekanizmalarını devreye alır; bu sayede istemcilerin bağlantıları ani şekilde kesilmez ve iş sürekliliği sağlanır.

Koruma mekanizmaları

Sunucu tarafında yazma işlemlerinin askıya alınması

Bir depolama düğümü yeniden başlatılmadan önce sunucu, söz konusu düğüme yönelik yazma işlemlerini geçici olarak askıya alır. Düğüme yeni mesaj yazımı kalmadığında yeniden başlatma işlemi ilerler. Bu yaklaşım, istemciler tarafından daha önce gönderilen tüm mesajların başarıyla depolanmasını garanti eder.

GOAWAY ile bağlantı tahliyesi

ApsaraMQ for RocketMQ sunucusu, HTTP/2 protokolünde tanımlanan GOAWAY çerçevesini kullanarak bağlantıları kademeli olarak kapatır veya bağlantıların kapanmak üzere olduğunu istemcilere bildirir. Bu mekanizma, sunucu ile istemciler arasındaki bağlantı sonlandırma sürecini koordine eder; devam eden isteklerin kesintiye uğramasını engeller ve sistem kararlılığını korur.

Etkiler

  • Üreticiler — Tüm mesaj gönderme istekleri başarıyla işlenir. Kademeli kapatma sürecinde gönderim hatası oluşmaz.

  • Tüketiciler — Mesajların büyük çoğunluğu başarıyla tüketilir. Nadir durumlarda, yeniden başlatılan depolama düğümünde biriken az sayıda mesaj, geçiş sırasında tüketici ofset taahhütlerinin başarısız olması nedeniyle yeniden teslim edilebilir.

SDK sürüm gereksinimleri

Kademeli kapatma özelliğini kullanabilmeniz için istemci SDK'nızın aşağıdaki minimum sürüm gereksinimlerini karşılaması gerekir:

SDK for JavaSDK for JavaSDK for GoSDK for PythonSDK for C++SDK for C#

Dil Minimum sürüm Referans
Java (gRPC protokolü) 5.0.7 SDK for Java
Java (Remoting protokolü) 5.3.1 SDK for Java
Go 5.1.0-rc.1 SDK for Go
Python 5.0.4 SDK for Python
C++ 5.0.2 SDK for C++
C# 5.1.0 SDK for C#
Node.js 1.0.1 SDK for Node.js

Kullanım notları

  • İstemci tarafında yapılandırma gerekmez — Kademeli kapatma sunucu tarafında çalışan bir özelliktir. Yalnızca istemci SDK'nızı desteklenen bir sürüme yükseltmeniz yeterlidir.

  • Tüketicileri idempotent olacak şekilde tasarlayın — Kısa geçiş döneminde tüketici ofset taahhütleri başarısız olabilir; bu durum az sayıda mesajın yeniden teslim edilmesine yol açabilir. Tüketici mantığınızın aynı mesajı birden fazla kez güvenle işleyebildiğinden emin olun.

  • SDK sürümlerini proaktif olarak izleyin — Yeni hizmetler eklerken veya bağımlılıkları güncellerken ApsaraMQ for RocketMQ istemci SDK'nızın kademeli kapatma için gerekli minimum sürüm gereksinimlerini hâlâ karşıladığını doğrulayın.