İçeriğe geç
Gunerdev.
Vaka Çalışması · Backend & API

Kurumsal müşteriler için ölçeklenebilir raporlama altyapısı

Ortalama rapor üretim süresi 90 saniyeden 4 saniyeye indi. Zaman aşımı hataları sıfırlandı ve kurumsal müşteri kullanım oranı iki kat arttı.

Backend & API2023B2B SaaS Startup

Problem

Mevcut raporlama servisi, kurumsal müşteri verisi büyüdükçe yavaşlıyor; bazı raporlar 90 saniyenin üzerinde sürüyor ve sık sık zaman aşımı hatalarına yol açıyordu.

Yaklaşım

Müşterinin SaaS ürünü, kurumsal müşterilere haftalık ve aylık operasyon raporu üretiyordu. Veri büyüdükçe (en büyük müşteride 50 milyon satır) raporlar zaman aşımına uğramaya başladı; en kötü senaryoda %18'i hiç teslim edilemiyordu.

Çözüm üç katmanlıydı: (1) BullMQ ile queue tabanlı asenkron raporlama, (2) sık kullanılan metrikler için PostgreSQL materialized view, (3) raporlar üretildikçe S3'te cache'lenip CDN üzerinden teslim.

En önemli mimari karar: senkron HTTP yerine "rapor talep et → email/notification ile teslim" akışına geçmek oldu. Bu değişiklik, kullanıcı deneyimini bozmadı; aksine kurumsal müşterilerin "büyük rapor üretirken sayfayı kapatamıyorum" şikayetini ortadan kaldırdı.

Karşılaştığımız zorluklar

  • Mevcut senkron API'leri kıracak şekilde değil, geriye dönük uyumlu refactor
  • Materialized view'ları gerçek zamanlı tutmak (incremental refresh)
  • Aynı raporun birden fazla kez talep edilmesinde dedüplikasyon
  • Queue worker'ların failover ve retry mantığı

Öne çıkan teslimler

  • Rapor üretim P95: 90s → 4s
  • Eş zamanlı 200+ rapor talebini sorunsuz işleyebilme
  • S3 + CDN ile rapor teslim maliyetinde %70 düşüş
  • Yeni rapor tipi ekleme süresi: 2 günden 4 saate

Sonuç

Ortalama rapor üretim süresi 90 saniyeden 4 saniyeye indi. Zaman aşımı hataları sıfırlandı ve kurumsal müşteri kullanım oranı iki kat arttı.

-95%
Rapor süresi
0%
Hata oranı
2x
Kullanım

Sıradaki vaka çalışması sizinki olabilir.

Mevcut sisteminizi büyütelim, yeni bir ürün inşa edelim ya da sadece teknik bir görüş paylaşalım.

WhatsApp+90 536 215 16 44