GraphQL Subscription Nedir?

İngilizce: GraphQL Subscription

GraphQL Subscription, sunucudaki olayları bağlantı açıkken istemciye gerçek zamanlı ileten GraphQL işlem türüdür.

GraphQL Subscription Nedir?

GraphQL Subscription, istemcinin sunucudaki belirli olaylara abone olup veri değiştiğinde otomatik güncelleme almasını sağlayan GraphQL işlemidir. Query tek seferlik okuma, mutation değişiklik isteği iken subscription açık bağlantı üzerinden olay akışı taşır.

Bir destek panelinde yeni mesaj geldiğinde, sipariş durumu değiştiğinde veya canlı skor güncellendiğinde ekranı tekrar tekrar sorgulamak yerine subscription ile güncel veri gönderilebilir.

Nasıl Çalışır?

Subscription genellikle WebSocket üzerinde çalışır. İstemci bağlantı kurar, kimliğini doğrular ve belirli bir GraphQL subscription sorgusu gönderir. Sunucu, ilgili olay yayınlandığında resolver üzerinden veriyi üretip bağlı istemcilere iletir.

Uygulamada bağlantı kopmaları, tekrar bağlanma, yetki değişimi ve ölçekleme dikkat ister. Birden fazla sunucu çalışıyorsa olayların Redis, message broker veya pub/sub sistemiyle paylaşılması gerekebilir.

İş Dünyasında Kullanımı

GraphQL Subscription, gerçek zamanlı panel, sohbet, bildirim, lojistik takip, ortak çalışma ekranı ve canlı operasyon merkezlerinde kullanılır. Aynı GraphQL şemasını kullandığı için istemci tek tip sözleşmeyle hem normal veri okur hem olay dinler.

Her ekranda gerekli değildir. Seyrek değişen veriler için periyodik yenileme veya cache daha sade olabilir. GraphQL altyapısında subscription ekleniyorsa bağlantı sayısı, mesaj hacmi ve yetkilendirme modeli baştan ölçülmelidir.