MICROSERVICE REFACTORING PATTERNS EĞİTİMİ

Monoliti parçala, ama sistemi kırmadan

Strangler Fig, Branch by Abstraction, Anti-Corruption Layer ve veritabanı ayrıştırma desenleriyle monoliti güvenli biçimde mikroservislere refactor edin.

Strangler Fig, Branch by Abstraction, Anti-Corruption Layer ve veritabanı ayrıştırma desenleriyle monoliti güvenli biçimde mikroservislere refactor edin.

3 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Mikroservis refactoring desenleri: Strangler Fig, ACL, veritabanı ayrıştırma ve güvenli geçiş

Bu ileri seviye eğitim, mevcut monolitik uygulamayı mikroservislere dönüştürürken kullanılan refactoring desenlerine odaklanır. Bağımlılık analizi (ArchUnit, jdeps), modüler monolit, Strangler Fig, Branch by Abstraction, Anti-Corruption Layer, parallel run ve özellik bayrakları işlenir. Veritabanı ayrıştırma (yabancı anahtar kırma, CDC ile senkronizasyon), saga ve outbox, olay güdümlü etkileşim, Pact sözleşme testleri, karakterizasyon testleri ve gözlemle regresyon yakalama uygulamalı örneklenir.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar Sınırlar ve Ayrıştırma Stratejisi → Veri ve Etkileşim Refactoring'i → Güvenli Geçiş ve Doğrulama sırasıyla ilerler.

Seviye

İleri Seviye — mikroservis refactoring desenleri: Strangler Fig, ACL, veritabanı ayrıştırma ve güvenli geçiş.

Öğrenme Metodu

Katılımcılar örnek bir monolitik e-ticaret uygulamasından adım adım servis çıkarır; her adımda test ve gölge trafikle doğrulama yapar.

Neden Bu Eğitim?

✂️Kontrollü Ayrıştırma

Monoliti iş kesintisi olmadan küçük, geri alınabilir adımlarla parçalarsınız.

🗄️Veri Ayrıştırma

Paylaşılan veritabanını güvenli biçimde servis sahipliğine taşırsınız.

🧪Güvenli Geçiş

Karakterizasyon, sözleşme ve gölge trafik testleriyle regresyonu önlersiniz.

Anahtar Konular

microservice refactoringStrangler FigBranch by AbstractionAnti-Corruption Layermonolitten mikroserviseveritabanı ayrıştırmaoutbox deseniArchUnitmikroservis desenlerilegacy modernizasyon
“Büyük yeniden yazım hayaldir; küçük ve güvenli adımlar gerçektir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Yazılım Geliştirme

En az bir dilde (Java, C#, Go veya Node.js) 1-2 yıllık uygulama geliştirme deneyimi faydalıdır.

2
REST ve HTTP

REST API tüketme / geliştirme ve JSON formatı konusunda temel bilgi beklenir.

3
Konteyner Aşinalığı

Docker imajı, konteyner ve docker run komutlarını bilmek labları hızlandırır.

4
Çalışma Ortamı

Docker Desktop çalıştırabilen, en az 16 GB RAM'li bir dizüstü bilgisayar önerilir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Mikroservis ilkelerini, avantaj/dezavantajlarını ve monolit karşılaştırmasını ele alır, Bounded context, aggregate ve context map ile servis sınırlarını belirler, Modül sınırlarını, veritabanı ayrıştırmayı ve ortak kodun yönetimini ele alır ve Strangler Fig, Branch by Abstraction ve Anti-Corruption Layer ile monoliti parça parça ayırır.
Modül 1
Mikroservis Temelleri ve Monolit Karşılaştırması
  • Monolit, modüler monolit, SOA ve mikroservis mimarilerinin karşılaştırılması
  • Mikroservis özellikleri: bağımsız dağıtım, tek sorumluluk, veri sahipliği ve ekip uyumu (Conway yasası)
  • Dağıtık sistem maliyetleri: ağ gecikmesi, kısmi hata, tutarlılık ve operasyonel karmaşıklık
  • Dağıtık sistemlerin sekiz yanılgısı ve CAP teoremi'nin pratik sonuçları
  • Ölçeklenme eksenleri: X, Y, Z ekseni ve Scale Cube modeli
  • Mikroservis olgunluk ön koşulları: CI/CD, izleme, otomasyon ve DevOps kültürü
Modül 2
Alan Odaklı Tasarım ve Servis Sınırları
  • Ortak dil (ubiquitous language), alt alan türleri: core, supporting, generic
  • Bounded Context tanımı ve context map ilişkileri: Shared Kernel, Customer-Supplier, Conformist
  • Aggregate, entity, value object ve domain event kavramları ile tutarlılık sınırı
  • Servis sınırlarını belirleme sezgileri: yüksek uyum, düşük bağlılık, değişim sıklığı
  • Anti-Corruption Layer ile eski sistem modelinin yeni servisten yalıtılması
  • Bir e-ticaret alanında (sipariş, stok, ödeme, kargo) sınır çizme çalıştayı
Modül 3
Monolit Ayrıştırma ve Refactoring Desenleri
  • Bağımlılık analizi: Structure101, jdeps veya ArchUnit ile döngüsel bağımlılık ve modül sınırı tespiti
  • Modüler monolite geçiş: paket içi görünürlük, iç API ve modül testi
  • Servis çıkarma sırası: değişim sıklığı, ölçek ihtiyacı ve takım sahipliğine göre öncelik
  • Veritabanı ayrıştırma: yabancı anahtar kırma, görünüm (view) ile geçiş ve veri senkronizasyonu
  • Ortak kütüphaneler: dağıtık monolit riski, sürüm uyumluluğu ve paylaşılan kodun kopyalanması
  • Oturum, dağıtık işlem ve toplu iş (batch) bağımlılıklarının ayrıştırılması
Modül 4
Strangler Fig ve Kademeli Geçiş Desenleri
  • Strangler Fig deseni: proxy / gateway üzerinden trafiği yeni servise kademeli yönlendirme
  • Branch by Abstraction: soyutlama katmanı ekleyip eski ve yeni gerçeklemeyi yan yana çalıştırma
  • Anti-Corruption Layer ile eski modelin yeni servise sızmasını engelleme
  • Parallel run ve gölge trafik ile yeni servisin çıktısını eskisiyle karşılaştırma
  • Özellik bayrakları ile kademeli açma (dark launch) ve hızlı geri dönüş
  • Geçiş sırasında veritabanı: ortak şema, senkronizasyon ve veri sahipliğinin devri
Günün hedefiKatılımcı Servis başına veritabanı, CQRS ve event sourcing ile veri sahipliğini yönetir, Saga (orkestrasyon/koreografi), outbox ve telafi işlemleriyle dağıtık tutarlılığı sağlar, REST, gRPC ve mesajlaşma ile iletişim desenlerini karşılaştırır ve API Gateway ile yönlendirme, kimlik doğrulama ve BFF desenini uygular.
Modül 1
Mikroservislerde Veri Yönetimi
  • Database-per-service deseni ve paylaşılan veritabanı anti-pattern'inin sonuçları
  • Polyglot persistence: PostgreSQL, MongoDB, Redis ve Elasticsearch seçim ölçütleri
  • CQRS: komut ve sorgu modellerinin ayrılması, okuma modeli (read model) projeksiyonları
  • Event Sourcing: olay deposu, anlık görüntü (snapshot) ve olay tekrarı (replay)
  • API Composition ile çok servisli sorgular ve veri kopyalama maliyeti
  • Veri taşıma: CDC (Debezium) ile değişikliklerin yayınlanması ve outbox deseni
Modül 2
Dağıtık İşlemler ve Saga Deseni
  • İki aşamalı onay (2PC) neden mikroservislerde önerilmez: kilitleme ve kullanılabilirlik etkisi
  • Saga türleri: koreografi tabanlı ile orkestrasyon tabanlı akışların karşılaştırılması
  • Telafi işlemleri (compensating transaction): sipariş-stok-ödeme senaryosunda geri alma adımları
  • Transactional Outbox ve Inbox desenleri ile iletinin veritabanı işlemiyle atomik yayınlanması
  • Orkestratör araçları: Camunda, Temporal, Netflix Conductor ve MassTransit state machine
  • Saga durumunun izlenmesi, zaman aşımı yönetimi ve takılı kalan akışların kurtarılması
Modül 3
Servisler Arası İletişim: Senkron ve Asenkron
  • Senkron iletişim: REST, gRPC (Protocol Buffers, HTTP/2) ve zaman aşımı/bağımlılık zinciri riski
  • Asenkron mesajlaşma: RabbitMQ, Apache Kafka, kuyruk ve konu (topic) modelleri
  • Olay güdümlü mimari: domain event, integration event ve event-carried state transfer
  • İleti teslim garantileri: en az bir kez, en çok bir kez ve idempotent tüketici tasarımı
  • Mesaj şema evrimi: Avro/Protobuf, Schema Registry ve geriye/ileriye dönük uyumluluk
  • Request-reply, publish-subscribe ve competing consumers desenlerinin karşılaştırılması
Modül 4
API Gateway ve BFF Deseni
  • API Gateway rolü: yönlendirme, birleştirme (aggregation), kimlik doğrulama, rate limit ve TLS sonlandırma
  • Spring Cloud Gateway, Kong, NGINX ve Envoy seçeneklerinin karşılaştırılması
  • Backend for Frontend (BFF) deseni: mobil, web ve üçüncü taraf istemciler için ayrı katmanlar
  • Gateway üzerinde JWT doğrulama, correlation ID ekleme ve istek dönüştürme filtreleri
  • Gateway'in tek hata noktası olmasını önleme: yüksek erişilebilirlik ve önbellekleme
  • GraphQL federasyonu ile gateway katmanında şema birleştirme yaklaşımı
Günün hedefiKatılımcı Test piramidi, tüketici güdümlü sözleşme testi (Pact) ve Testcontainers ile test yazar, Circuit breaker, bulkhead, timeout ve retry desenleriyle hata yayılımını sınırlar, Merkezi günlük, Prometheus metrikleri ve OpenTelemetry ile dağıtık izleme kurar ve Geçiş yol haritası, ekip topolojisi ve risk yönetimini planlar.
Modül 1
Mikroservis Test Stratejisi
  • Mikroservis test piramidi: birim, bileşen, entegrasyon, sözleşme ve uçtan uca testler
  • Tüketici güdümlü sözleşme testi: Pact ile consumer test ve provider doğrulama
  • Testcontainers ile gerçek PostgreSQL, Kafka ve Redis kullanan entegrasyon testleri
  • WireMock ve Spring Cloud Contract ile bağımlı servislerin taklit edilmesi
  • Üretimde test: canary, gölge (shadow) trafik ve özellik bayraklarıyla güvenli yayın
  • Kararsız (flaky) test nedenleri ve asenkron akışların Awaitility ile test edilmesi
Modül 2
Dayanıklılık Desenleri: Circuit Breaker ve Retry
  • Kademeli hata (cascading failure) senaryosu ve zaman aşımı bütçesi hesaplama
  • Circuit Breaker durumları: closed, open, half-open ve eşik yapılandırması
  • Retry stratejileri: sabit, üssel geri çekilme (exponential backoff) ve jitter
  • Bulkhead ve rate limiter ile kaynak yalıtımı; thread pool ve semaphore yaklaşımları
  • Fallback ve zarif bozulma (graceful degradation): önbellekten yanıt, varsayılan değer
  • Chaos Monkey benzeri hata enjeksiyonu ile dayanıklılık davranışının doğrulanması
Modül 3
Gözlemlenebilirlik: Günlük, Metrik ve İzleme
  • Üç sütun: günlük (log), metrik ve iz (trace); yapılandırılmış JSON günlük biçimi
  • ELK/EFK yığını veya Grafana Loki ile merkezi günlük toplama ve correlation ID
  • Micrometer ve Prometheus ile RED/USE metrikleri; Grafana panoları
  • OpenTelemetry, Jaeger/Zipkin ile dağıtık iz (span) ve bağlam yayılımı (W3C traceparent)
  • SLI, SLO ve hata bütçesi tanımı; Alertmanager ile uyarı kuralları
  • Sağlık uç noktaları: liveness, readiness ve Spring Boot Actuator yapılandırması
Modül 4
Mikroservislere Geçiş Planı ve Organizasyon
  • Geçişin iş gerekçesi: dağıtım sıklığı, değişim süresi (lead time) ve ölçeklenme ihtiyacı ölçümleri
  • Mevcut sistem keşfi: bağımlılık haritası, veri akışı, teknik borç ve risk matrisi
  • Ekip Topolojileri: akış hizalı ekipler, platform ekibi ve bilişsel yük yönetimi
  • Platform hazırlığı: CI/CD, konteyner platformu, gözlemlenebilirlik ve ortak şablonlar (golden path)
  • Pilot servis seçimi, başarı ölçütleri ve aşamalı yayın planı
  • Yaygın geçiş hataları: dağıtık monolit, çok erken ayrıştırma, ortak veritabanı ve ekip uyumsuzluğu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Mikroservis Temelleri

Mikroservis mimarisinin ne zaman uygun olduğunu karşılaştırmalı olarak değerlendirebilirsiniz.

🧩
Refactoring Desenleri

Monoliti modüllere ve servislere ayırmak için kod ve veritabanı refactoring desenlerini uygulayabilirsiniz.

🛠️
Kademeli Geçiş

Strangler Fig ve Branch by Abstraction ile monoliti iş kesintisi olmadan parçalayabilirsiniz.

🔐
Saga Deseni

Saga ve outbox desenleriyle dağıtık işlemlerde nihai tutarlılık sağlayabilirsiniz.

📈
Servis İletişimi

Senkron ve asenkron iletişim desenlerinden senaryoya uygun olanı gerekçeyle seçebilirsiniz.

🧪
Test Stratejisi

Birim, sözleşme ve uçtan uca testleri dengeli bir mikroservis test stratejisine yerleştirebilirsiniz.

🚀
Dayanıklılık

Resilience4j ile circuit breaker, retry ve bulkhead desenlerini uygulayıp hata yayılımını sınırlayabilirsiniz.

🔎
Geçiş Planı

Monolitten mikroservise geçiş için gerekçeli bir yol haritası ve ekip planı hazırlayabilirsiniz.

Kimler İçin Uygundur?

  • Eski sistemleri modernize eden kıdemli geliştiriciler
  • mimarlar
  • teknik liderler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Eski sistemleri modernize eden kıdemli geliştiriciler, mimarlar ve teknik liderler için uygundur.
Hangi dil üzerinden anlatılır?
Örnekler Java/Spring üzerinden verilir; desenler dilden bağımsızdır.
Veritabanı ayrıştırma ele alınıyor mu?
Evet, ikinci günün odağıdır: yabancı anahtar kırma, CDC ve veri senkronizasyonu.
Gerçek monolit koduyla mı çalışılır?
Eğitim için hazırlanmış bilinçli olarak bağımlılıkları dolaşık bir demo monolit kullanılır.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların sınav ve sertifikalarıyla bir bağı yoktur.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Microservice Refactoring Patterns Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

API ve Mikroservis MimarisiGo İle API Programlama Eğitimi
Yazılım Geliştirme Eğitimleri

Go İle API Programlama Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Go ile REST API geliştirme: net/http, veritabanı, kimlik doğrulama, test ve dağıtım. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiGraphQL Temel Kavramları Eğitimi
Yazılım Geliştirme Eğitimleri

GraphQL Temel Kavramları Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

GraphQL temelleri: şema, sorgu, mutation, resolver, istemci ve üretim konuları. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiInstallation, Express-generator, & API Eğitimi
Yazılım Geliştirme Eğitimleri

Installation, Express-generator, & API Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Express kurulumu, express-generator iskeleti ve temel API geliştirme. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiIntroducing API Fundamentals & Testing: Understanding APIs Eğitimi
Yazılım Geliştirme Eğitimleri

Introducing API Fundamentals & Testing: Understanding APIs Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

API temelleri: HTTP, REST, JSON, durum kodları ve Postman ile ilk istekler. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiIntroducing API Fundamentals & Testing: Working with RESTful APIs Eğitimi
Yazılım Geliştirme Eğitimleri

Introducing API Fundamentals & Testing: Working with RESTful APIs Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

RESTful API ile çalışma: CRUD akışları, Postman testleri, kimlik doğrulama ve otomasyon. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn