Devkit.Common.Messaging
1.0.2
dotnet add package Devkit.Common.Messaging --version 1.0.2
NuGet\Install-Package Devkit.Common.Messaging -Version 1.0.2
<PackageReference Include="Devkit.Common.Messaging" Version="1.0.2" />
<PackageVersion Include="Devkit.Common.Messaging" Version="1.0.2" />
<PackageReference Include="Devkit.Common.Messaging" />
paket add Devkit.Common.Messaging --version 1.0.2
#r "nuget: Devkit.Common.Messaging, 1.0.2"
#:package Devkit.Common.Messaging@1.0.2
#addin nuget:?package=Devkit.Common.Messaging&version=1.0.2
#tool nuget:?package=Devkit.Common.Messaging&version=1.0.2
🚀 Devkit.Common: .NET Altyapısını Sadeleştirme Gücü
.NET projelerinde tekrarlayan altyapı ihtiyaçlarını kolayca yönetmek için geliştirilmiş kapsamlı bir kütüphane.
Devkit.Common, .NET geliştiricilerinin sürekli karşılaştığı tekrarlayan altyapı zorluklarını çözmek için tasarlanmıştır. Amacımız, projelerinizde tutarlılığı ve bakım kolaylığını en üst düzeye çıkarmak için kanıtlanmış ortak çözümleri tekrar kullanılabilir bileşenlere dönüştürmektir.
✨ Daha az boilerplate, daha fazla iş mantığı. Projelerinizi daha hızlı, daha güvenilir ve daha yönetilebilir hale getirin.
⚙️ Mevcut Özellikler (Hemen Kullanıma Hazır!)
Bu kütüphane, dağıtık sistemler ve performans odaklı uygulamalar için kritik öneme sahip temel özellikleri içerir:
| Kategori | Özellik | Açıklama |
|---|---|---|
| Mesajlaşma | Outbox & Inbox Pattern | Veritabanı işlemleri ve mesaj gönderme/alma arasında tutarlılığı garanti eden sağlam destek. |
| Mesaj Broker | RabbitMQ Entegrasyonu | Endüstri standardı mesaj broker'ı ile hızlı ve kolay entegrasyon. |
| Broker Mimarisi | Çoklu Broker Desteği | İhtiyaç halinde Kafka gibi farklı mesaj broker'larına geçiş yapabilmeniz için esnek altyapı. |
| Önbellekleme | InMemory / Redis / Hybrid Cache | Uygulamanızın performansını artırmak için esnek önbellek çözümleri. |
| Job | Hangfire / Quartz | Uygulamanız için tekrarlayan iş yöneticisi. |
| Identity | Keycloak / AspnetIdentity | Kullanıcı ve rol yönetimi. |
🔜 Yol Haritası (Gelecek Özellikler)
Geliştirme sürecindeki heyecan verici eklemelerle kütüphanemizi güçlendirmeye devam ediyoruz:
- 📊 Logging & Telemetri Bileşenleri: Merkezi izleme ve analiz için kapsamlı bileşenler.
- 📦 Resmi NuGet Paket Yayını: Kolay kurulum ve yönetim için tüm bileşenlerin NuGet üzerinden erişilebilir hale getirilmesi.
🧩 Hızlı Başlangıç: Dakikalar İçinde Hazır!
Devkit.Common'ı projenize entegre etmek, standart .NET Bağımlılık Enjeksiyonu yapısını kullanarak yalnızca birkaç satır kod gerektirir.
1. Güvenilir Mesajlaşma ve Outbox Entegrasyonu
Uygulamanızın Program.cs dosyasına aşağıdaki kodu ekleyerek güvenilir mesajlaşma altyapısını anında aktif edin:
// Devkit.Common'ı kullanarak güvenilir mesajlaşma servisini ekler.
builder.Services.AddMessaging(
builder.Configuration,
// Consumer'ların hangi Assembly'de olduğunu belirtiriz.
consumerAssembly: typeof(Program).Assembly,
// Consumer'ların bu serviste çalıştırılmasını sağlar.
useConsumers: true
);
// Devkit.Common'ı kullanarak güvenilir mesajlaşma (Outbox) servisini ekler.
builder.Services.AddMessagingWithOutbox<AppDbContext>(
builder.Configuration,
// Consumer'ların hangi Assembly'de olduğunu belirtiriz.
consumerAssembly: typeof(Program).Assembly,
// Consumer'ların bu serviste çalıştırılmasını sağlar.
useConsumers: true
);
// Cache
builder.Services.AddCacheProvider(builder.Configuration);
//Job
builder.Services.AddJobScheduler(builder.Configuration);
// Keycloak Kullanımı (Merkezi Auth Sunucusu)
// appsettings.json üzerinden "Provider": "Keycloak" ayarlanmalıdır.
builder.Services.AddDevkitIdentity(builder.Configuration, builder.Environment);
// AspNetIdentity Kullanımı (Veritabanı Tabanlı JWT)
// appsettings.json üzerinden "Provider": "AspNetIdentity" ayarlanmalıdır.
// Kendi DbContext'inizi (<AppDbContext>) generic olarak belirtmeniz gerekir.
// AppDbContext(DbContextOptions<AppDbContext> options) : IdentityDbContext<ApplicationUser>(options)
builder.Services.AddIdentity<AppDbContext>(builder.Configuration, builder.Environment);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MassTransit (>= 8.3.0)
- MassTransit.EntityFrameworkCore (>= 8.3.0)
- MassTransit.Kafka (>= 8.3.0)
- MassTransit.RabbitMQ (>= 8.3.0)
- Microsoft.EntityFrameworkCore (>= 9.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
-
net9.0
- MassTransit (>= 8.3.0)
- MassTransit.EntityFrameworkCore (>= 8.3.0)
- MassTransit.Kafka (>= 8.3.0)
- MassTransit.RabbitMQ (>= 8.3.0)
- Microsoft.EntityFrameworkCore (>= 9.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Devkit.Common.Messaging:
| Package | Downloads |
|---|---|
|
Devkit.Common
Devkit için temel çekirdek kütüphane. |
GitHub repositories
This package is not used by any popular GitHub repositories.