ApsaraMQ for RocketMQ genel İnternet erişimi sunan, birden fazla programlama dili için HTTP SDK'ları sağlar.
Birden fazla programlama dili desteği
ApsaraMQ for RocketMQ RESTful HTTP protokollerini destekler ve yedi programlama dili için SDK'lar sunar. HTTP SDK özellikleri, TCP SDK özellikleriyle uyumlu olacak şekilde sürekli geliştirilmektedir. Farklılıklarla ilgili ayrıntılar için aşağıdaki konulara bakın:
Kullanım notları
-
HTTP tüketicileri, ApsaraMQ for RocketMQ aracılarından mesajları tüketmek için uzun yoklama veya kısa yoklama yöntemlerini kullanabilir.
Uzun yoklama: Tüketici, belirli bir konudaki mesajlar için aracıya istek gönderir. Mesaj yoksa aracı, bir mesaj üretilene veya uzun yoklama süresi dolana kadar isteği bekletir.
Kısa yoklama: Mesaj yoksa aracı hemen yanıt döndürür. İstemci ardından yeni abonelik isteklerini tekrar tekrar gönderir.
Yoklama modunu aşağıdaki gibi yapılandırın:
Uzun yoklama: Abonelik isteğinde
waitSecondsparametresini 0'dan büyük bir değere ayarlayın. Maksimum değer 30 saniyedir.Kısa yoklama: Abonelik isteğinde
waitSecondsparametresini 0 olarak ayarlayın veya belirtmeyin.
Daha fazla bilgi için bkz. Mesajları tüketme.
Konuda mesaj olmadığında kısa yoklama kullanılması, API çağrı ücretlerine yol açan çok sayıda geçersiz istek oluşturur. Geçersiz istekleri azaltmak ve maliyet tasarrufu sağlamak için uzun yoklama kullanın ve bekleme süresini artırın. API çağrı ücretlerinin hesaplanması hakkında bilgi için bkz. API çağrı ücretleri.
ÖnemliBir ApsaraMQ for RocketMQ örneğine HTTP üzerinden 100'den fazla tüketici bağlanırsa sistem, hizmet kararlılığını ve tüketimin zamanında gerçekleşmesini sağlamak için uzun yoklamadan otomatik olarak kısa yoklamaya geçer. Bu geçişten sonra geçersiz isteklerin neden olduğu maliyet artışını önlemek için tüketici bağlantısı sayısını sınırlayın.
HTTP SDK erişimi, ApsaraMQ for RocketMQ hizmetinin gelişmiş bir özelliğidir. Kendi kendine yönetilen Apache RocketMQ kümeleri bu özelliği desteklemez.
-
Erişmek istediğiniz kaynakların, kullandığınız HTTP uç noktasıyla aynı bölgede olduğundan emin olun.
Örneğin, ApsaraMQ for RocketMQ örneğiniz Çin (Hangzhou) bölgesindeyse Çin (Hangzhou) uç noktasını kullanmanız gerekir. Aşağıdaki hususlara dikkat edin:
İstemciniz Çin (Hangzhou) bölgesindeyse en iyi performans için HTTP iç uç noktasını kullanın.
İstemciniz Çin (Hangzhou) bölgesinin dışındaysa İnternet bağlantısının bulunduğundan emin olun ve HTTP genel uç noktasını kullanın.
-
Mesajlar TCP ve HTTP istemcileri arasında iletilebilir. HTTP XML serileştirmesi kullandığından mesaj nitelikleri, gövdeleri, etiketleri ve anahtarları XML kurallarına uygun olmalıdır.
NotXML kuralları hakkında daha fazla bilgi için bkz. XML sözdizimi. Uyumluluğu kontrol etmek için XML Validator aracını da kullanabilirsiniz.
XML kurallarını ihlal eden karakterler aşağıdaki sorunlara neden olur:
HTTP üzerinden gönderilen mesajlar iletilmez.
TCP üzerinden gönderilen ve HTTP üzerinden tüketilen mesajlar tüketilemez.
Kurallara uymayan karakterler içeren mesajları işlemek için Base64 kodlama ve kod çözme yöntemlerini kullanın.