PlatformWebMobil
Gerçek Zamanlı Frontend Telemetri Platformu
Çok adımlı kullanıcı akışlarına gerçek zamanlı görünürlük kazandıran, tip tanımlı bir frontend SDK’sı ve olay hattı; olay tespit süresi günlerden dakikalara indi.
- Teknolojiler
- TypeScript · BFF · Event streaming · Columnar storage · Dashboards
Sorun
Bazı kullanıcılar uzun, çok adımlı bir akışı sessizce yarıda bırakıyordu. Üçüncü taraf bir entegrasyon bozulduğunda kimse görmüyordu: teşhis, dağınık sunucu günlüklerini elle okumak anlamına geliyordu ve günler sürüyordu. Bu günlerin her biri, işlemi tamamlayamayan gerçek kullanıcılar demek.
Yaklaşım
- Küçük, tip tanımlı bir SDK. Tek bir TypeScript izleyicisi her ekranda ve platformda aynı kullanıcı eylemi verisini topluyordu; böylece bir olay her yerde aynı anlama geliyordu.
- Emniyet valfli hız sınırlama. SDK olayları toplu hâlde biriktirir ve kısa bir zamanlayıcı ya da boyut sınırından hangisi önce gelirse onunla gönderir. Tıklama başına bir istek tarayıcının ağ iş parçacıklarını tüketir; olayları daha uzun tutmak sekme kapanırken kaybetme riski taşır, bu yüzden sayfadan çıkarken
navigator.sendBeaconkullanılır. - Doğrulama yapan bir BFF. Toplu olaylar, şemayı TypeScript tanımlarına göre kontrol eden, zaman damgalarının makul olup olmadığına bakan, beklenmeyen alanları ve kişisel verileri ayıklayan ve oturum meta verisi ekleyen bir Backend for Frontend’e ulaşır. Arka ucun kararını arayüzün gösterdiğiyle karşılaştırmak, ikisi arasındaki durum uyuşmazlıklarını ortaya çıkardı.
- Sütun tabanlı depolamaya akan bir akış hattı. Akış, trafik sıçramalarını karşılar; sütun tabanlı depolama ise satır tabanlı depoların yavaşladığı çok büyük ve yüksek kardinaliteli olay kümeleri üzerindeki toplamaları milisaniyeler içinde yanıtlar.
- Sessiz hata yönetimi. Hat çalışmıyorsa SDK yerelde küçük bir tampon tutar ve pasif bir devre kesici göndermeyi duraklatır. Sağlığı kontrol etmek için sunucuya ping atmaz; bir sonraki başarılı yanıtı bekler.
Sonuç
Bir olayı tespit etme süresi günlerden 5 dakikanın altına indi. Bozuk bir adım çok sayıda başarısız deneme demek olduğunda, bu, bir post-mortem notu ile aynı sabah yapılan bir düzeltme arasındaki farktır.