Skip to main content
src/BuildingBlocks/* altında 20 bağımsız altyapı paketi bulunur. Her biri tek bir kesişen sorumluluğu (caching, messaging, identity, observability, util) kapsüller; Application/Infrastructure katmanları bu paketleri AddXxx(...) uzantılarıyla Program.cs’de wire-up eder. Paketler iş kuralı içermez ve Application/Domain projelerine referans vermez — yeni bir projeye olduğu gibi taşınabilir.

Tüm paketler

Gruplama

Öne çıkanlar

Caching

Hibrit L1+L2 cache, tag invalidation, multi-instance broadcast.

Event Bus (MassTransit)

RabbitMQ topic exchange + EF Outbox + retry/DLX.

Keycloak

Çift-realm SSO, claims transformation, çift JwtBearer şeması.

OTP

HMAC-SHA256 stateless doğrulama, rate-limit.
BuildingBlocks.EventBus.EventBusRabbitMQ legacy’dir ve yeni geliştirmede kullanılmaz. Aktif integration event altyapısı BuildingBlocks.EventBus.MassTransit.RabbitMq’tır (EF Outbox + delayed redelivery destekli). Yeni event publish/subscribe için her zaman MassTransit paketini kullanın.

Ortak desenler

Tüm paketler aynı sözleşmelere uyar:
  • Options pattern — her paket IConfigurationIOptions<T> binding’i yapar (services.Configure<TOptions>(...)).
  • AddXxx(...) uzantısı — DI kaydı IServiceCollection döner, fluent chaining’e izin verir.
  • Kayıt sırası önemli — özellikle cache: AddRedisCache (L2) ÖNCE, sonra AddCache, sonra AddHybridCache. Aksi halde L1-only çalışır.

İlgili

Caching mimarisi

L1/L2 stratejisi, invalidation ve multi-instance detayları.

Event akışı

Domain event → integration event → Outbox → RabbitMQ.