Mesaj Aracıları

menu icon

Mesaj Aracıları

Mesaj aracıları; bulut tabanlı, mikro hizmetler tabanlı, sunucusuz ve hibrit bulut mimarilerini desteklemek için ortak bir entegrasyon mekanizması oluşturulmasına yardımcı olan, uygulamalar arası bir iletişim teknolojidir.

Mesaj Aracısı nedir?

Mesaj aracısı; uygulamaların, sistemlerin ve hizmetlerin birbiriyle iletişim kurmasını ve bilgi alışverişinde bulunmasını sağlayan bir yazılımdır. Mesaj aracısı, bunu resmi mesajlaşma protokolleri arasındaki mesajları çevirerek yapar. Bu, farklı dillerde yazılmış ya da farklı platformlarda uygulanmış olsalar da, birbirine bağımlı hizmetlerin birbiriyle doğrudan "konuşmasına" olanak sağlar.

Mesaj aracıları, mesajlaşma ara katman yazılımı ya da mesaj odaklı ara katman yazılımı (MOM) çözümleri dahilindeki yazılım modülleridir. Bu tip ara katman yazılımları, geliştiricilerin temel mantığa odaklanabilmeleri için bir uygulamanın bileşenleri arasındaki veri akışını standart olarak ele almaya yönelik bir yol sağlar. Birden çok platforma yayılan uygulamaların dahili olarak iletişim kurmasını sağlayan, dağıtılmış bir iletişim katmanı olarak hizmet verebilir.

Mesaj aracıları; mesajları doğrulayabilir, depolayabilir, yönlendirebilir ve uygun hedeflere teslim edebilir. Diğer uygulamalar arasında aracı olarak hizmet vererek, alıcıların nerede olduğunu, aktif olup olmadıklarını veya kaç alıcı olduğunu bilmeden göndericilerin mesajları göndermelerine olanak tanır. Bu, sistem içindeki süreçlerin ve hizmetlerin ayrışmasını kolaylaştırır.

Güvenilir mesaj depolaması ve garantili hizmet sağlama için, mesaj aracıları genellikle, tüketen uygulamalar onları işleyene kadar mesajları depolayıp sıralayan ve mesaj kuyruğu adı verilen bir altyapı ya da bileşene dayanır. Mesaj kuyruğunda mesajlar, iletildikleri sırayla saklanır ve alındıkları onaylanıncaya kadar kuyrukta kalır.

Zamanuyumsuz mesajlaşma (15:11), mesaj aracılarının mümkün kılacağı uygulama arası iletişimin tipi olarak bilinir. Değerli verilerin kaybolmasını önler ve genel ağlarda yaygın olan aralıklı bağlanırlık ya da gecikme süresi sorunlarında bile işleyişe devam etmesini sağlar. Zamanuyumsuz mesajlaşma, mesajların bir kez (ve yalnızca bir kez), diğer mesajlara göre doğru sırada teslim edileceğini garanti eder.

Mesaj aracıları; veri yöneltme, mesaj çevirisi, kalıcılık ve istemci durumu yönetimi işlevleri sağlayan hizmetlerin yanı sıra, birden çok mesaj kuyruğu arasındaki etkileşimleri işlemek için kuyruk yöneticilerini derleyebilirler.

Mesaj aracısı modelleri

Mesaj aracıları, iki temel mesaj dağıtım kalıbı ya da mesajlaşma stili sunar:

  • Noktadan Noktaya Mesajlaşma: Bu, mesajın göndericisi ve alıcısı arasında bire bir ilişki içeren mesaj kuyruklarında kullanılan dağıtım kalıbıdır. Kuyrukta bulunan her mesaj yalnızca bir alıcıya gönderilir ve yalnızca bir kez tüketilir. Bir mesaj üzerinde yalnızca bir kez işlem yapılması gereken durumlarda, noktadan noktaya mesajlaşma çağrılır. Bu mesajlaşma stili için uygun kullanım senaryolarına örnekler arasında, bordro işlemleri ve mali işlemler yer alır. Bu sistemlerde hem göndericiler hem de alıcılar, her bir ödemenin sadece bir kez gönderileceğine dair bir garantiye ihtiyaç duyarlar.
  • Yayınlama/abonelik mesajlaşması: Genellikle "pub/sub" olarak adlandırılan bu mesaj dağıtımı modelinde, her mesajın üreticisi bunları bir konuya yayınlar ve birden çok mesaj tüketicisi, mesaj almak istedikleri konulara abone olur. Bir konuya yayınlanan tüm mesajlar, bu konuya abone olan tüm uygulamalara dağıtılır. Bu, mesaj yayınlayıcı ile tüketicileri arasında bire bir ilişkinin olduğu yayınlama stilinde bir dağıtım yöntemidir. Örneğin bir havayolu şirketi uçakların iniş saatleri veya uçak rötar durumları hakkında güncelleme yayınlayamak isterse bu bilgiden çok sayıda taraf yararlanabilir: Uçak bakım ve yakıt ikmali yapan yer ekipleri, bagaj taşıyıcıları, uçuş görevlileri ve uçağın bir sonraki seyahatine hazırlanan pilotlar, halka haber veren görsel görüntü operatörleri. Bu senaryoda kullanım için bir pub/sub mesajlaşma stili uygun olacaktır.

Bulut mimarilerinde mesaj aracıları

Bulut tabanlı uygulamalar; esneklik, ölçeklenebilirlik ve hızlı devreye alma dahil olmak üzere, bulut bilgi işlemin doğasından gelen avantajlardan yararlanır. Bu uygulamalar, mikro hizmetler adı verilen küçük, ayrık ve yeniden kullanılabilir bileşenlerden oluşur. Her bir mikro hizmet diğerlerinden bağımsız olarak devreye alınabilir ve çalışabilir. Bu, sistemdeki diğer hizmetleri etkilemeden, bunların herhangi birinin güncellenebileceği, ölçeklendirilebileceği ya da yeniden başlatılabileceği anlamına gelir. Genellikle konteynerler içinde paketlenen mikro hizmetler, her biri diğerinden farklı olabilecek bir veritabanı ve veri modeli de dahil olmak üzere kendi uygulama demetine sahip olsa da, bir uygulamanın tamamını oluşturmak için birlikte çalışır.

Mikro hizmetlerin, uyumlu bir şekilde çalışmak adına birbirleriyle iletişim kurmaya yönelik bir araçlarının olması gerekir. Mesaj aracıları, bu paylaşılan iletişim omurgasını oluşturmak için kullandıkları bir mekanizmadır.

Mesaj aracıları genellikle hibrit bulut ortamlarındaki şirket içi sistemler ve bulut bileşenleri arasındaki iletişimi yönetmek için kullanılır. Bir mesaj aracısının kullanımı, hizmet içi iletişimler üzerinde kontrolü artırarak, verilerin bir uygulamanın bileşenleri arasında güvenli, güvenilir ve etkin bir şekilde gönderilmesine olanak tanır. Mesaj aracıları, farklı platformlarda bulunan iş yükleri ve çalıştırma zamanları arasındaki iletişimi etkinleştirerek çoklu bulut ortamlarının bütünleştirilmesinde benzer bir rol oynayabilir. Ayrıca, bulutta barındırılan bireysel hizmetlerin talebe dayalı olarak istek üzerine çalıştığı sunucusuz bilgi işlemde kullanıma oldukça uygundurlar.

Mesaj aracıları ve API karşılaştırması

REST API'leri mikro hizmetler arasındaki iletişim için yaygın olarak kullanılır. Temsili Durum Aktarımı (REST; Representational State Transfer) terimi, web hizmetleri oluştururken geliştiricilerin izlediği bir dizi prensip ve kısıtlamayı tanımlar. Bunlara uyan tüm hizmetler, bir dizi tektip durum bilgisiz operatör ve istek aracılığıyla iletişim kurabilir. Uygulama Programlama Arabirimi (API; Application Programming Interface), REST kurallarına uyması durumunda, hizmetlerin bir diğeriyle konuşmasına olanak tanıyan temel kodu belirtir.

REST API'leri iletişim kurmak için HTTP'yi (Hypertext Transfer Protocol; Bağlantılı Metin Aktarım Protokolü) kullanır. HTTP, genel İnternet'in standart taşıma prokolü olduğundan, REST API'leri yaygın olarak bilinir, sık kullanılır ve geniş kapsamlı olarak birlikte çalışabilir. HTTP bir istek/yanıt protokolüdür; ancak, zamanuyumlu istek/yanıt çağrısında bulunan durumlarda en iyi şekilde kullanılır. Bu da, REST API'leri aracılığıyla gelen hizmetlerin acil bir yanıt beklemek üzere tasarlanması gerektiği anlamına gelir. Yanıtı alan istemci devre dışıysa, gönderen hizmeti yanıt beklerken engellenir. Her iki hizmette de arıza durumunda devreye girme ve hata işleme mantığı yer almalıdır.

Mesaj aracıları, hizmetler arasında zamanuyumsuz iletişimlerin etkinleştirilmesini sağlar, böylece gönderme hizmetinin alıcı hizmetinin yanıtını beklemesine gerek kalmaz. Bu, kullanıldıkları sistemlerdeki hata toleransını ve esnekliği artırır. Ayrıca, mesaj aracılarının kullanımı, bir pub/sub mesajlaşma kalıbı değişken sayıda hizmeti destekleyebileceğinden, sistemlerin ölçeklenmesini kolaylaştırır. Mesaj aracıları, tüketicilerin durumlarını da takip eder.

Mesaj aracıları ve olay akış platformları karşılaştırması

Mesaj aracıları, mesaj kuyrukları ve pub/sub dahil olmak üzere iki veya daha fazla mesajlaşma kalıbını desteklerken, olay akış platformları sadece pub/sub türü dağıtım kalıpları sunar. Yüksek mesaj hacimleri ile kullanım için tasarlanan olay akışı platformları, kolayca ölçeklenebilir. Kayıt akışlarını konu adı verilen kategoriler şeklinde talep edebilir ve bunları önceden belirlenmiş bir süre boyunca saklayabilirler. Ancak, mesaj aracılarının tersine, olay akışı platformları mesaj teslimini garanti edemez ya da hangi tüketicilerin mesajları aldığını izleyemez.

Olay akışı platformları, mesaj aracılarından daha fazla ölçeklenebilirlik sunar, ancak hata toleransını sağlayan daha az özelliğin (mesajı yeniden gönderme gibi) yanı sıra, daha sınırlı mesaj yönlendirme ve kuyruğa alma özelliği sunar.

Olay odaklı mimari hakkında daha fazla bilgi edinin.

Mesaj aracısı ve ESB (kurumsal hizmet veriyolu) karşılaştırması

ESB (kurumsal hizmet veri yolu), kuruluşlar genelinde uygulanan hizmet odaklı mimarilerde zaman zaman kullanılan bir mimari kalıptır. Bir ESB'de; merkezi bir yazılım platformu, iletişim protokollerini ve veri biçimlerini, mimarideki tüm hizmetlerin ve uygulamaların paylaşabileceği bir "ortak dil" şeklinde birleştirir. Örneğin, aldığı istekleri bir protokolden (XML gibi) başka bir protokole (örneğin, JSON gibi) çevirebilir. ESB'ler, mesaj yüklerini otomatikleştirilmiş bir süreç kullanarak dönüştürür. Merkezileştirilmiş yazılım platformu, bağlanırlık, yönlendirme ve istek işleme gibi farklı düzenleme mantıklarını da işler.

Ancak, ESB altyapıları karmaşıktır ve entegrasyonu ve bakımı pahalı olabilir. Üretim ortamlarında sorun çıktığında sorun giderme yapmak zordur, ölçeklenmeleri kolay değildir ve güncellenmeleri zaman alır.

Mesaj aracıları, hizmet içi iletişimlere yönelik bir mekanizma olarak benzer bir işlevselliği daha ucuza ve daha basit bir şekilde sunarak ESB'lere bir alternatif oluşturur. Bunlar, ESB'ler gözden düştükçe daha da yaygınlaşan mikro hizmetler mimarilerinde kullanıma daha uygundur.

Mesaj aracısı kullanım senaryoları

Mesaj aracılarının uygulanması, farklı sektörler genelinde ve çeşitli kurumsal bilgi işlem ortamlarında geniş bir yelpazedeki iş ihtiyaçlarına yanıt verebilir. Mesaj aracıları, uygulama içinde güvenilir iletişimin ve garantili mesaj iletiminin gerekli olduğu her yerde ve zamanda yararlıdır.

Mesaj aracıları genellikle aşağıdaki şekillerde kullanılır:

  • Finansal işlemler ve ödeme işlemleri: Ödemelerin yalnızca bir kez gönderildiğinden emin olmak kritik önem taşır. Bu işlemlerin verilerini işlemek için bir mesaj aracısının kullanılması, ödeme bilgilerinin kaybedilmeyeceği veya kazara kopyalanıp çoğaltılamayacağına dair güvence sağlar, alım kanıtı sunar ve sistemlerin, ara ağlar devre dışı olsa bile güvenilir bir şekilde iletişim kurmalarına olanak tanır.
  • E-ticaret sipariş işleme ve tamamlama: İşiniz çevrimiçi ortamdaysa, markanızın itibar gücü, web sitenizin ve e-ticaret platformunuzun güvenilirliğine bağlıdır. Mesaj aracılarının hata toleransını geliştirme yeteneği ve mesajların sadece bir kez tüketilmesini garantiye alması, onları çevrimiçi siparişleri işlerken kullanmak üzere doğal bir seçim haline getirir.
  • Son derece hassas verilerin bekleme ve taşınma sırasında korunması: Sektörünüz yüksek düzeyde düzenlemelere tabi bir sektörse ya da işiniz önemli güvenlik riskleriyle karşı karşıya kalıyorsa, uçtan uca şifreleme yetenekleri içeren bir mesajlaşma çözümü seçin.

Mesaj aracıları ve IBM Cloud

Mesaj aracıları, kuruluşlar bulut yolculuğunda uygulamaları modernleştirdikçe daha da önem kazanıyor. Dünyanın en başarılı şirketleri - Fortune 100 listesinin %85'i dahil olmak üzere - günümüzün çevik geliştirme ortamlarını, mikro hizmetleri temel alan ve hibrit bulut altyapılarını ve geniş bir dizi sistem tipi ve bağlanırlık gereksinimlerini desteklemek üzere oluşturulan IBM'in mesaj aracısı yeteneklerine güveniyor.

Bir sonraki adımı atın: Lider kurumsal mesajlaşma çözümü IBM MQ'nun temel yetenekleri üzerine inşa edilmiş IBM Cloud Pak for Integration hakkında daha fazla bilgi edinin.

Bir IBM Cloud hesabıyla hemen başlangıç yapın.