Proje Geliştirirken Aldığım Mimari Kararlar Benzer mimari kararlarla karşılaşanların fikirlerini çok merak ediyorum
FluentValidation'ı MediatR pipeline behavior olarak kullanıyorum (her command otomatik validate ediliyor). Ama bazıları "validation domain'de olmalı" diyor. Siz hangi taraftasınız?
Küçük modüllerde Infrastructure + Persistence'ı birleştirmek mantıklı mı? Yoksa tutarlılık adına ayrı tutmak mı lazım?
Her-tenant ayrı veritabanı kullanıyor Ama tenant sayısı artınca connection pool yönetimi endişem var. Shared DB + Row-Level Security mi daha mantıklı olurdu?
AutoMapper vs manual mapping — performans kritik senaryolarda hangisini tercih ediyorsunuz?
CQRS handler'larım (400+ tane) hep aynı pattern'ı takip ediyor: validate → map → repository call → map → return. Bu boilerplate kabul edilebilir mi yoksa generic handler'lar mı yazmalıyım?
Özellikle merak ettiğim: Kaç tenant'a kadar per-tenant DB yaklaşımı sürdürülebilir?
Gerçekçi bir proje geliştiyorum arkadaşların bu trade-off'lardaki deneyimlerini çok merak ediyorum
barlas Aslında bende tenant provisioning tamamen otomatik — ilk API isteğinde middleware DB'yi oluşturup migration çalıştırıyor, Redis distributed lock ile race condition önleniyor. Manuel bir süreç yok.Ama haklısın, asıl endişe connection pool. PostgreSQL default max_connections 100, 30-40 tenant bile sınıra yaklaştırır. PgBouncer gibi bir pooler şart olacak bir noktada.Shared DB + RLS mantıklı ama bir otelin verisinin başkasına sızma riski (tek bir policy hatası bile) KVKK kapsamında beni korkutuyor. O yüzden tam izolasyonu tercih ettim.Belki hibrit yaklaşım en doğrusu olabilir — premium müşterilere dedicated DB, küçüklere shared DB + RLS? Bu tarz yapan var mı?