RabbitMQ Temel Kavramlara Giriş

RabbitMQ Kavram Diyagramı

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.