Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for RocketMQ:Lite konu modeli

Son Güncelleme:Oct 04, 2026

Bu konu, ApsaraMQ for RocketMQ içindeki LiteTopic tanımını, model ilişkilerini, dahili niteliklerini, davranış kısıtlamalarını, sürüm uyumluluğunu ve kullanım önerilerini açıklar.

Ön koşullar

  • Lite konular şu anda yalnızca Serverless olmayan örnekler (abonelik ve kullandıkça öde) ile özel Serverless örnekler tarafından desteklenmektedir.

  • Lite konu modelini destekleyen bir örnek satın almak için:

    • Yeni bir örnek satın alırken, satın alma sayfasında version_capability anahtarına ve lite-topic değerine sahip bir ürün yetenek etiketi ekleyin.

    • Mevcut örnekler için, lite konu modelini destekleyen bir sürüme yükseltmek amacıyla bir destek bileti oluşturun. Bileti oluştururken örnek ID'sini ve bölgeyi belirtin.

  • Belirli senaryolarınız için LiteTopic çözümleri hakkında ücretsiz danışmanlık almak üzere bir destek bileti oluşturabilirsiniz.

Tanım

Lite konu, ApsaraMQ for RocketMQ içinde mesaj iletimi ve depolama için kullanılan ikincil bir kapsayıcıdır. Aynı türdeki iş mantığı altında farklı alt sınıflara (örneğin farklı oturumlar, görevler veya diğer granülerlikler) ait mesajları tanımlamak için kullanılır.

Lite konuların temel amaçları şunlardır:

  • Özel tüketimi etkinleştirmek ve ikinci düzey veri yalıtımı tanımlamak.

Farklı alt kategorilerden gelen verileri ayrı lite konulara ayırarak daha ince granülerlikte depolama ve abonelik yalıtımı sağlamanızı öneririz.

  • Veri kimliğini ve izinlerini tanımlamak.

Konu tabanlı kimlik ve izin yönetiminin üzerine inşa edilen lite konular, kullanıcı kimliklerinin ve izinlerinin daha da hassaslaştırılmasına olanak tanır.

Model ilişkileri

ApsaraMQ for RocketMQ alan modelinde lite konuların akışı ve konumu aşağıdaki gibidir:

image.png

  • Konu, ApsaraMQ for RocketMQ içinde mesaj iletimi ve depolama için üst düzey kapsayıcıdır. Konu türü Lite olduğunda, altında bir lite konu oluşturabilirsiniz. Konu ve lite konu kombinasyonu, mesaj depolama kapsayıcısını benzersiz şekilde tanımlar.

  • Konu türü Lite olduğunda, her depolama kapsayıcısı varsayılan olarak bir kuyruğa sahiptir.

Dahili özellikler

Lite konu adı

  • Tanım: Bir lite konuyu tanımlayan addır. Lite konu adları, üst konuları içinde küresel olarak benzersizdir.

  • Değer: Konu türü Lite olduğunda ve bir mesajda setLiteTopic çağrıldığında, sistem lite konu henüz mevcut değilse otomatik olarak oluşturur.

  • Kısıtlama: Bkz. Parametre sınırları.

Yaşam süresi (TTL)

  • Tanım: Bir lite konu için son kullanma süresidir. Lite konuya TTL süresinden daha uzun süre yeni mesaj yazılmazsa, sistem bunu otomatik olarak siler. Silme işlemi, lite konuya ayrılan kotanın düşülmesi anlamına gelir (toplam kota eksi bir).

  • Değer: Lite türünde bir konu oluştururken son kullanma parametresini ayarlayabilirsiniz.

  • Kısıtlama: Bkz. Parametre sınırları.

Sürüm uyumluluğu

  • Sunucu tarafı sürümü: 5,0-rmq-20251024-1 veya üzeri

  • İstemci tarafı sürümü: RocketMQ gRPC 5.1.0 veya üzeri

Lite türü ve standart türü konular arasındaki farklar

Senaryo

Karşılaştırma öğesi

Hafif Konular

Standart türü konu

Mesaj depolama

Üst düzey konu

Aynı. Her ikisi de konu kaynağının önceden oluşturulmasını gerektirir.

İkinci düzey konu

Bir konu altında milyonlarca ikinci düzey LiteTopic kaynağı oluşturabilir ve her biri için yeni yeteneklerden yararlanabilirsiniz.

İkinci düzey konu kaynağı yoktur.

Otomatikleştirilmiş yaşam döngüsü yönetimi

LiteTopic yaşam döngüsü yönetimi otomatiktir:

  • Otomatik oluşturma: Gönderme veya abone olma sırasında bir LiteTopic yoksa, sistem bunu otomatik olarak oluşturur.

  • Otomatik silme: Bir son kullanma süresi ayarlayın. Belirtilen süre boyunca yeni mesaj gönderilmediğinde LiteTopic otomatik olarak silinir.

Yok

Sıralama

Her LiteTopic'in tam olarak bir kuyruğu vardır. Aynı kuyruktaki mesajlar sırayla depolanır.

  • LiteTopic başına

Birden çok kuyruk oluşturulur. Yalnızca bölümlenmiş sıralı konular sıralamayı garanti eder.

Gönderme/alma için maksimum eşzamanlı TPS

Her LiteTopic yalnızca bir kuyruğa sahip olduğu için TPS'si sınırlıdır.

Ancak, bir konu altında milyonlarca LiteTopic oluşturabileceğiniz için toplam TPS, LiteTopic sayısıyla ölçeklenir.

Konu TPS'si, kuyruk sayısına ve küme düğüm sayısına göre yatay olarak ölçeklenir.

Mesaj tüketimi

Abonelik tutarlılığı

Aynı olmaları gerekmez.

Aynı grup içinde her tüketici farklı bir LiteTopic kümesine abone olabilir. Grup düzeyindeki kısıtlamalar gevşetilmiştir.

Gerekli.

Aynı gruptaki tüm tüketiciler, hedef konudan gelen mesajları paylaşmak için aynı abonelikleri korumalıdır.

Sıralama

Sıralı tüketim: Bir LiteTopic'teki mesajlar yalnızca bir tüketici iş parçacığı tarafından işlenir.

Eşzamanlı veya sıralı tüketimi destekler.

Dinamik abonelik

Her tüketici, belirli LiteTopic'lere yönelik abonelikleri dinamik olarak ekleyebilir veya kaldırabilir.

Yok

Tek bir tüketicinin abone olabileceği maksimum LiteTopic sayısı

Her tüketici binlerce LiteTopic'e abone olabilir.

Yok

Gözlemlenebilirlik

Ölçümler

Mesaj birikimi ölçümlerini içerir.

Mesaj işleme gecikme süresi için kullanılabilir bir ölçüm bulunmamaktadır.

Mesaj birikimi ölçümlerini içerir.

Mesaj İşleme Süresi Ölçümü

Mesaj izleme

Aynı

Yaygın lite konu kullanım durumları

Kullanım durumu 1: Uzun süren çağrı engellemelerini çözmek için Çoklu Ajan sistemlerinde asenkron iletişim

Yapay zeka senaryoları karmaşıklaştıkça tek ajanlı sistemler yetersiz kalmaktadır: uzmanlık eksikliği, birden çok alanı entegre etmede zorluk ve dinamik iş birliğine dayalı karar verme yeteneğinin olmaması. Tek ajanlı uygulamalar ve iş akışları Çoklu Ajan mimarilerine doğru kaymaktadır. Ancak, yapay zeka görevleri genellikle uzun sürdüğü için senkron çağrılar arayanın iş parçacığını engeller ve bu durum büyük ölçekli iş birliği için ölçeklenebilirliği sınırlar.

image.png

Yukarıda gösterildiği gibi, Çoklu Ajan iş akışı şu şekilde çalışır: Supervisor Agent bir isteği iki alt göreve ayırarak iki alt ajana iletir. Her alt ajan kendi kısmını çözer ve sonuçları Supervisor Agent'a döndürür. Supervisor Agent bu sonuçları birleştirerek web istemcisine nihai yanıtı gönderir. Asenkron iletişim için RocketMQ kullanımı:

  1. İstek işleme akışı:

    1. Her alt ajan için bir görev arabellek kuyruğu olarak bir konu (Request) oluşturun. Yüksek öncelikli görevleri önce işlemek için bir öncelik konusu kullanın.

    2. Supervisor Agent, bölünmüş görev ayrıntılarını ilgili istek konusuna gönderir.

  2. Yanıt işleme akışı:

    1. Supervisor Agent, Lite türünde bir konu (Response) oluşturur ve buna abone olur.

    2. Her alt ajan, görev sonucunu Response konusu altındaki bir LiteTopic'e gönderir. Her göreve kendine ait özel bir LiteTopic vermek için her LiteTopic'i görev ID'sini kullanarak adlandırın.

    3. Supervisor Agent, abonelik yoluyla sonuçları gerçek zamanlı olarak alır ve bunları HTTP SSE kullanarak web istemcisine iletir.

Kullanım durumu 2: Yapay zeka uygulamalarında oturum sürekliliği sorunlarını çözmek için dağıtılmış oturum durumu yönetimi

Yapay zeka uygulama etkileşimleri benzersizdir: uzun süren, çok turlu ve oturum başına pahalı hesaplama kaynaklarına yoğun şekilde bağımlıdır. Uygulamalar SSE gibi kalıcı bağlantılara güvendiğinde, herhangi bir bağlantı kesilmesi (ağ geçidi yeniden başlatmaları, zaman aşımları veya ağ kararsızlığı nedeniyle) mevcut oturum bağlamının kaybına ve zaten harcanmış yapay zeka hesaplama kaynaklarının boşa gitmesine neden olur.

image.png

1. kullanım durumundaki yanıt akışında olduğu gibi, gerçek zamanlı sonuç bildirimleri için Lite türünde bir konu kullanın. Her LiteTopic'i SessionID kullanarak adlandırın (örneğin, chatbot/{sessionID}). Tüm oturum sonuçları bu konuda sıralı mesajlar olarak teslim edilir. Yeniden bağlanma sonrası oturum sürekliliğini korumak için:

  1. Web istemcisi, uygulama sunucusu düğümü 1 ile kalıcı bir bağlantı kurar ve Session2 oturumunu başlatır.

  2. Uygulama sunucusu düğümü 1, LiteTopic [chat/SessionID2]'ye abone olur.

  3. Büyük Dil Modeli (LLM) görev zamanlayıcısı, istekteki SessionID'ye göre sonuçları LiteTopic [chat/SessionID2]'ye gönderir.

  4. Bir ağ sorunu nedeniyle WebSocket, uygulama sunucusu düğümü 2'ye yeniden bağlanır.

  5. Uygulama sunucusu düğümü 1, LiteTopic [chat/SessionID2] aboneliğini iptal eder. Uygulama sunucusu düğümü 2 buna abone olur.

  6. LiteTopic [chat/SessionID2], teslimatı son tüketilen ofsetten devam ettirerek sürekli oturum durumu ve verilerini sağlar.

Örnek kod

Tam örnekler için bkz. RocketMQ 5.x gRPC SDK içindeki örnek kodlar.

Mesaj gönderme

Producer producer = provider.newProducerBuilder()
    .setTopics(topic)
    .setClientConfiguration(clientConfiguration)
    .build();
final Message message = provider.newMessageBuilder()
    .setTopic(topic)
    // Set a message key for precise lookup by keyword.
    .setKeys("messageKey")
    // Set LiteTopic
    .setLiteTopic("lite-topic-1")
    // Message body
    .setBody("messageBody".getBytes())
    .build();
try {
    final SendReceipt sendReceipt = producer.send(message);
    log.info("Send message successfully, messageId={}", sendReceipt.getMessageId());
} catch (LiteTopicQuotaExceededException e) {
    // LiteTopic quota exceeded. Evaluate and increase quota.
    log.error("Lite topic quota exceeded", e);
} catch (Throwable t) {
    log.error("Failed to send message", t);
}

Mesaj tüketme

LitePushConsumer sınıfını kullanın:

// Initialize LitePushConsumer with consumer group, target topic, and communication parameters.
LitePushConsumer litePushConsumer = provider.newLitePushConsumerBuilder()
    .setClientConfiguration(clientConfiguration)
    // Topic bound to the ConsumerGroup when created in the console
    .bindTopic(topicName)
    // Set consumer group
    .setConsumerGroup(consumerGroup)
    .setMessageListener(messageView -> {
        // Process message and return consumption result.
        LOGGER.info("Consume message={}", messageView);
        return ConsumeResult.SUCCESS;
    })
    .build();
try {
    // Subscribe to desired LiteTopics
    litePushConsumer.subscribeLite("lite-topic-1");
    litePushConsumer.subscribeLite("lite-topic-2");
    litePushConsumer.subscribeLite("lite-topic-3");
} catch (LiteSubscriptionQuotaExceededException e) {
    // LiteTopic subscription quota exceeded. Evaluate and increase quota.
    log.error("Lite subscription quota exceeded", e);
} catch (Throwable t) {
    log.error("Failed to subscribe lite topic", t);
}
// After business processing, unsubscribe from unused LiteTopics promptly
litePushConsumer.unsubscribeLite("lite-topic-3");
// Get current set of subscribed LiteTopics
Set<String> liteTopicSet = litePushConsumer.getLiteTopicSet();

Abonelikleri dinamik olarak güncelleme

/**
 * Dynamically add a subscription.
 * The subscribeLite() method makes a network call and validates quotas,
 * so it might fail.
 * Always check the result to confirm successful subscription.
 * Possible failure scenarios:
 * 1. Network error – retry the call.
 * 2. Quota validation fails – throws LiteSubscriptionQuotaExceededException.
 * Evaluate whether your quota meets requirements, and promptly call
 * unsubscribeLite() to release resources for unused topics.
 */
litePushConsumer.subscribeLite("lite-topic-1");
// Dynamically remove a subscription
litePushConsumer.unsubscribeLite("lite-topic-1");

Sınırlar

  1. Tek bir tüketici en fazla 2.000 LiteTopic'e abone olabilir (destek bileti ile ayarlanabilir).

  2. Her LiteTopic maksimum 200 tüketim TPS'sini destekler.

  3. Hizmet kararlılığını sağlamak için her örnek, oluşturulabilecek veya abone olunabilecek toplam LiteTopic sayısı üzerinde bir sınır uygular. Belirli kotalar için aşağıdaki tabloya bakın (destek bileti ile ayarlanabilir).

    1. LiteTopic Sayısı

      • Tanım: Tek bir örnek altında yaşam döngüsü sırasında oluşturulmuş ve aktif olan toplam LiteTopic sayısı.

      • Tetikleyici ve etki: Bu sınıra ulaşıldığında, mevcut olmayan bir LiteTopic'e mesaj gönderme girişimi (otomatik oluşturmayı tetikleyecek olan) gönderme hatasıyla başarısız olur.

    2. LiteTopic Abonelik Sayısı

      • Tanım: Bir örnek altındaki tüm çevrimiçi tüketici istemcileri ile LiteTopic'ler arasındaki aktif abonelik ilişkilerinin toplam sayısı. Bu sayı dinamik olarak değişir.

      • Etki: Bu sınıra ulaşıldığında, bir tüketicinin yeni bir LiteTopic'e abone olma girişimi başarısız olur.

      • Özel kural: Bir LiteTopic silinse bile, buna yönelik kalan tüketici abonelikleri, tüketiciler aboneliği iptal edene kadar toplam sayıya dahil edilir.

Serverless örnekler

Dağıtım mimarisi

Kapasite modu

Teknik özellikler

Oluşturulabilecek veya abone olunabilecek maksimum LiteTopic sayısı

Özel

Rezerve + esnek

5000

300.000

10000

600.000

15000

720.000

[20.000, 50.000]

1.000.000

(50.000, 100.000]

1.500.000

(100.000, 200.000]

2.400.000

(200.000, 300.000]

4.700.000

(300.000, 500.000]

6.300.000

(500.000, 1.000.000]

11.600.000

Serverless olmayan örnekler (abonelik ve kullandıkça öde)

Standard Edition


Örnek türü


Temel gönderme/alma TPS sınırı (ops/sn)


Oluşturulabilecek veya abone olunabilecek maksimum LiteTopic sayısı


rmq.s2.2xlarge


2000


150.000


rmq.s2.4xlarge


4000


250.000


rmq.s2.6xlarge


6000


300.000

Professional Edition


Örnek türü


Temel gönderme/alma TPS sınırı (ops/sn)


Oluşturulabilecek veya abone olunabilecek maksimum LiteTopic sayısı


rmq.p2.2xlarge


2000


150.000


rmq.p2.4xlarge


4000


250.000


rmq.p2.6xlarge


6000


300.000


rmq.p2.10xlarge


10000


600.000


rmq.p2.20xlarge


20000


800.000


rmq.p2.30xlarge


30000


1.000.000


rmq.p2.40xlarge


40000


1,2 milyon


rmq.p2.50xlarge


50000


1,4 milyon


rmq.p2.100xlarge


100000


2.200.000


rmq.p2.120xlarge


120000


2,7 milyon


rmq.p2.150xlarge


150000


3,3 milyon


rmq.p2.200xlarge


200000


4,5 milyon

Platinum Edition


Örnek türü


Temel gönderme/alma TPS sınırı (ops/sn)


Oluşturulabilecek veya abone olunabilecek maksimum LiteTopic sayısı


rmq.u2.10xlarge


10000


600.000


rmq.u2.20xlarge


20000


800.000


rmq.u2.30xlarge


30000


1.000.000


rmq.u2.40xlarge


40000


1.200.000


rmq.u2.50xlarge


50000


1.400.000


rmq.u2.60xlarge


60000


1.600.000


rmq.u2.70xlarge


70000


1.700.000


rmq.u2.80xlarge


80000


1.800.000


rmq.u2.90xlarge


90000


2.000.000


rmq.u2.100xlarge


100000


2.200.000


rmq.u2.120xlarge


120000


2.700.000


rmq.u2.150xlarge


150000


3.300.000


rmq.u2.200xlarge


200000


4.500.000


rmq.u2.250xlarge


250000


5.600.000


rmq.u2.300xlarge


300000


6.300.000


rmq.u2.350xlarge


350000


7.500.000


rmq.u2.400xlarge


400000


9.300.000


rmq.u2.450xlarge


450000


10.400.000


rmq.u2.500xlarge


500000


11.600.000


rmq.u2.550xlarge


550000


12.800.000


rmq.u2.600xlarge


600000


14.000.000


rmq.u2.1000xlarge


1000000


23.200.000