Pulsar
Makine çevirisidir!
Pulsar, bulut tabanlı, dağıtık, açık kaynaklı bir yayın-abone mesajlaşma ve akış platformudur. Yahoo! tarafından geliştirilmiş ve 2016'da Apache Software Foundation (ASF) tarafından desteklenmeye başlanmıştır.
Pulsar, geleneksel bir mesajlaşma sisteminin (RabbitMQ gibi) en iyi özelliklerini, Apache Kafka gibi bir yayın-abone sistemine özgü yeteneklerle birleştirir.
Açık Kaynaklı Pub-Sub Mesajlaşma Sistemi Nedir?
Pub-Sub, yayın-abone anlamına gelir. Pub-Sub'ta mesaj gönderenler veya yayıncılar, mesajları belirli alıcı veya abonelere göndermez. Bunun yerine, mesaj tüketicileri ilgisini çeken konulara veya konulara abone olur. Belirli bir konuyla ilgili bir mesaj yayınlandığında, tüm aboneler hemen alır.
Yayıncılar abonelerin kim olduğunu veya hangi konulara abone olduklarını bilmez, aboneler ise yayıncının bilgisi olmadan ilgili mesajları alır. Bu, bağımsız iletişimi sağlar. Pub-Sub'un asenkron yapısı, gevşek bağlantı ve ölçeklenebilirlik sağlayarak dağıtık uygulamalar, sunucusuz ve mikroservis mimarileri için mükemmel bir seçenek yapar.
Pulsar diğer mesajlaşma sistemleriyle, Apache Kafka dahil, karşılaştırıldığında nasıl bir performans sergiler?
Birçok diğer etkin akış platformunun aksine, Apache Pulsar bulut tabanlıdır, yüksek ölçeklenebilirliğe sahiptir ve çoklu veri merkezi ile aktif-aktif konfigürasyonları destekler.
Pulsar'ın Kafka'ya göre birkaç avantajı vardır:
- Maliyet
- Performans
- Dağıtım Kolaylığı
- Coğrafi Çoğaltma
- Ölçeklenebilirlik
- Mimarisi (Pulsar, katmanlı depolama, bağımsız hesaplama ve depolama, çok kiracılığı içerir)
- Kuyruklama
- MQ tabanlı çözümlerin iletişim semantiği desteği
GigaOm adlı bir pazar araştırma şirketinin analizine göre, Pulsar fiyat ve performans açısından üstün bir performans sergilemektedir. Pulsar'ın avantajlarını vurgulayan rapordan bazı bulgular şunlardır:
- Kafka'ya göre %81 daha düşük maliyet (3 yıl boyunca)
- %35 daha yüksek performans
- Karmaşık senaryolar için %73 tasarruf
- Yüksek veri hacimleri için %81 tasarruf
Apache Pulsar Yapısal Temelleri
Apache Pulsar'ın yapı taşlarına bir göz atalım.
Bulut Tabanlı Mimarisi
Apache Pulsar, broker'ı (hesap makinesi) depolamadan (BookKeeper) ayıran çok katmanlı bir yaklaşım kullanarak bulut altyapılarına uygun bir sistemdir. Broker'lar temelde durumsuzdur ve BookKeeper, Kubernetes gibi konteyner orkestrasyon ortamlarında StatefulSet olarak kolayca yönetilebilir, ki bu da bulut tabanlı orkestrasyon için de facto standarttır.
Aslında, Apache Pulsar Kubernetes üzerinde doğal olarak çalışır ve güncellemeler, geri alımlar ve yatay ölçeklemeyi destekler.
İstemci Kütüphaneleri
Pulsar, çekirdek proje tarafından yönetilen geniş bir istemci kütüphanesi yelpazesi içerir; bunlar arasında Java, Python, C++, Golang, Node.js ve C# bulunmaktadır. Pulsar istemci kütüphanelerini kullanmak istemiyorsanız, Pulsar ayrıca bir WebSockets proxy içerir.
Topluluk tarafından geliştirilen Scala ve Rust gibi birçok başka istemci de bulunmaktadır. Pulsar mesajları gönderip almak için HTTP kullanmak istiyorsanız, Pulsar Beam'ı kullanabilirsiniz.
Çok Kiracılık ve İsim Alanları
Yüksek performanslı, ölçeklenebilir bir mesajlaşma sistemine sahipseniz, bunu organizasyonunuz içinde farklı ekipler ve gruplar arasında paylaşmak isteyeceksiniz. Yüksek performanslı bir sistemi çoğaltmak veya farklı ekiplerin birbirlerini etkilememesi için karmaşık bir paylaşılan altyapı oluşturmak pratik değildir.
Pulsar, başlangıçtan itibaren çok kiracılı bir sistem olarak tasarlanmıştır. Bu nedenle, farklı ekipler mesajlaşma sistemini güvenli bir şekilde paylaşabilir. Her kiracının kendi kimlik doğrulama, yetkilendirme ve politikaları vardır. Ayrıca kiracılar, geliştirme, aşama ve üretim gibi farklı ortamları desteklemeyi kolaylaştıran isim alanlarına ayrılabilir.
Apache Pulsar'ın Özellikleri
Apache Pulsar'ın hızla büyüyen bir özellik seti bulunmaktadır. Bazı temel özelliklerini inceleyelim.
Yerleşik Şema Kaydı
Herhangi bir mesajlaşma sisteminin büyük zorluklarından biri, üreticilerin ve tüketicilerin aynı dilde iletişim kurmasını sağlamaktır. Üreticiler ve tüketiciler ayrıldığı için gönderdikleri veya bekledikleri mesajların formatını değişt
irmek kolaydır.
Çözüm, üreticilerin ve tüketicilerin uyumlu bir şemayla mesajları kullanmalarını gerektiren bir şema kaydıdır. Pulsar, yerleşik bir şema kaydına sahiptir. Şemayı bir Pulsar konusuyla kaydettikten sonra, o şemanın kurallarını zorlar.