Eğitim İçeriği
1. Gün: Go'da Olay Odaklı Mimari Temelleri
- EDA'ya Giriş
- Olay Odaklı Mimari nedir?
- Monolit, Mikro Servisler ve Olay Odaklı Sistemlerin Karşılaştırılması
- Go'nun eşzamanlılık (concurrency) modeli ve hafif goroutine'lerin neden EDA için ideal olduğu
- Temel Kavramlar & Faydalar
- Kurumsal sistemlerde bağımsızlık (decoupling), ölçeklenebilirlik ve dayanıklılık
- Olayları (Events), Üreticileri (Producers), Tüketicileri (Consumers) ve Olay Aracılarını (Event Brokers) Tanımlama
- Go'nun yüksek performanslı olay sistemlerini desteklediği gerçek dünya örnekleri ve vaka çalışmaları
- CAP Teoremi & EDA'da Ödünleşimler
- Tutarlılık (Consistency), Kullanılabilirlik (Availability) ve Bölüm Dayanıklılığı (Partition Tolerance) hakkında genel bakış
- EDA'nın bu özellikler üzerindeki etkisi
- Go tabanlı sistemlerde tutarlılık ve kullanılabilirlik arasında denge kurma stratejileri
2. Gün: Go'da Olaylar, Mesajlar ve İletişim Desenleri
- Olay Tiplerini Anlama
- Alan Olayları (Domain Events) vs. Entegrasyon Olayları (Integration Events)
- Go uygulamalarında Eşzamanlı (Synchronous) vs. Asenkron olaylar
- Pratikte Mesajlaşma Desenleri
- Go'da Yayımla-Abone Ol (Pub/Sub)
- Go'da JSON, Protocol Buffers veya Avro kullanarak olay yükünü (event payload) tasarlayıp yapılandırma
- Go'da Olay İşlemlemeyi Uygulama
- Popüler Go mesajlaşma kütüphaneleri ve çerçevelerine genel bakış
- Kod örnekleri: Idiomatic Go desenlerini kullanarak olayların gönderilmesi ve işlenmesi
- Uygulama oturumu: Go ile basit bir olay odaklı servis oluşturmak
3. Gün: Go ile Mesajlaşma Sistemleri & Olay Aracıları
- Olay Aracılarını Seçme ve Entegrasyonu
- Popüler aracıların genel bakışı: Apache Kafka, RabbitMQ ve NATS
- Go tabanlı sistemler için kullanım durumlarının ve en iyi uygulamaların karşılaştırılması
- Mesajlaşma Altyapısının Kurulması
- Kafka, RabbitMQ veya NATS için Docker Compose kurulumu
- Konuların (topics), borsaların (exchanges), kuyrukların (queues) ve kanalların (channels) yapılandırılması
- Go istemci kütüphanelerine genel bakış
- Uygulamalı Atölye
- Olayları üreten ve tüketen örnek bir Go mikro servisi oluşturma
- Servişi seçilen olay aracıyla entegre etme
- Olay akışlarının hata ayıklanması ve test edilmesi
4. Gün: Go EDA'da Dağıtım, İzleme ve İleri Konular
- Kubernetes üzerinde Go Olay Odaklı Uygulamaların Dağıtımı
- Go uygulamalarının üretim için konteynerleştirilmesi
- Kafka'nın (veya diğer aracıların) Kubernetes kümelerinde dağıtılması
- Olay tüketicilerini ölçeklendirmek için KEDA (Kubernetes Event-Driven Autoscaling) tanıtımı
- Hata Yönetimi ve İzleme
- Stratejilerle olay başarısızlıklarının ele alınması
- Go servislerinde gözlemlenebilirlik (observability) uygulaması
- İleri Konular & SSS
- Go ile Serverless Olay Odaklı Mimarilerin Keşfi
- Olay Koreografisi vs. Orkestrasyon: Kullanım durumları ve tasarım dikkatleri
- Yaygın tuzaklar, çıkarılan dersler ve en iyi uygulamalar
- Açık SSS oturumu ve etkileşimli sorun giderme
Kurs İçin Gerekli Önbilgiler
- Goroutine ve kanalların (channels) kullanımı dahil olmak üzere Go (Golang) konusunda yetkinlik
- Monolit ve mikro servisler gibi yazılım mimarisi modelleri hakkında temel bilgi
- Docker ve Docker Compose ile tanıdık olma
- REST API'leri ve ağ kavramları hakkında temel bilgi
- Komut satırı araçları ve Git deneyimi
- İsteğe bağlı ama faydalı: Kubernetes ve Kafka, RabbitMQ veya NATS gibi mesajlaşma sistemleri hakkında önceki deneyim
Hedef Kitle
- Ölçeklenebilir, olay odaklı uygulamalar geliştiren Go geliştiricileri
- Monolit veya REST tabanlı mimarilerden asenkron sistemlere geçiş yapan yazılım mühendisleri
- Konteynerize veya dağıtık mikro servislerle çalışan DevOps ve bulut mühendisleri
- Go kullanarak EDA desenlerini araştıran teknik mimarlar ve sistem tasarımcıları
Danışanlarımızın Yorumları (7)
GO dilinde bazı kod yazıyoruz ve EDA (Olay Tabanlı Mimari) ile ilgili olaylar, ne zaman ve nasıl kullanıldıkları hakkında bilgi ediniyoruz.
Alin
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
Bu etkileşimli bir kursdu, uyku için zaman yoktu :)). Ayrıca gruplar halinde çalışmak ve her sonuca göre tartışmak da çok keyifliydi.
Alina
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
Tartışmaları ve kendi kendimize ulaşabileceğimiz sonuçları paylaşmak için verilen örnekleri en çok sevdim. Hızı, İngilizcesini, sabrını sevdim; hatta biz en iyi cevabı vermediğimizde bile yanlış olduğunu söylemedi, daha iyi olabilecek örnekler verdi.
Simona
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
Açık tartışmalar ve sorunlar/nedenlerin (yani `neden`) anlaşıldığından `EDA`'ya geçiş.
Constantin
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
şeyleri etkileşim ve örnekler üzerine ağır bir şekilde dayalı sunma yaklaşımı
Virgil
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
Kursun etkileşimli doğası Kendini keşfetme öğrenme yaklaşımı, burada cevapları kendi kendin buldunuz Gerçek hayattan örneklerle pratik odaklılık, bu sayede konular daha yakınlaşır hale geldi
Roxana Sandu
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi
Çok etkileşimli. Egitmen çok bilgili ve sabırlıydı.
Robert
Eğitim - Event Driven Architecture Custom
Yapay Zeka Çevirisi