eventual consistency

Distributed Transaction Nedir? Dağıtık Sistemlerde Tutarsızlık Problemi
5

Distributed Transaction Nedir? Dağıtık Sistemlerde Tutarsızlık Problemi

Modern yazılım dünyasında sistemler artık tek bir uygulamadan oluşmuyor. Günümüzde büyük ölçekli platformların çoğu microservice mimarisi kullanıyor. Bu mimaride sistem tek bir uygulama yerine birçok küçük servis tarafından oluşturuluyor. Bu noktada yazılım mühendislerinin karşılaştığı en büyük sorunlardan biri distributed transaction problemidir. Basitçe ifade etmek gerekirse distributed transaction, tek bir işlemin birden fazla servis veya veritabanı

Mehmet Ali Uçar
Mehmet Ali Uçar
Saga Pattern Nedir? Dağıtık Sistemlerde Transaction Yönetimi
8

Saga Pattern Nedir? Dağıtık Sistemlerde Transaction Yönetimi

Saga Pattern Nedir? Dağıtık Sistemlerde Transaction Yönetimi Saga Pattern, mikroservis mimarilerinde ortaya çıkan distributed transaction problemlerini çözmek için kullanılan bir tasarım yaklaşımıdır. Tek bir veritabanında: BEGIN COMMIT ROLLBACK mantığı çalışır. Ama dağıtık sistemlerde rollback diye bir lüks yoktur. Çünkü: Her servis bağımsızdır Tek bir merkezi transaction manager yoktur Ağ her an kopabilir İşte Saga Pattern,

Mehmet Ali Uçar
Mehmet Ali Uçar
Distributed Transaction Nedir? Dağıtık Sistemlerde Tutarlılık Problemi
10

Distributed Transaction Nedir? Dağıtık Sistemlerde Tutarlılık Problemi

Tek bir veritabanında işlem yapmak görece kolaydır.BEGIN → COMMIT → ROLLBACK zinciri çalışır ve ACID garantileri sağlanır. Ama iş dağıtık sistemlere gelince tablo değişir. Birden fazla servis, birden fazla veritabanı ve tek bir iş akışı varsa, distributed transaction problemleri başlar. Distributed Transaction Nedir? Distributed transaction, bir iş akışının birden fazla servis ve veri kaynağı üzerinde

Mehmet Ali Uçar
Mehmet Ali Uçar
Eventual Consistency nedir?
4

Eventual Consistency nedir?

Eventual consistency, dağıtık sistemlerde sıkça karşımıza çıkan ama ilk başta kafa karıştıran bir kavramdır.Basitçe şunu söyler: “Veri her yerde aynı anda tutarlı olmak zorunda değil, zamanla tutarlı olur.” Bu yaklaşım, özellikle büyük ve ölçeklenebilir sistemlerin temel taşlarından biridir. Klasik Tutarlılık Mantığı (Strong Consistency) Geleneksel sistemlerde: Bir veri güncellenir Herkes aynı anda güncel veriyi görür Bu

Mehmet Ali Uçar
Mehmet Ali Uçar
CQRS + Saga Pattern ile Distributed Transaction
3

CQRS + Saga Pattern ile Distributed Transaction

Mikroservis mimarilerinde en zor problemlerden biri distributed transaction konusudur.Tek bir veritabanı yerine birden fazla servis ve veritabanı olduğunda, klasik transaction mantığı çalışmaz. CQRS ve Saga Pattern bu problemi bloklamadan, ölçeklenebilir ve dayanıklı şekilde çözmek için birlikte kullanılır. Distributed Transaction Problemi Nedir? Monolit sistemlerde: Tek veritabanı ACID transaction Commit / Rollback garantisi vardır. Mikroservislerde ise: Her

Mehmet Ali Uçar
Mehmet Ali Uçar
Eventual Consistency Ne Zaman Kullanılır?
6

Eventual Consistency Ne Zaman Kullanılır?

Modern yazılım sistemleri artık tek bir sunucuda değil;dağıtık, ölçeklenebilir ve yüksek erişilebilir yapılarda çalışıyor. Bu noktada kritik bir soru ortaya çıkar: “Veri her zaman %100 tutarlı mı olmalı?” Cevap çoğu zaman: Hayır. İşte burada Eventual Consistency devreye girer. 🧠 Eventual Consistency Nedir? Eventual Consistency, dağıtık bir sistemde: Eğer sisteme yeni bir yazma işlemi gelmezse, zamanla

Mehmet Ali Uçar
Mehmet Ali Uçar
CQRS vs Eventual Consistency İlişkisi
12

CQRS vs Eventual Consistency İlişkisi

Dağıtık sistemlerde performans, ölçeklenebilirlik ve tutarlılık aynı anda istenir.Ancak gerçek dünyada bu üçü arasında zorunlu ödünler vardır. İşte CQRS ve Eventual Consistency bu ödünlerin bilinçli şekilde yönetilmesini sağlar. CQRS Nedir? CQRS (Command Query Responsibility Segregation): Command (Write) → Sistemi değiştirir Query (Read) → Sadece okur Bu iki sorumluluk: Ayrı modeller Ayrı veri yapıları Hatta ayrı

Mehmet Ali Uçar
Mehmet Ali Uçar

E-Bülten Aboneliği

Güncel haberlerden haberdar olmak için e-bültenimize abone olun