Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Bulk, Batch ve Asenkron API'ler: Toplu İşlem, Kısmi Başarı, Webhook mi Polling mi ve Rate Limit Contract'ı
Toplu bir API'nin contract'ı boyut sınırını, hangi hatanın bütün isteği hangisinin tek satırı reddettiğini, kısmi başarının nasıl raporlandığını, sonucun nasıl bildirildiğini ve kotayı açıkça yazar. Bookstore'da okulların toplu siparişini satır bazlı bir raporla 201 olarak, allOrNothing ile 422 olarak, Prefer: respond-async ile LRO olarak tasarlıyor, webhook'u contract'a ekliyor ve RateLimit header taslağıyla 429'u gerçek yanıtlarla görüyoruz.
Elasticsearch'e Veri Taşımak: Bulk API, Refresh, Versiyonlama ve SQL Server ile Senkronizasyon
Elasticsearch'e veriyi tek tek değil Bulk API ile yazarsın; ama bulk atomik değildir, yazılan document refresh'e kadar aranamaz ve SQL Server ile senkronizasyonda dual write sessizce veri kaybettirir. Gerçek çıktılarla IndexAsync ile bulk farkı, BulkAll ve refresh_interval, satır satır bulk hataları, if_seq_no ve external version, rowversion ile polling yapan bir BackgroundService ve MIN_ACTIVE_ROWVERSION ile açık transaction'ları kaçırmamak.