GCP Pub/Sub vs Kafka: Mesaj Sistemi Doğru Seçimi
# GCP Pub/Sub vs Kafka: Mesaj Sistemi Doğru Seçimi
Bulut ortamında mesaj sistemi seçerken sıkça iki isim öne çıkar: Google Cloud Pub/Sub ve Apache Kafka. Her ikisi de yüksek hacimli veri akışını yönetir ama mimarı, işletim modeli ve maliyet yapısı tamamen farklıdır.
GCP Pub/Sub Google tarafından yönetilen, sunucusuz (serverless) bir hizmettir. Otomatik ölçekleme, düşük gecikme ve basit kurulum sunar. Konular (topics) ve abonelikler (subscriptions) üzerinden çalışır; alıcı yoksa mesajlar tutulur.
Kafka açık kaynak, kendi sunucularında çalışan dağıtık bir akış platformudur. Yüksek hacim ve düşük gecikme için tasarlanmış, tüm mesajları disk üzerinde tutar ve replay yetenekleri güçlüdür.
Seçim Kriteri:
- Hızlı başlamak, yönetim yükünü azaltmak: Pub/Sub
- Tam kontrol, yüksek throughput, mesaj replay: Kafka
- Maliyet sensibiyetesi: Kafka (başlangıç yatırımı var ama uzun vadede ucuz)
GCP Pub/Sub ile Python:
1from google.cloud import pubsub_v12import json34publisher = pubsub_v1.PublisherClient()5topic_path = publisher.topic_path('proje-id', 'siparis-topic')67mesaj = {'siparis_id': 123, 'urun': 'Laptop', 'fiyat': 5000}8publisher.publish(topic_path, json.dumps(mesaj).encode('utf-8'))9print("Mesaj gönderildi")Kafka ile Python:
1from kafka import KafkaProducer2import json34producer = KafkaProducer(5bootstrap_servers=['localhost:9092'],6value_serializer=lambda v: json.dumps(v).encode('utf-8')7)89mesaj = {'siparis_id': 123, 'urun': 'Laptop', 'fiyat': 5000}10producer.send('siparis-topic', mesaj)11producer.flush()12print("Mesaj gönderildi")Her iki örnekte de mesaj gönderimi benzer görünür, ama arka planda Pub/Sub hemen buluta iletir; Kafka ise kendi broker'ına kaydeder.
E-ticaret uygulamanız günde 100 bin siparişi işliyor. Pub/Sub başlangıç için yeterli ama trafik 1 milyona çıkarsa maliyetler katlanır. Kafka kendi sunucularında çalışırsa ölçeklenme daha ekonomik olur. Ancak Kafka kurulumu, monitoring ve bakımı zaman alır.
Hızlı MVP'de Pub/Sub tercih et. Uzun vadeli, yüksek hacimli sistem için Kafka değerlendir.
0 yorum