Canlı akışlar ve webhook
Polling, SSE ve WebSocket
Gerçek zamanlı akışa uygun bağlantı modelini seç.
Kavramı anlayalım
Polling belirli aralıkla yeni istek gönderir; basittir ama boş yanıt ve gecikme maliyeti olabilir. Long polling server’ın bir süre bekleyip olay geldiğinde dönmesidir; timeout ve yeniden bağlanma yönetilir. SSE text/event-stream ile server’dan client’a olay akışı sunar.
WebSocket iki yönlü mesajlaşma sağlar; bu her problem için zorunlu en iyi çözüm değildir. Upgrade/handshake sonrası mesaj çerçeveleri normal HTTP request-response akışından farklıdır. Proxy idle timeout, heartbeat, reconnect ve backpressure planlanır.
SSE’de event ID ve yeniden bağlantı, client’ın son olayı nerede bıraktığını ifade edebilir; server’ın replay storage sözleşmesi gerekir. EventSource’un credential/header yetenekleri Fetch’le aynı değildir. Her uzun bağlantıda kimlik, yetki ve limit gereklidir. Bağlantı kopunca client sonsuz hızlı reconnect döngüsüne girmemeli.
Bildirim, iş ilerlemesi ve canlı durum ekranları için.
WebSocket seçince reconnect ve mesaj sırası otomatik çözülür sanmak.
Aynı konu. Üç farklı derinlik.
Polling: GET /jobs/123 every bounded intervalAralık ve limit açık seçilir.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Yalnız server’dan job ilerlemesi göndermek için WebSocket şart mı?
Çözümü ve açıklamasını göster
One-way events → consider SSEHayır; SSE uygun olabilir, altyapı ihtiyaçlarını ölç.