Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for RocketMQ:Konular

Son Güncelleme:Oct 04, 2026

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

Tanım

ApsaraMQ for RocketMQ içinde bir konu, mesajların iletilmesi ve depolanması için kullanılan üst düzey bir kapsayıcıdır. Bir konu, aynı iş mantığını paylaşan mesajları tanımlar.

Konular aşağıdaki avantajları sunar:

  • Veri sınıflandırma ve yalıtım

    ApsaraMQ for RocketMQ kullanan çözümler tasarlarken farklı iş türlerine ait mesajları yönetmek için ayrı konular oluşturabilirsiniz. Bu yaklaşım, depolama ve aboneliklerin yalıtılmasını sağlar.

  • Kimlik ve izin yönetimi

    ApsaraMQ for RocketMQ içindeki mesajlar anonimdir. Belirli bir kategoriye ait mesajlar için kimlikleri ve izinleri yönetmek üzere bir konu kullanabilirsiniz.

Model ilişkisi

Aşağıdaki şekil, bir konunun ApsaraMQ for RocketMQ alan modelindeki konumunu gösterir.

主题

ApsaraMQ for RocketMQ içinde bir konu, tüm mesaj kaynakları için üst düzey bir kapsayıcıdır. Ancak konu, gerçek bir mesaj kapsayıcısı değil, mantıksal bir kavramdır.

Bir konu, mesaj depolama ve yatay ölçeklendirmeyi sağlayan bir veya daha fazla kuyruktan oluşur. Bir konuya ilişkin tüm kısıtlamalar ve nitelik ayarları kuyruk düzeyinde uygulanır.

Bir konu Lite türündeyse bunun altında LiteTopic kaynakları oluşturabilirsiniz. Varsayılan olarak her LiteTopic tek bir kuyruktan oluşur.

Kavramlar

Konu

ApsaraMQ for RocketMQ içinde bir konu, mesajların iletilmesi ve depolanması için kullanılan üst düzey bir kapsayıcıdır. Aynı iş mantığını paylaşan mesajları tanımlar ve konu adıyla benzersiz şekilde belirlenir.

LiteTopic

Bir konu Lite türündeyse bunun altında LiteTopic'ler oluşturabilirsiniz. Konu ve LiteTopic kombinasyonu, mesaj depolama kapsayıcısını benzersiz şekilde tanımlar. Varsayılan olarak her depolama kapsayıcısı tek bir kuyruktan oluşur.

Dahili nitelikler

Konu adı

  • Tanım: Bir konunun adı. Ad, bir küme içinde genel olarak benzersiz olmalı ve konuyu tanımlamak için kullanılmalıdır.

  • Değer: Konuyu oluştururken konu adını belirtebilirsiniz.

  • Kısıtlamalar: Daha fazla bilgi için bkz. Parametre sınırları.

Kuyruklar

  • Tanım: Kuyruklar, bir konunun temel bileşenleridir ve mesaj depolama için gerçek kapsayıcılar olarak hizmet verir. Bir konu, mesajların depolandığı bir veya daha fazla kuyruk içerir. Daha fazla bilgi için bkz. Kuyruklar (MessageQueue).

  • Değer: Sistem, belirtilen kuyruk sayısına göre bir konuya kuyruk atar. Kuyruk sayısını konuyu oluştururken siz tanımlarsınız.

  • Kısıtlamalar: Bir konu en az bir kuyruk içermelidir.

Mesaj türü

  • Tanım: Konunun desteklediği mesaj türü.

  • Değer: Bir konu oluştururken bir mesaj türü seçebilirsiniz. ApsaraMQ for RocketMQ aşağıdaki konu türlerini destekler:

    • Normal: Normal mesajlar. Normal bir mesajın özel bir anlamsal yapısı yoktur ve diğer mesajlarla ilişkilendirilmez.

    • FIFO: Sıralı mesajlar. ApsaraMQ for RocketMQ bir grup mesajın sırasını belirtmek için bir mesaj grubu (MessageGroup) kullanır. Bu, mesajların gönderildikleri sırayla tam olarak teslim edilmesini sağlar.

    • Gecikmeli: Zamanlanmış ve gecikmeli mesajlar. Bir mesajın gönderildikten hemen sonra teslim edilmesini önlemek için bir zaman gecikmesi belirtebilirsiniz. Mesaj, yalnızca belirtilen gecikme süresinden sonra tüketiciler tarafından görülebilir hale gelir.

    • İşlem: İşlemsel mesajlar. ApsaraMQ for RocketMQ dağıtılmış işlemeli mesajları destekler. Veritabanı güncellemeleri ve mesaj çağrıları için işlem tutarlılığını sağlar.

    • Lite: Lite mesajları. LiteTopic özelliği yalnızca Lite mesaj türüne sahip konular için kullanılabilir.

  • Kısıtlamalar: Her konu yalnızca bir mesaj türünü destekler.

LiteTopic sona erme süresi

  • Tanım: Bir konu içindeki LiteTopic kaynaklarının sona erme süresi. Son mesajın yazılmasından bu yana geçen süre belirtilen sona erme süresini aşarsa LiteTopic otomatik olarak silinir.

  • Değer: Değer dakika cinsindendir ve 30 ile 720 arasında bir sayı veya -1 olabilir. -1 değeri, LiteTopic'in asla sona ermeyeceğini gösterir.

  • Sınırlamalar: Bu parametre yalnızca mesaj türü Lite olduğunda geçerlidir.

Davranış kısıtlamaları

Zorunlu mesaj türü doğrulaması

ApsaraMQ for RocketMQ 5.x'te mesaj türleri konular içinde bağımsız olarak yönetilir ve işlenir. Sistem, gönderilen bir mesajın türünü hedef konu için tanımlanan mesaj türüne göre doğrular. Doğrulama başarısız olursa gönderme isteği reddedilir ve sistem bir tür uyuşmazlığı özel durumu döndürür. Aşağıdaki doğrulama kuralları uygulanır:

  • Mesaj türü tutarlılığı

    Gönderilen mesajın türü, hedef konu için tanımlanan mesaj türüyle eşleşmelidir.

  • Konu başına tek mesaj türü

    Her konu yalnızca bir mesaj türünü destekler. Farklı türdeki mesajları aynı konuya gönderemezsiniz.

Yaygın hatalı kullanım senaryoları

  • Eşleşmeyen türde mesaj gönderme

    Örneğin, bir konu oluşturup mesaj türünü sıralı olarak tanımlarsanız ancak ardından bu konuya bir işlemsel mesaj gönderirseniz gönderme isteği reddedilir ve bir tür uyuşmazlığı özel durumu döndürülür.

  • Tek bir konuda mesaj türlerini karıştırma

    Örneğin, bir konu oluşturup mesaj türünü normal olarak tanımlarsanız ve ardından bu konuya hem normal hem de sıralı mesajlar gönderirseniz sıralı mesajları gönderme istekleri reddedilir ve bir tür uyuşmazlığı özel durumu döndürülür.

Sürüm uyumluluğu

Zorunlu mesaj türü doğrulaması yalnızca ApsaraMQ for RocketMQ 5.x aracıları için geçerlidir.

ApsaraMQ for RocketMQ 4.x aracıları mesaj türü doğrulamasını zorunlu kılmaz. Ancak bu aracıları kullanırken mesaj türü tutarlılığını korumanızı öneririz.

Kullanım notları

Konuları iş kategorilerine göre planlayın

ApsaraMQ for RocketMQ içinde konuları tasarlarken mesajları ana iş kategorisine göre gruplandırmanızı öneririz. Aynı iş alanı içinde aynı işlevsel niteliklere sahip mesajları tek bir konuda toplayın. Konu granülerliğini belirlerken aşağıdaki faktörleri göz önünde bulundurun:

  • Mesaj türü tutarlılığı: Sıralı mesajlar ve normal mesajlar gibi farklı mesaj türleri farklı konular gerektirir.

  • İş alakası: İşler doğrudan ilişkili değilse farklı konular kullanın. Örneğin, Taobao işlem mesajları ile Freshippo lojistik mesajları arasında iş örtüşmesi yoktur ve farklı konular gerektirir. Aynı iş içindeki mesajlar için, örneğin Taobao işlem mesajları için hem kadın hem de erkek giyim siparişlerinde aynı konuyu kullanabilirsiniz. Ancak iş hacmi büyükse veya alt modüller sipariş türlerinin daha fazla sınıflandırılmasını gerektiriyorsa mesajları erkek ve kadın giyim siparişleri için iki ayrı konuya da bölebilirsiniz.

  • Mesaj hacmi: Büyüklük veya zamanlama gereksinimleri açısından farklılık gösteren iş mesajları için farklı konular kullanmanızı öneririz. Örneğin, bazı iş mesajlarının hacmi çok küçüktür ancak yüksek zaman duyarlılığına sahiptir. Bu mesajlar, yüksek hacimli mesaj üreten bir işle aynı konuyu paylaşırsa zaman duyarlı mesajlar için bekleme süresi artar.

Doğru konu bölme örneği: Çevrimiçi alışveriş senaryosunda sipariş oluşturma, ödeme ve iptal gibi sipariş işlem mesajları için bir konu kullanabilirsiniz. Lojistikle ilgili mesajlar için ayrı bir konu ve puan yönetimi mesajları için başka bir konu kullanabilirsiniz.

Yanlış konu bölme örnekleri:

  • Aşırı kaba granülerlikle bölme: Bu durum zayıf iş yalıtımına yol açar ve bağımsız işletme ve bakım ile hata işlemeyi karmaşıklaştırır. Buna örnek olarak tüm işlem ve lojistik mesajları için tek bir konu kullanılması verilebilir.

  • Aşırı ince granülerlikle bölme: Bu durum aşırı konu kaynağı tüketir ve sistemi aşırı yükleyebilir. Buna örnek olarak her kullanıcı kimliği için ayrı bir konu oluşturulması verilebilir.

Tek bir mesaj türü için tek bir konu kullanın ve türleri karıştırmayın

ApsaraMQ for RocketMQ içindeki konular işleri yalıtmak için tasarlanmıştır. Farklı iş mantığına sahip mesajlar için farklı konular kullanmanızı öneririz. Aynı iş mantığına sahip mesajların aynı mesaj türü vardır. Bu nedenle, tek bir konu yalnızca bir tür mesaj için kullanılmalıdır.

Konu yönetimi için otomatik mekanizmalar kullanmaktan kaçının

ApsaraMQ for RocketMQ mimarisinde konular üst düzey kaynaklar ve kapsayıcılardır. İzin yönetimi, gözlemlenebilirlik ölçümlerinin toplanması ve izleme için bağımsız yeteneklere sahiptirler. Konu oluşturma ve yönetimi sistem kaynaklarını tüketir. Bu nedenle, üretim ortamında konu kaynaklarını sıkı bir şekilde yönetmelisiniz. Konuları keyfi olarak eklemeyin, silmeyin, değiştirmeyin veya sorgulamayın.