RabbitMQ – Yazılımlar arası Mesajlaşma

RabbitMQ – Yazılımlar arası Mesajlaşma

 

Yazılımlar arası mesajlaşma ile insanlar arası mesajlaşma arasında kavramsal bir fark var. İnsanlar Skype veya WhatsApp gibi uygulamalarla doğrudan metin veya sesli mesajlar gönderir. Yazılımlar arasındaki mesajlaşma ise daha çok veri veya bilgi alışverişi anlamına gelir ve bir yazılımın diğerine veri göndermesi veya bir işlemi tetiklemesi gibi senaryolarda kullanılır.

Yazılımlar Arasında Mesajlaşma Neden Gerekli?

Birçok yazılım veya sistem birbirleriyle doğrudan iletişim kurmak zorunda kalır. Örneğin:

E-ticaret Uygulaması: Bir müşteri sipariş verdiğinde, sipariş bilgileri veritabanına kaydedilir ve aynı anda bir kargo sistemine siparişin gönderilmesi gerekir. Bu iki yazılımın birbirinden haberdar olup mesaj alışverişi yapması gerekir.

Mikroservis Mimarisi: Bir uygulama birçok küçük servisten oluşur. Örneğin, kullanıcı kaydını yapan bir servis, e-posta gönderme servisine bir mesaj gönderir ve kullanıcıya hoş geldin e-postası iletilir.

Farklı Teknolojiler: Bir yazılım PHP ile yazılmış, diğer yazılım ise Python ile yazılmış olabilir. İki farklı teknoloji arasında doğrudan iletişim kurmak zor olabilir. Mesajlaşma sistemleri, bu iletişimi kolaylaştırır.

Bu noktada mesajlaşma sistemleri devreye girer. Örneğin, RabbitMQ gibi bir mesaj kuyruğu, bir yazılımın diğerine mesaj göndermesini sağlar ve bu mesajı belirli bir sıraya koyarak işlenmesini bekler. Yani, bir uygulama bir kuyruk aracılığıyla mesajı gönderir, diğer uygulama ise bu kuyruğu dinleyerek mesajları alır ve işleyebilir.

RabbitMQ ile İki Yazılımın Haberleşmesi: Örnek Senaryo

Şimdi bir örnek üzerinden RabbitMQ'yu anlatayım. Diyelim ki bir e-ticaret uygulaması yazıyorsunuz. Bu uygulama iki ayrı servise sahip:

1. Sipariş Servisi: Kullanıcı sipariş verdiğinde bu servis çalışır.
2. Kargo Servisi: Sipariş onaylandıktan sonra bu servis çalışarak kargo bilgilerini işler.

Bu iki servis nasıl haberleşir? İşte RabbitMQ bu noktada devreye girer. RabbitMQ'nun işleyişini şöyle bir adım adım inceleyelim:

1. Mesaj Gönderimi (Sipariş Servisi)

Sipariş servisi, bir kullanıcı sipariş verdiğinde bu sipariş bilgilerini RabbitMQ'nun sipariş kuyruğuna (queue) bir mesaj olarak gönderir. Bu mesaj, siparişin detaylarını içerir: ürün adı, miktar, adres vb.

2. Mesaj Kuyruğa Alınır (RabbitMQ)

RabbitMQ, gelen bu mesajı bir kuyruğa yerleştirir. Bu, mesajın kaybolmamasını sağlar ve alıcı sistem hazır olduğunda mesajı işleyebilir.

3. Mesajı Alma ve İşleme (Kargo Servisi)

Kargo servisi, RabbitMQ'yu dinler. Yani kargo servisi sürekli olarak RabbitMQ'dan yeni sipariş mesajları gelip gelmediğini kontrol eder.

Eğer bir sipariş mesajı kuyruğa düşerse, kargo servisi bu mesajı alır ve kargo işlemini başlatır.

Örnek RabbitMQ Mesajlaşma Süreci

1. Sipariş Servisi -> RabbitMQ (Mesaj Gönderimi)

2. RabbitMQ -> Mesaj Kuyruğa Alınır

3. Kargo Servisi -> RabbitMQ'dan Mesaj Alır ve İşler

Bu sistemin avantajı şudur:

Güvenilirlik: Mesajlar kaybolmaz. Eğer kargo servisi geçici olarak çalışmazsa, RabbitMQ mesajı sırada bekletir ve servis tekrar çalışmaya başladığında mesajı alır.

Esneklik: Servisler birbirinden bağımsızdır. Sipariş servisi işini bitirdikten sonra kargo servisi ne zaman hazır olursa mesajı işleyebilir.

Performans: Asenkron çalıştığı için sistemler birbiriyle beklemeden işlem yapabilir. Sipariş servisi hemen yeni bir sipariş işleyebilirken, kargo servisi siparişleri arka planda işleyebilir.

Bu tür bir mesajlaşma sistemi, yazılım bileşenlerinin birbiriyle bağlantılı ama bağımsız çalışmasına izin verir. Özellikle dağıtık sistemlerde, performans ve güvenilirlik açısından önemli bir yapı sunar.

Eğer bu temel yapı anlaşıldıysa, RabbitMQ'da daha derin konulara (exchange tipleri, routing, queue yapılandırmaları gibi) geçebiliriz.


Responsive Advertisement
Ad

1.30,1,1.32,1,20.04,1,2023,1,4.17,1,7,1,admin,1,ağ güvenliği,1,alias,1,Aliases,1,alternatif,1,ansible,1,arası,1,arayüz,1,attacks,1,automated,1,aws,1,azaltma,1,azure,1,backup,2,baglanti,1,bare metal,1,bash,1,basic,1,big cluster,1,bileşenlerin,1,blue team,1,bootstrap,1,brocade,1,buildah,1,bulut,1,Cheat Sheet,2,chmod,1,chroot,1,CI/CD,1,cli,2,cloud,2,cluster,1,cna,1,cockpit,2,commands,2,compute node,1,config,1,connect,1,containerized,1,cpu,1,crc,1,create,1,custom,1,çözüm,1,das,1,data,1,data storage,1,deamon,1,devops,3,Directory,1,disk,1,dizin,1,dnf,1,docker,4,durum,1,editor,1,editör,1,eğitim,2,error code,1,esxi,2,esxicli,2,esxli,1,etcd,1,exchange server,1,explain,1,fio,1,firewall,1,fortigate,1,full contol,1,genel bilgi,1,generic,1,giriş bilgi,1,git,1,GitOps,1,go,1,googlecloud,1,gu,1,hacking,1,hata,1,hata code,1,hata kod,1,hatası,1,hba,2,hpe,1,http,1,hyperv,1,Immutable,1,ignition,1,ilo,1,infra,1,install,5,interactive,1,ipi,1,isntall,1,iso,1,java,1,jenkins,1,kapasite sınrıları,1,kaynakları,1,key,1,kısayolları,1,kilitleme,1,kim oluşturdu.,1,komut,1,komutlar,2,komutları,1,kubelet,1,kubernetes,11,kurulum,1,linux,7,list,3,listesi,1,load balancer,1,local agent-based,1,lock,1,lsblk,1,lst,1,lun,1,machine config,1,maliyet,1,master,1,mayıs,1,mesajlaşma,1,microsoft,1,mobaxterm,1,mode,2,namespaces,1,Nano,1,nas,1,nasıl,1,nedir,2,network,1,network-manager,1,nic,1,nmtui,1,node,2,node dosya almak,1,ocp,6,oluşturmak,1,openshift,5,operations,1,Operator Hub,1,osi layers,1,önerilen,1,paket,1,pcap,1,penelope,1,permision,1,podman,1,port,1,power shell,4,powercli,1,preemptible,1,python,1,Quiesce,1,RabbitMQ,1,rapor,1,reboot,1,Red Hat,1,red team,1,redhat,3,roadmap,1,rocky linux,3,root login,1,rootless,1,rootless deamon yok,1,runas,1,rvtools,1,san,1,san switch,2,scp cli,1,security,4,securityContex,1,securtiy,2,segmentasyon,1,server,1,server 2022,1,services,2,servisler,1,settings,1,setup,1,snapshots,1,soc,1,software,1,sorun,1,sözlük,1,speed,1,ssh,1,sshkey,1,startup linux,1,state,1,storage linux,1,Structure,1,sudo,1,sürümler,1,systed,1,system admin,1,terminal,1,terraform,1,test,1,toolbox,1,tools,2,tr,1,trraform,1,türkçe,1,uber,1,ubuntu,3,update,2,upi,1,uyumluluk,1,vcenter,1,versiyon,1,vi,1,vm,1,vm makine,1,vmoiton,1,vmware,3,vmware tools,2,vs,2,webmin,1,windows,1,workaround,1,worker,2,worker node,1,workstation,1,wwn,1,xen,1,yapısı,1,yedekleme,1,yenilikler,1,yetki,1,youtube,1,yönetim,1,yum,1,zararlı kod,1,zero-day,1,
ltr
item
1w2 - DevOps: RabbitMQ – Yazılımlar arası Mesajlaşma
RabbitMQ – Yazılımlar arası Mesajlaşma
RabbitMQ – Yazılımlar arası Mesajlaşma
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4CM2VgflFiVXGl7zSd0nl5gi3gNWrLOTR7JuX8iLG8iI9Zh3GXvkFc5tBU-_hILGasbDLR44qDFdEzHA3STRFzB-7Eg0t2qSjYjoPbhzhyphenhyphenIAyogk4DcmC0Xqj_HEJ7OtFN2iRut_zKX94DO3cRwTQNUH2uFUPo8Ep1bN30rEQxkxd_fBNuor057f5Vg6/s320/where%20you%20start%20.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhU4CM2VgflFiVXGl7zSd0nl5gi3gNWrLOTR7JuX8iLG8iI9Zh3GXvkFc5tBU-_hILGasbDLR44qDFdEzHA3STRFzB-7Eg0t2qSjYjoPbhzhyphenhyphenIAyogk4DcmC0Xqj_HEJ7OtFN2iRut_zKX94DO3cRwTQNUH2uFUPo8Ep1bN30rEQxkxd_fBNuor057f5Vg6/s72-c/where%20you%20start%20.jpg
1w2 - DevOps
http://www.1w2.net/2024/09/rabbitmq-yazlmlar-aras-mesajlasma.html
http://www.1w2.net/
http://www.1w2.net/
http://www.1w2.net/2024/09/rabbitmq-yazlmlar-aras-mesajlasma.html
true
9004064233895411880
UTF-8
Tüm postalar yüklendi Hiç bir post bulunamadı HEPSiNi GöR Daha fazla Cevapla İptal Et Cevapla Sil Tarafından Ana Sayfa SAYFALAR POSTLAR Hepsini Gör SENiN iÇiN ÖNERiLEN LABEL ARŞİV ARAMA TÜM POSTLAR İsteğinizle eşleşen herhangi bir post bulunamadı Ana Sayfaya Dön Pazar Pazartesi Salı Çarşamba Perşmebe Cuma Cumartesi Paz Pzt Sal Çrş Prş Cum Cmt Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık Ock Şbt Mar Nis Mayıs May Hzr Ağs Eyl Ekm Kas Arl Şu an 1 Dakika önce $$1$$ Dakika Önce 1 Saat Önce $$1$$ Saat Önce Dün $$1$$ Gün Önce $$1$$ Hafta Önce 5 haftadan daha fazla Takipçiler Takip Et Bu İöerik Kilitli Sadece Özel Üyeler İçin ADIM 1 : Sosyal netwörkünüzde paylaşın ADIM 2: Sosyal networkünüzdeki link' e tklayın Tüm kodu kopyala Tüm kodu seç Tüm kod kopyalama hafızasına alındı Kodu kopyalayamdıysanız / yazıyı seçip, [CTRL]+[C] yapın (veya CMD+C Mac için) kopyalayın İçerik Listesi