(Distributed Application Runtime)
Dapr, mikroservis tabanlı uygulamaların geliştirilmesini ve çalıştırılmasını kolaylaştıran, open-source bir sidecar ürünüdür.
Sidecar Pattern, yardımcı bir bileşenin (sidecar) ana uygulamaya eklenmesiyle (container veya process), uygulamanın iş mantığına müdahale etmeden ortak görevlerin yürütülmesini sağlar. Güvenlik, logging ve dinamik yapılandırma gibi cross cutting concerns’leri yönetmek için idealdir.
Cross cutting concerns, yazılım sisteminde birçok modül veya katmanda ortak olan ve tekrarlanan fonksiyonel özelliklerdir. Güvenlik, logging, hata yönetimi, performans izleme gibi konular bu kapsamda değerlendirilir. Bunlar, sistemin bakımını ve genişletilebilirliğini artırır.
Service Invocation* #
State Management* #
Secrets Management* #
Configuration* #
Pub/Sub Messaging #
Bindings #
Distributed lock #
Cryptography #
Actors #
Workflow #
Hata toleransı sağlamak için zaman aşımı, yeniden deneme, devre kesici ve geri çekilme gibi politikalar tanımlamayı ve uygulamayı destekler. Open Telemetry ve Zipkin gibi protokollerle izleme verilerini toplar ve birçok gözlemlenebilirlik aracıyla entegrasyon sağlar. Varsayılan olarak etkin güvenlik özellikleri sunar, API’lar, servisler ve bileşenler için uygulamaya özel politikalar ayarlama imkanı sağlar. İletişim mTLS ile otomatik olarak şifrelenir.Dapr’ın Diğer Özellikleri #
Resiliency* #
Dapr’ın Diğer Özellikleri #
Observability #
Dapr’ın Diğer Özellikleri #
Security #
Mikroservisler arası iletişim sağlar.
HTTP veya gRPC ile çalışır.
Servis keşfi ve yük dengeleme özellikleri içerir.
Servislerdeki iletişimde araya girdiği için security, resiliency, observability gibi yapıları da bu istekler çalıştığı anda uygulayabilir.
Uygulamalarda durum (state) kalıcılığı sağlar. Key/value tabanlı durum depolamada görev alır. Farklı ürünler ile entegre edilebilir (Redis, MongoDB, SQLs*, In-Memory, etcd, vb…).State Management #
State Management #
Güvenlik açısından hassas bilgilerin korunmasını sağlar. Şifreler, API anahtarları, güvenlik sertifikaları gibi gizli bilgilerin yönetimini içerir. Erişim kontrolü ve şifreleme kullanılarak güvenli bir şekilde saklanır ve erişilir. Farklı ürünler ile entegre edilebilir (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault, vb.).Secrets Management #
Secrets Management #
Uygulamanın çalışma şeklini belirleyen ayarların yönetimini sağlar.
Uygulama ayarları, çevresel değişkenler ve yapılandırma dosyalarını içerir.
Uygulama yeniden başlatılmadan veya kod değiştirilmeden kolayca güncellenebilir.
Farklı ürünler ile entegre edilebilir (Redis, Consul, Kubernetes ConfigMaps, Azure App Configuration vb.).
Örnekler Reposu: aimtune/dapr-examples