2, Mar 2025
MicroServisler Arası iletişim.

Microservis mimarisi, modern yazılım geliştirmede sıkça tercih edilen bir yaklaşım olsa da, servislerin birbiriyle iletişimi sırasında bazı zorluklar ve sıkıntılar ortaya çıkabilir. Bu zorlukları bilmek, bunları minimize etmek için doğru mimari tasarımlar yapmanı sağlar. 📌 1. Servislerin Bağımlılığı (Service Dependency) ✅ Çözüm: Detay bilgi => circuit breaker pattern nedir? 📌…

2, Mar 2025
Microservicelerde Event-Driven Mimariler ile Veri Senkronizasyonu Nasıl Sağlanır?

Event-Driven mimariler, mikroservisler arasında gevşek bağlı (loosely coupled) ve asenkron iletişim sağlayan bir yapı olarak modern yazılım geliştirmede çok önemli bir rol oynar. Dağıtık mikroservis mimarilerinde veri tutarlılığı sağlamak zor bir iştir çünkü her mikroservis kendi veritabanını yönetir (Database Per Service Pattern). Bunun sonucunda veri senkronizasyonu için Event-Driven Architecture kullanmak…

2, Mar 2025
Saga Pattern Nedir?

Saga Pattern, dağıtık mikroservis mimarilerinde veri tutarlılığı (data consistency) ve işlem bütünlüğü (transaction integrity) sağlamak için kullanılan bir transaction orchestration desenidir. Monolitik yapılarda ACID (Atomicity, Consistency, Isolation, Durability) özellikleri ile veritabanı işlemleri tek bir transaction olarak gerçekleştirilir. Ancak, mikroservis mimarisinde her servis kendi veritabanını yönettiği için dağıtık transaction yönetimi zorlaşır.…

2, Mar 2025
Kubernetes Service Mesh Nedir?

Kubernetes Service Mesh, mikroservis mimarisinde servisler arası iletişimi yöneten bir altyapı katmanıdır. Mikroservislerin birbirleriyle nasıl iletişim kurduğunu, trafiğin nasıl yönlendirildiğini, güvenlik politikalarını ve hata toleransını merkezi olarak yönetir. Service Mesh, genellikle Sidecar Proxy adı verilen bir yapı ile çalışır. Bu proxy, her mikroservisin yanında çalışır ve gelen/giden tüm trafiği yönetir.…

2, Mar 2025
Circuit Breaker Pattern Nedir?

Circuit Breaker, bir servis çağrısında hata oranı belirli bir eşiği (threshold) aştığında, daha fazla hata oluşmasını önlemek amacıyla gelen istekleri otomatik olarak keser (rejec eder) ve bir süre sonra tekrar denemeye başlar. Bu desen, aşağıdaki sorunların önüne geçmek için kullanılır: 🔑 Çalışma Mantığı Circuit Breaker 3 durumda bulunur: Durum Açıklama…

21, Oca 2024
Domain-Driven Design(DDD) Nedir?

Domain-Driven Design değişen iş yapış kurallarının,karmaşık yazılım sistemlerinin geliştirme aşaması ve proje hayata geçtikten sonra sürekliliğini sağlamakta kullanılan , sistemlerin artan karmaşıklığına ve yazılım sisteminin desteklediği iş alanlarını anlayarak ve bunlara odaklanarak bu karmaşıklığı yönetme ihtiyacına bir yanıttır. Photo by Clément Hélardot on Unsplash Eric Evans tarafından ortaya atılmış bir yazılım geliştirme yaklaşımıdır. Kendisi bu…

21, Oca 2024
Fonksiyonel Programlama ve Nesne Yönelimli Programlama

Fonksiyonel programlama, programları oluşturmak ve uygulamak için gerekli olan fonksiyonel faktörleri vurgulayan programlama tekniğidir. Basitçe söylemek gerekirse, Fonksiyonel programlama (FP), saf fonksiyonlar oluşturarak yazılım oluşturma sürecidir. Nesne yönelimli programlama, veri ve kod içerebilen “nesneler” kavramına dayanan bir programlama paradigmasıdır: alanlar biçimindeki veriler ve prosedürler biçimindeki kod. Fonksiyonel Programlama Fonksiyonel programlama,…

Etiketler:
18, Oca 2024
DevOps Nedir?

DevOps Nedir? DevOps, yazılım geliştiriciler ile BT operasyon ve altyapı ekiplerinin arasındaki iletişimi, işbirliğini ve entegrasyonunu vurgulayan ve sistematik bir hale getiren kültürel ve profesyonel bir harekettir

18, Oca 2024
Test Coverage Nedir?

Test coverage, yazılım testlerinin, kodun hangi bölümlerini (örneğin, satırları, sınıfları, fonksiyonları) kapsadığını ölçen bir metriktir. Test coverage, yazılım testlerinin kalitesini değerlendirmek için kullanılır. Test Coverage Türleri Line coverage Branch Coverage Function Coverage Statement Coverage Condition Coverage Requirements Coverage Compatibility Coverage Boundary value Coverage Product Coverage Risk Coverage Line Coverage (Satır…

17, Oca 2024
Microservice Mimari’lerde Transaction Yönetimi Nasıl Yapılır?

Transaction ve Transaction bütünlüğü nedir? ACID prensipler hakkında Monolith uygulamalarda transaction yönetimi Microservice Mimari’lerde transaction yönetimi Microservice Mimari’lerde transaction yönetimi için Two-Phase Commit ve Saga tasarım kalıpları Two-Phase Commit vs. Saga Transaction Kavramı Transaction kelime anlamı olarak iş/işlem anlamına gelmekle birlikte kullanıldığı alana göre farklı anlamlar kazanabilmekte. Bankacılık sektöründe, yapılan bir EFT için kullanılırken, muhasebe dünyasında…