RabbitMQ Temel Kavramlara Giriş
RabbitMQ Kavram Diyagramı
Kavram Açıklaması
Mesaj
Bir mesaj, bir mesaj başlığı (yani ek yapılandırma bilgisi) ve bir mesaj gövdesi (yani mesaj içeriği) içerir.
Yayıncı
Mesajın üreticisi, yani bir istemci uygulamasıdır ve bu uygulama mesajları bir borsaya yayınlar.
Borsa
Bir borsa, üreticiler tarafından gönderilen mesajları almak ve bu mesajları sunucudaki kuyruklara yönlendirmek için kullanılır.
Dört tür borsa vardır:
-
Doğrudan tür: Mesajdaki yönlendirme anahtarını borsanın tüm bağlantılarına ilişkilendirilmiş yönlendirme anahtarları ile karşılaştırır. Eşleşirse, mesaj o bağlantının karşılık gelen kuyruğuna gönderilir.
-
Konu türü: Mesajdaki yönlendirme anahtarını borsanın tüm bağlantılarına ilişkilendirilmiş yönlendirme anahtarları ile karşılaştırır. Eşleşme durumunda, mesaj o bağlantının karşılık gelen kuyruğuna gönderilir.
-
Dağıtım türü: Yönlendirme sırasında yönlendirme anahtarını görmezden gelerek, tüm bağlantıların karşılık gelen kuyruklarına doğrudan mesaj iletilmesini sağlar.
-
Başlık türü: Mesajdaki başlıkları borsanın tüm bağlantılarına ilişkilendirilmiş parametrelerle eşler. Eşleşme durumunda, mesaj o bağlantının karşılık gelen kuyruğuna gönderilir (daha az yaygın kullanılır, Doğrudan türüne benzer).
Not: Borsa türlerinin detaylı açıklamaları, çalışma modları üzerine sonraki bölümlerde sağlanacaktır. Bu sadece bir genel bakıştır.
Bağlama
Mesaj kuyrukları ile borsalar arasında bağlantı kurmak için kullanılan ilişki.
Kuyruk
Tüketicilere teslim edilene kadar mesajları depolamak için kullanılan bir mesaj kuyruğudur. Hem mesajların depolanması için bir konteyner olarak hem de mesajların uç noktası olarak hizmet verir. Bir mesaj bir veya daha fazla kuyruğa teslim edilebilir. Mesajlar, tüketicilerin bağlanıp alana kadar kuyrukta kalır.
Bağlantı
Bir TCP bağlantısı gibi bir ağ bağlantısı.
Kanal
Bir kanal, gerçek bir TCP bağlantısı içinde kurulan sanal bir bağlantıdır. Tüm AMQP komutları kanallar aracılığıyla gönderilir, mesaj yayınlama, kuyruklara abone olma veya mesaj alma olsun. Bu tasarım, tek bir TCP bağlantısını yeniden kullanmak için kanal kavramını tanıtır, çünkü TCP bağlantısının kurulması ve sonlandırılması işletim sistemi için maliyetlidir.
Tüketici
Mesaj tüketicisi, yani mesajları mesaj kuyruklarından alıp çeken bir istemci uygulamasını temsil eder.
Sanal Ana Bilgisayar
Bir sanal ana bilgisayar, borsaları, mesaj kuyruklarını ve ilgili nesneleri temsil eder. Bağımsız bir sunucu alanı olup aynı kimlik doğrulama ve şifreleme ortamını paylaşır. Her bir sanal ana bilgisayar, özünde kendi kuyrukları, borsaları, bağlantıları ve izin mekanizmaları olan bir RabbitMQ sunucu mini-versiyonudur.
Sanal ana bilgisayarlar, AMQP'de temel bir kavramdır ve bir bağlantı kurulurken belirtilmelidir. RabbitMQ'nun varsayılan sanal ana bilgisayarı /'dır.
Not: Sanal Ana Bilgisayar, aynı RabbitMQ sunucusu içinde birden fazla izole alanın bölümlendirilmesine olanak tanıyan bir kaynak izolasyon stratejisi biçimidir.
Aracı
Fiziksel mesaj kuyruğu sunucusu varlığını temsil eder.