Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3645|Yanıt: 0

RabbitMQ AMQP mesaj mimarisinin ayrıntılı açıklaması

[Bağlantıyı kopyala]
Yayınlandı 14.08.2022 23:32:43 | | | |
AMQP protokolüne giriş

AMQP (Gelişmiş Mesaj Kuyruşu Protokolü), birleşik mesajlaşma hizmetleri sağlayan ve mesaj odaklı ara yazılım için tasarlanmış uygulama katmanı protokolleri için açık bir standart olan uygulama katmanı standart protokolüdür. AMQP, süreçler arasında asenkron mesajların iletilmesini sağlayan bir ağ protokolüdür.

Bu protokole dayalı istemci ve mesaj ara yazılımları, farklı istemci/middleware ürünleri, farklı geliştirme dilleri vb. tarafından sınırlandırılmadan mesaj iletebiliyor.

AMQP'nin ana özellikleri mesaj odaklı, kuyruklu, yönlendirme (eşler arası ve yayınlama/abone olmak dahil), güvenilirlik ve güvenliktir. AMQP, mesaj sağlayıcıları ve müşterilerin davranışını zorunlu kılarak farklı tedarikçiler arasında gerçek bir birlikte çalışabilirlik sağlar.

AMQP protokolünün ayrıntılı açıklaması
https://www.itsvse.com/thread-10347-1-1.html

Yönlendirme mesajları

AMQP mimarisinde, başarılı bir mesaj yönlendirmesi üç bölümden oluşur:

  • Exchange: Üreticilerin mesaj yayımladığı yer
  • Kuyruklar: Tüketicilerin mesaj aldığı yer
  • Bağlamalar: Mesajların switch'ten belirli bir kuyruğa nasıl yönlendirildiği


Değişimler ve Bağlamalar

Peki mesaj kuyruğun içine nasıl ulaşıyor? Bir mesajı bir tüketiciye iletmek istediğinizde, önce onu değişimciye göndermelisiniz. Daha sonra, belirli kurallar veya yönlendirme anahtarlarına dayanarak, RabbitMQ mesajları hangi kuyruğun adresine ileteceğine karar verir.

Kurallar - veya yönlendirme anahtarları - borsaya kuyruk bağlamanızı sağlar. RabbitMQ, mesajdaki yönlendirme anahtarını bağlamada kullanılan anahtarla eşleştirmeye çalışacaktır. Mesaj, dört değişim türünden birine göre kuyruğun içine iletilir: fanout, topic, direct, header



Fanout Değişimi

Bu tür bir değişim, aldığı tüm mesajları kendisine bağlı tüm kuyruklara iletir. Yayınlanan mesajla birlikte verilen yönlendirme anahtarları göz ardı edilecektir.

Konu Değişimi

Bu tür bir değişimde, mesajlar yönlendirme anahtarına göre kuyruğun içine gönderilir. Bu, konu değişimine gönderilen mesajların belirli bir yönlendirme anahtarına sahip olması gerektiği anlamına gelir; bu anahtar, noktalarla ayrılmış kelimeler listesi olmalıdır (örneğin, 'acs.deviceoperations.'). Kelime sınırı 255 bayttır.

Bağlama anahtarı, yönlendirme anahtarıyla aynı formatta olmalıdır. Bu nedenle, belirli bir yönlendirme anahtarıyla gönderilen mesajlar, eşleşen bir bağlama anahtarıyla her kuyruk sınırına iletilecektir.

Bağlama anahtarları aşağıdaki ifade kurallarına izin verir:

*(yıldız) sadece bir kelimenin yerine geçebilir
# (hash) sıfır veya daha fazla kelimenin yerini alabilir
Bir kuyruk "#" (hash) bağlama anahtarıyla bağlandığında, yönlendirme anahtarı ne olursa olsun tüm mesajları alır; tıpkı bir Fanout fan-out değişiminde olduğu gibi.

Doğrudan Değişim

Bir kuyruk ilan edildiğinde,Otomatik olarak kuyruk adını yönlendirme anahtarı olarak kullanan bir anahtara bağlanın。 Yönlendirme anahtarı eşleşirse, mesaj uygun kuyruda iletilir.

Başlık Değişimi

Başlık anahtarları konu anahtarlarına biraz benzer, ancak konu anahtarlarının aksine, yönlendirme rota anahtarlarına dayanır ve başlık anahtarlarının yönlendirme değerleri mesajın başlık verisine dayanır.
Konu anahtarı yönlendirme anahtarı sadece bir dizedir, başlık anahtarı ise tam sayı ve bir hash olabilir.

(Son)





Önceki:AMQP protokolünün ayrıntılı açıklaması
Önümüzdeki:[Dön]. NET performans optimizasyonları - List koleksiyonlarını hızlıca geçin
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com