Genel Teknoloji ve İnovasyon

Google Pub/Sub Nedir, Avantajları Nelerdir?

15-GooglePubSubNedir

Akış analizi ve veri entegrasyonunda son nokta: Google Pub/Sub

Bir mimari tasarım yaklaşımı olan Pub/Sub (abone/yayıncı) deseni, farklı hizmetlerin en çok 100 milisaniyelik gecikmelerle eşzamansız olarak iletişim kurmasına olanak tanıyor. Bu model, farklı teknoloji sağlayıcılar tarafından sunuluyor. Google Cloud Pub/Sub, veri akışı analizi ve veri entegrasyonu gibi kullanım alanları için geliştirdiği Pub/Sub çözümünü, Cloud ailesi içinde konumlandırıyor. Global IT olarak bu yazımızda Google Cloud Pub/Sub’a odaklanıyoruz. 

İnternetin temelde yayıncılar ve aboneler arasındaki iletişimden ibaret olduğunu, monolitik uygulamaların yerini mikroservis mimarisiyle geliştirilmsosyiş uygulamalara bırakmasıyla bu iletişimi sağlayacak yeni modellere ihtiyaç duyulduğunu, Pub/Sub Pattern kavramının ayrıntılarına değindiğimiz şu yazıda anlatmıştık.

Mesajlaşma çerçeveleri, modern uygulamaların sahip olduğu büyük veri yığınlarının ayrılmaz bir parçası olarak öne çıkıyor. Veri yığınları içinde güvenliği ve verimliliği sağlayan bu iletişim çerçeveleri, uygulama kapsamındaki tüm hizmetler arasında iletişimin birincil ortamı görevini de üstleniyor. Noktadan noktaya mesajlaşma için kullanılan mesajlaşma kuyrukları (messaging queue) modeli, geleneksel sistemlerin ihtiyaçlarına yanıt verse de bugünün uygulamaları büyük ölçekli akışlara ihtiyaç duyuyor. Bu büyük ölçekli akışlar, Google gibi bulutta Pub/Sub deseni çözümleri sunan sağlayıcılar sayesinde hayat buluyor.

Google Cloud’un Türkiye’deki ilk bulut çözüm ortağı Global IT olarak bu yazımızda Google Cloud Pub/Sub çözümüne odaklanıyoruz. Google Cloud Pub/Sub’ın tanımına ve avantajlarına değineceğimiz yazımızda, kullanım senaryolarından da söz ediyoruz. 

Google Pub/Sub nedir? 

Google Pub/Sub, olayları (events) akış için Google BigQuery çözümüne, veri havuzlarına veya operasyonel veritabanlarına alma olanağı sunan bir çözümdür. Verileri almak ve dağıtmak için akış analizi ve veri entegrasyonu için kullanılan Pub/Sub, hizmet entegrasyonu için mesajlaşmaya yönelik bir ara katmak yazılımı veya bir kuyruk gibi etkili bir çözüm sunuyor. Pub/Sub, yayıncılar ve aboneler olarak adlandırılan etkinlik üreticileri ve tüketicilerden oluşan sistemler oluşturmaya yarıyor. Yayıncılar, Google Pub/Sub aracılığıyla, eşzamanlı uzaktan yordam çağrıları (synchronous remote prosedure calls | RPCs) yerine olayları yayınlayarak, aboneleriyle eşzamansız iletişim kurabiliyor. 

Bir önceki yazımızda sosyal medya örneğini vermiş, Twitter gibi bir platformda mesajınızı arkadaşlarınıza ulaştırmak için her birinin o an ne yaptığını, mesajınızı görüp görmeyeceklerini bilmeniz gerekmediğini belirtmiştik. Yayıncılar, abonelerine gönderdikleri olayların nasıl veya ne zaman işleneceğine bakılmaksızın Pub/Sub hizmetini kullanıyor. Pub/Sub, daha sonra olayları kendilerine tepki veren tüm hizmetlere iletiyor. RPC’ler aracılığıyla iletişim kuran istemlerde yayıncıların abonelerin veri almasını beklemesi gerekirken, Pub/Sub’ın sunduğu eşzamansız entegrasyon, genel sistemin esnekliğini ve sağlamlığını artırıyor.

Google Cloud Pub/Sub nasıl çalışıyor? 

Google’ın işletmelerin Pub/Sub modelini iş süreçlerine uygulamalarına olanak tanıyan çözümü Google Pub/Sub, temelde aşağıdaki adımları izliyor:

● Bir yayıncı uygulaması, mesajlar oluşturur ve bu mesajları esas kaynak sayılan konuya (topic) gönderir. Mesajlar, tüm aboneler tarafından fark edilene dek konu üzerinde depolanır. 

● Bu mesajları almak isteyen abone uygulaması, söz konusu konuya bir abonelik başlatır. 

● Aboneler, yayıncı uygulaması tarafından oluşturulan ve konuya gönderilen mesajı Pub/Sub üzerinden alır (push) veya talep ederek (pull) bu mesaja erişir. 

● Mesajlar alıcıya ulaştığında, ilgili mesaj abone günlüğünden silinerek tekrar gönderilmesinin önüne geçilir. 

Bu yönüyle Google’ın Pub/Sub çözümü, veri ölçeklenebilirliği ve özelleştirme açısından avantajlar sağlıyor. Google’ın asenkronize gerçek zamanlı bir mesajlaşma hizmeti olan Pub/Sub, büyük veri akışı uygulamaları için ideal bir çözüm sunuyor. Bulut platformların avantajı, Google Pub/Sub aracılığıyla mesajlaşma ihtiyaçlarına da yanıt veriyor. 

Google Pub/Sub özellikleri ve avantajları

Google Pub/Sub, bir bulut çözümü olarak, Google’ın buluttaki diğer tüm çözümleriyle eşlenebiliyor. Google’ın veri analitiği kategorisinde değerlendirdiği Pub/Sub çözümü, BigQuery ve Dataflow gibi diğer çözümlerle de bir arada çalışabiliyor ve veri alışverişlerinden elde edilen bulguları güçlü içgörülere dönüştürmek açısından önem taşıyor. Google Pub/Sub’ın temel özellikleri ve avantajları, aşağıdaki gibi sıralanabiliyor:

● Akış analizi: Yerel veri akışı entegrasyonu, Java, Python ve SQL’de olay akışlarının güvenilir, anlamlı, tam olarak bir kez işlenmesini ve entegrasyonunu sağlıyor. 

● Her ölçekte sipariş teslimi: İsteğe bağlı anahtar başına sıralama, yatay ölçekten ödün vermeden durum bilgisi olan uygulama mantığını basitleştiriyor. 

● Maliyet avantajlı bir seçenek: Google Pub/Sub çözümü, daha az kapsamlı bir versiyonu olan Pub/Sub Lite ile daha da maliyet avantajlı hale geliyor. 

● Yüksek erişilebilirlik: Senkronize, bölgeler arası mesaj çoğaltma ve mesaj başına alındı takibi, her ölçekte güvenilir teslimat ve kesintisiz erişim sağlıyor. 

● Gerçek zamanlı veri sistemleri için kolay ve açık bir temel: Herhangi bir hacimde küçük kayıtları almanın hızlı ve güvenilir bir yolunu sunan Pub/Sub, BigQuery’nin veri havuzları ve operasyonel veri tabanlarını besleyen gerçek zamanlı ve toplu işlem hatları için bir giriş noktası işlevi görüyor. Ayrıca Pub/Sub ile edinilen bilgiler, Dataflow’da da kullanılabiliyor. 

● Otomatiklik: Google Pub/Sub kullanan ekiplerin altyapı boyutunu planlamalarına, ölçeklendirme stratejisini belirlemelerine gerek kalmıyor. Otomatik ölçeklendirme ve otomatik sağlama (provisioning), planlama ihtiyacını ortadan kaldırıyor ve iş yüklerinin ilk günden itibaren üretime hazır olmasını sağlıyor.

Google Pub/Sub’ın yaygın kullanım alanları

Google’ın Pub/Sub’a ilişkin dokümantasyonu paylaştığı ürün sayfasında, Google Pub/Sub’ın yaygın kullanım alanları aşağıdaki maddelerle özetleniyor:

Kullanıcı etkileşimini ve sunucu olaylarını alma: Son kullanıcı uygulamalarından, kullanıcı etkileşimi olaylarını veya sunucu olaylarını almak isteyenler, bu bilgileri Pub/Sub’a yönlendirebiliyor. Bunu yaptıktan sonra olayları veri tabanlarına iletmek isteyenler, Dataflow gibi bir akış işleme aracını kullanabiliyor. 

Gerçek zamanlı olay dağıtımı: İşlenmiş veya işlenmemiş tüm olaylar, gerçek zamanlı işleme için ekip ve kuruluş genelinde birden fazla uygulamaya sunulabiliyor. 

Veri tabanları arasında veri kopyalama: Pub/Sub, genellikle değişiklik olaylarını veri tabanları üzerinden dağıtmak için de kullanılıyor. Bu olaylar, BigQuery ve diğer veri depolama sistemlerinde veritabanının durumu gibi görünümleri oluşturmak için kullanılabiliyor. 

Paralel işleme ve iş akışları: Pub/Sub mesajları, birçok görevi birden çok çalışan arasında verimli bir şekilde dağıtmak için de kullanılabiliyor. Cloud Functions’a bağlanan ekipler, metin dosyalarını sıkıştırmak, e-posta bildirimleri göndermek, görüntüleri yeniden biçimlendirmek gibi görevleri farklı çalışanlara aktarabiliyor. 

Kurumsal olay istasyonu: İşletmeler, Pub/Sub’ı bir kurumsal etkinlik istasyonu olarak da konumlandırabiliyor. Bu sayede, veri tabanı güncellemelerini ve analitik olayları dağıtan, kurumsal çapta gerçek zamanlı bir veri yolu oluşturabiliyor. 

Uygulamalardan, hizmetlerden veya nesnelerin interneti cihazlarından veri akışı: Uygulamalar, hizmetler veya IoT cihazları, topladıkları verileri Pub/Sub aracılığıyla gerçek zamanlı olarak diğer Google Cloud ürünlerine aktarabiliyor.

Google Pub/Sub hizmetinin çeşitleri nelerdir?

Google Pub/Sub, Pub/Sub ve Pub/Sub Lite olmak üzere iki hizmet sunuyor. Pub/Sub hizmeti, çoğu kullanıcı veya uygulama için varsayılan bir seçim olarak öne çıkıyor. Otomatik kapasite yönetimiyle birlikte en yüksek güvenilirliği ve en geniş entegrasyon setini sunan bu çözüm, tüm verilerin en az iki bölgeye eşzamanlı olarak çoğaltılmasını ve üçüncü bir ek bölgeye de ulaştırılmasını garanti ediyor. 

Pub/Sub Lite ise daha düşük maliyet için oluşturulmuş ayrı ama benzer bir mesajlaşma hizmeti olarak biliniyor. Pub/Sub’a kıyasla daha düşük güvenilirlik sunan Pub/Sub Lite, Zonal Lite ile verileri yalnızca bir alanda depolarken, Regional Lite ile verileri eşzamansız olarak ikinci bir bölgeye de çoğaltıyor. Pub/Sub Lite, genel olarak yalnızca düşük maliyet hedefleyen ve bazı ek operasyonel çalışmaları göze alan uygulamalar için tercih ediliyor. İki hizmet arasındaki farklılıklar, şu yazıda ayrıntılı bir biçimde özetleniyor.

Google Pub/Sub’a dair ayrıntılar için Global IT’ye ulaşın

Analiz için büyük hacimli veriler mi kullanıyorsunuz? Veya olay tabanlı geliştirme süreçlerini kolaylaştırmak mı istiyorsunuz? Global IT olarak, 16 yılı aşkın Google Cloud deneyimimizle, Pub/Sub’ın tüm olanaklarından yararlanabilmeniz için ihtiyacınız olan her şeyi sunmaya hazırız. 

2006’dan bu yana hayata geçirdiğimiz 3.300’ü aşkın proje ve buluta taşıdığımız 700’den fazla kurumsal referansımızla internet mesajlaşmasının ölçeklenebilir, esnek ve yeni bir yolunu sunan Pub/Sub çözümlerine erişmenizi de kolaylaştırıyoruz. Veri analitiği alanında işlerini kolaylaştıracak ve rekabette bir adım öne geçmenizi sağlayacak Google Cloud Pub/Sub hizmetine ilişkin daha fazla şey öğrenmek isterseniz, aşağıdaki formu doldurarak bizimle iletişime geçebilirsiniz.