Gitflow'dan Trunk-Based'e geçerken feature flag mimarisini nasıl konumlandırırım?
Uzun ömürlü dalları kaldırıp değişiklikleri küçük parçalar hâlinde main'e alın, bitmemiş işi kapalı bir flag arkasında tutun ve biten flag'i temizleyin.
Etiket
Sistem sınırlarını, bağımlılıkları ve geri alınamaz kararları belirleyen tasarım tercihleri.
Bu etikette 13 cevaplanmış soru var.
Uzun ömürlü dalları kaldırıp değişiklikleri küçük parçalar hâlinde main'e alın, bitmemiş işi kapalı bir flag arkasında tutun ve biten flag'i temizleyin.
Raporlamayı bir read-replica'ya taşıyın, tam CQRS'e ancak sorgu şekilleri tek şemaya sığmadığında geçin ve okuma modelini outbox event'leriyle besleyin.
İlişkisel çekirdeği (ürün, fiyat, sipariş) PostgreSQL'de tutup değişken nitelikleri GIN index'li tek bir `JSONB` kolonuna koyun; raporlama bölmeye karşı.
Kritik akışı (gez, sepet, ödeme) lüks bileşenlerden ayırın, lüksleri kısa timeout'lu feature flag arkasına koyun, kill-switch'i kriz gelmeden prova edin.
Breaker tek başına yetmez: `connect_timeout` ve `timeout`'u 800ms-2s'ye çekin, bağımlılığı bulkhead ile izole edin, cache'li bir fallback tanımlayın.
Sıfırdan başlayan çoğu üründe modüler monolitle başlayıp sınırları kodda zorlayın; bir modülü ancak ayrı ölçeklenmesi gerektiğinde servise terfi ettirin.
10.000 tenant'ta database-per-tenant operasyonel olarak ölçeklenmez; her tabloda tenant_id tutup izolasyonu Postgres Row-Level Security'ye gömün.
HMAC'i ham gövdede constant-time doğrulayın, hızlı 200 dönüp işi kuyruğa alın ve tekilliği event_id üzerindeki UNIQUE constraint'e yaptırın.
Ödemeyi gateway'de 5/20/100 ağırlıkla kaydırıp önce shadow'da doğrulayın; asıl iş tabloları ayırmak, arkasında anti-corruption layer ve outbox durur.
W3C Trace Context'te standartlaşıp propagation'ı OTel SDK'ya bırakın ve traceparent'ı kuyruk mesajının header'ına koyun; zincir orada kopuyor.