Durum durumu
zFloos, Suudi Arabistan genelinde binlerce işletme tarafından kullanılan bir bulut ERP ve satış noktası platformudur — restoranlar, perakendeciler, hizmet işletmeleri — her biri kendi verileri, ürünleri, işlemleri ve raporlarıyla aynı temel altyapıyı paylaşıyor. Bu ölçekte çok kiracılık belirli bir performans sorunu yaratır: her sorgunun bir kiracı kapsam filtresi gerekir ve kötü indekslenmiş kiracı kapsamlı sorgular, kiracı sayısı büyüdükçe katlanarak yavaşlar. Projeye katıldığımızda, P95 API yanıt süreleri gösterge tablosu sorguları için 2 saniyeyi aşmıştı. En çok erişilen endpoint'lerde kapsamlı bir sorgu denetimi yürüttük. İndeksleme çalışması tek başına 30 gün içinde ölçülen %30 API performans iyileştirmesi sağladı. Ayrıca, POS senkronizasyon mimarisi terminal tarafında gecikmeler yaratıyordu. POS senkronizasyonunu async kuyruğa taşıdık: terminal yerel olarak onaylar, bulut senkronizasyonu arka planda gerçekleşir.
Ne değiştirmeliydi
API yanıt süreleri, kiracı sayısı büyüdükçe aydan aya bozuluyordu — indekslenmemiş kiracı kapsamlı sorguların ölçekte yavaşlamasının doğal bir sonucu. POS terminalleri yoğun dönemlerde takılıyordu çünkü işlem bulut senkronizasyonu senkrondu: terminal başarısı bulut onayına bağlıydı.
Ne değiştik
Tüm başlıca endpoint'lerin tam sorgu denetimi. tenant_id + sorguya özgü sütunlarda bileşik indeks stratejisi — %30 ölçülen iyileştirme sağlandı. TTL yenileme döngüsüyle eşleşen gösterge tablosu agregalarında Redis önbellek katmanı. POS senkronizasyonu tamamen async yapıldı.
Müşteri ne kazandı
- 01 %30 API hızlandırma — saf optimizasyon, yeni donanım yok
- 02 POS terminalleri hiçbir zaman bulut onayı beklemiyor
- 03 Rapor türü başına akıllı TTL ile Redis gösterge tablosu önbelleği
- 04 Sorgu düzeyinde doğru kiracı veri izolasyonu