GO İLE MİKROSERVİS GELİŞTİRME EĞİTİMİ

Go ile hafif, hızlı ve dayanıklı mikroservisler

Go, gRPC, Kafka, OpenTelemetry ve Kubernetes ile üretim kalitesinde mikroservisleri tasarlayıp geliştirmeyi öğrenin.

Go, gRPC, Kafka, OpenTelemetry ve Kubernetes ile üretim kalitesinde mikroservisleri tasarlayıp geliştirmeyi öğrenin. Katılımcılar Go ile birkaç servisten oluşan bir sistemi geliştirip gRPC ve Kafka ile bağlar, Kubernetes'e dağıtır ve yük altında ölçer.

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

Eğitim Hakkında

Go ile mikroservis geliştirme: net/http, gRPC, mesajlaşma, gözlem ve Kubernetes

Bu ileri seviye eğitim, Go dilinde mikroservis geliştirmeyi uçtan uca ele alır. Goroutine, context ve hata yönetimiyle başlayıp net/http, pgx ve sqlc ile REST servisi, gRPC ve Protobuf sözleşmesi, Kafka ile olay yayınlama, saga ve outbox, Consul/Kubernetes ile servis keşfi, circuit breaker, Prometheus ve OpenTelemetry, distroless Docker imajı, Kubernetes ve Argo CD ile GitOps dağıtımı, JWT ve mTLS güvenliği, pprof ile performans analizi uygulanır.

Süre ve Format

4 Gün. Her gün dört modül; katılımcılar Go ile Servis Geliştirme → Servisler Arası İletişim → Dayanıklılık ve Gözlem → Dağıtım ve Güvenlik sırasıyla ilerler.

Seviye

İleri Seviye — Go ile mikroservis geliştirme: net/http, gRPC, mesajlaşma, gözlem ve Kubernetes.

Öğrenme Metodu

Katılımcılar Go ile birkaç servisten oluşan bir sistemi geliştirip gRPC ve Kafka ile bağlar, Kubernetes'e dağıtır ve yük altında ölçer.

Neden Bu Eğitim?

🐹Go'nun Gücü

Hafif goroutine ve küçük ikili dosyalarla yüksek verimli servisler yazarsınız.

📡gRPC ve Olaylar

Senkron ve asenkron iletişimi Go ekosistemiyle uygularsınız.

☸️Bulutta Çalışma

Servisleri distroless imajla Kubernetes ve GitOps ile yayınlarsınız.

Anahtar Konular

Go mikroservisGolang mikroservis eğitimigRPC GoKafka GoProtobufGo net/httppprofGo KubernetesOpenTelemetry GoGo concurrency
“Basit kod, dayanıklı servisin ilk şartıdır; Go bunu dil düzeyinde sever.”

Ön Koşullar

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

1
Programlama Deneyimi

Herhangi bir dilde yazılım geliştirme deneyimi; Go bilgisi şart değildir ancak faydalıdır.

2
HTTP ve JSON

HTTP, REST ve JSON kavramlarına temel düzeyde aşinalık beklenir.

3
Komut Satırı

Terminal, Git ve temel Linux komutlarını kullanabilmek gerekir.

4
Çalışma Ortamı

Go 1.22+, VS Code (veya GoLand) ve Docker kurulu bir dizüstü bilgisayar gerekir.

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ı Go tip sistemi, arayüzler, goroutine ve channel yapılarını API geliştirme bağlamında ele alır, net/http, ServeMux ve ara katman ile sunucu yazar, JSON kodlama/çözme yapar, database/sql, pgx ve sqlc ile veri katmanı; katmanlı API yapısı kurar ve Tablo güdümlü testler, httptest, mock ve benchmark ile Go servislerini test eder.
Modül 1
Go Dili Temelleri ve Eşzamanlılık
  • Modül sistemi: go mod init, bağımlılıklar, go.sum ve proje yerleşimi (cmd, internal, pkg)
  • Struct, metot, gömme (embedding) ve arayüzlerin örtük karşılanması
  • Hata yönetimi: error değerleri, errors.Is/As, fmt.Errorf %w ile sarmalama
  • Goroutine, channel, select ve sync.WaitGroup / Mutex ile eşzamanlı iş akışları
  • context.Context ile iptal, zaman aşımı ve istek kapsamlı değer taşıma
  • Jenerikler (type parameters), defer ve yarış durumu tespiti için go test -race
Modül 2
Go net/http ile HTTP Sunucusu
  • http.Handler / HandlerFunc, Go 1.22 ServeMux desenleri (metot + path parametresi)
  • encoding/json ile struct etiketleri, json.NewDecoder, DisallowUnknownFields ve doğrulama
  • Ara katman zinciri: günlükleme, panic recover, CORS, kimlik doğrulama ve istek kimliği
  • http.Server zaman aşımları (ReadHeaderTimeout, WriteTimeout) ve graceful shutdown
  • Chi, Gin veya Echo çatılarıyla net/http'nin karşılaştırılması
  • http.Client yapılandırması: Transport, bağlantı havuzu ve yeniden kullanım tuzakları
Modül 3
Go ile REST API Katmanları ve Veritabanı
  • Handler, service ve repository katmanları; bağımlılık enjeksiyonu için arayüz kullanımı
  • database/sql, pgx bağlantı havuzu, hazırlanmış ifadeler ve context ile sorgu iptali
  • sqlc ile tür güvenli sorgu üretimi ve golang-migrate ile şema geçişi
  • Girdi doğrulama (go-playground/validator), sayfalama ve tutarlı hata yanıt zarfı
  • JWT ile kimlik doğrulama, ara katmanda yetki kontrolü ve parola özetleme (bcrypt/argon2)
  • swaggo veya oapi-codegen ile OpenAPI belgesi üretimi
Modül 4
Go ile Test ve Kıyaslama
  • testing paketi, tablo güdümlü (table-driven) testler ve alt testler (t.Run)
  • httptest.NewRecorder ve httptest.NewServer ile handler ve istemci testleri
  • testify, gomock veya elle yazılmış fake nesnelerle bağımlılık taklidi
  • Testcontainers-go ile gerçek veritabanı entegrasyon testi
  • go test -bench, -benchmem ve pprof ile CPU/bellek profili
  • Fuzz testi (go test -fuzz) ve kapsama raporu (-coverprofile)
Günün hedefiKatılımcı gRPC, Protobuf, NATS/Kafka ve sağlık/gözlem ile Go mikroservisleri geliştirir, REST, gRPC ve mesajlaşma ile iletişim desenlerini karşılaştırır, Servis başına veritabanı, CQRS ve event sourcing ile veri sahipliğini yönetir ve Saga (orkestrasyon/koreografi), outbox ve telafi işlemleriyle dağıtık tutarlılığı sağlar.
Modül 1
Go ile gRPC, Mesajlaşma ve Mikroservisler
  • .proto sözleşmesi, protoc / buf ile kod üretimi ve unary / streaming RPC türleri
  • gRPC interceptor ile günlükleme, kimlik doğrulama ve hata kodu (codes/status) eşlemesi
  • Kafka (segmentio/kafka-go, sarama) veya NATS ile olay yayınlama ve tüketici grupları
  • Prometheus istemcisi, OpenTelemetry Go SDK ile metrik ve iz üretimi
  • Sağlık kontrolü (grpc health protocol), graceful shutdown ve Kubernetes probe uyumu
  • Çok aşamalı Dockerfile ile scratch / distroless Go imajı ve küçük ikili dosya (CGO_ENABLED=0)
Modül 2
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 3
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 4
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ı
Günün hedefiKatılımcı Eureka/Consul ile servis keşfi, merkezi yapılandırma ve 12-Factor ilkelerini uygular, 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 API Gateway ile yönlendirme, kimlik doğrulama ve BFF desenini uygular.
Modül 1
Servis Keşfi ve Yapılandırma Yönetimi
  • İstemci taraflı ve sunucu taraflı servis keşfi: Eureka, Consul ve Kubernetes DNS
  • Spring Cloud LoadBalancer ile istemci taraflı yük dengeleme ve sağlık kontrolü
  • Spring Cloud Config, Consul KV veya Kubernetes ConfigMap ile merkezi yapılandırma
  • Secret yönetimi: HashiCorp Vault, Kubernetes Secrets ve şifrelenmiş yapılandırma
  • 12-Factor App ilkelerinin mikroservis bağlamında uygulanması: yapılandırma, günlük, süreçler
  • Çalışma zamanında yapılandırma yenileme (@RefreshScope) ve özellik bayrakları (feature flag)
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
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ı Docker imajı, Kubernetes Deployment/Service ve Helm ile mikroservis dağıtır, Argo CD veya Flux ile Git tabanlı bildirimsel dağıtım ve CI/CD hattı kurar, Zero trust, mTLS, OAuth 2.0 ve servisler arası kimlik doğrulamayı uygular ve Gecikme, bellek, veritabanı ve ağ darboğazlarını ölçer ve giderir.
Modül 1
Konteyner ve Kubernetes ile Dağıtım
  • Çok aşamalı Dockerfile, küçük taban imaj ve katman önbelleği ile imaj optimizasyonu
  • Kubernetes nesneleri: Pod, Deployment, Service, Ingress, ConfigMap ve Secret
  • Kaynak istek/limitleri (requests/limits), HPA ile otomatik ölçekleme
  • Liveness, readiness ve startup probe yapılandırması; rolling update ve geri alma
  • Helm şablonları ve Kustomize ile ortam bazlı manifest yönetimi
  • Service mesh (Istio/Linkerd) ile mTLS, trafik yönetimi ve canary yayını
Modül 2
GitOps Temelleri ve Sürekli Teslimat
  • GitOps ilkeleri: bildirimsel tanım, sürümlü kaynak, otomatik çekme (pull) ve sürekli uzlaştırma
  • Argo CD Application tanımı, senkronizasyon politikaları (auto-sync, self-heal, prune)
  • CI hattı (GitHub Actions/GitLab CI) ile imaj derleme, etiketleme ve manifest deposunu güncelleme
  • Ortam stratejisi: dev/test/prod dalları veya klasörleri; Kustomize overlay ile fark yönetimi
  • Sealed Secrets veya External Secrets ile gizli bilgilerin Git'te güvenli yönetimi
  • Canary ve blue/green yayın (Argo Rollouts) ile risk azaltma ve otomatik geri alma
Modül 3
Mikroservis Güvenliği
  • Zero trust ilkesi, saldırı yüzeyi analizi ve servisler arası güven modeli
  • Keycloak veya Auth0 ile merkezi kimlik sağlayıcı; OpenID Connect ve token yayılımı
  • Edge'de kimlik doğrulama, servis içinde yetkilendirme: JWT doğrulama ve scope kontrolleri
  • mTLS ve SPIFFE/SPIRE ile servis kimliği; Istio PeerAuthentication politikaları
  • Gizli bilgi yönetimi, imaj tarama (Trivy) ve bağımlılık zafiyet denetimi
  • Ağ politikaları (NetworkPolicy) ve en az yetki ilkesiyle yan hareket (lateral movement) sınırlama
Modül 4
Mikroservis Performans Mühendisliği
  • Performans metrikleri: gecikme yüzdelikleri (p95/p99), throughput, doygunluk ve kuyruk uzunluğu
  • JVM profilleme: JFR, async-profiler, heap dump analizi ve GC ayarı (G1/ZGC)
  • N+1 sorgu, eksik indeks, bağlantı havuzu tükenmesi ve yavaş sorgu analizi (EXPLAIN)
  • Ağ maliyeti: konuşkan (chatty) servisler, toplu çağrı, gRPC ve sıkıştırma
  • Önbellekleme katmanları: Redis, yerel Caffeine önbelleği, geçerlilik süresi ve cache stampede önlemi
  • Gatling veya k6 ile yük testi, darboğaz tespiti ve ölçekleme kararı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Go Temelleri

Go'nun tip, arayüz ve eşzamanlılık modelini servis kodunda doğru kullanabilirsiniz.

🧩
Go REST API

Go ile katmanlı, veritabanı destekli ve test edilebilir bir REST API geliştirebilirsiniz.

🛠️
Go Mikroservis

Go ile gRPC ve mesajlaşma tabanlı iletişim kuran gözlemlenebilir mikroservisler yazabilirsiniz.

🔐
Veri Yönetimi

Servis başına veritabanı yaklaşımında veri tutarlılığı ve sorgu ihtiyaçlarını yönetebilirsiniz.

📈
Dayanıklılık

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

🧪
API Gateway

API Gateway ve BFF katmanıyla istemci odaklı yönlendirme ve ortak kaygıları merkezileştirebilirsiniz.

🚀
GitOps

GitOps yaklaşımıyla Git deposunu tek doğruluk kaynağı yaparak otomatik dağıtım kurabilirsiniz.

🔎
Performans Mühendisliği

Mikroservislerde profil çıkarıp gecikme ve kaynak sorunlarının kök nedenini bulabilirsiniz.

Kimler İçin Uygundur?

  • Backend geliştiriciler
  • Go'ya geçmek isteyen Java/Node.js ekipleri
  • mikroservis geliştirecek kıdemli mühendisler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Backend geliştiriciler, Go'ya geçmek isteyen Java/Node.js ekipleri ve mikroservis geliştirecek kıdemli mühendisler için uygundur.
Go bilmiyorum, katılabilir miyim?
Başka bir dilde deneyiminiz varsa evet; ilk günün ilk modülü Go'nun gerekli temellerini hızlı biçimde verir.
Hangi çatılar kullanılıyor?
Standart kütüphane, chi, gRPC-Go, pgx, sqlc ve kafka-go ağırlıklı kullanılır.
Bulut hesabı gerekir mi?
Hayır, kind ile yerel Kubernetes kümesi 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. Go ile Mikroservis Geliştirme Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 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 MimarisiMicroservices Deep Dive Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Deep Dive Eğitimi

4 günUzmanOnline / Yüz Yüze / Hibrit

Ileri mikroservis konuları: olay güdümlü tasarım, saga, zero trust, performans, GitOps ve evrim. 4 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Engineering Boot Camp (MICROENGINEER) Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Engineering Boot Camp (MICROENGINEER) Eğitimi

5 günUzmanOnline / Yüz Yüze / Hibrit

Yoğun mikroservis mühendisliği kampı: alan modeli, servis geliştirme, güvenlik, gözlem, GitOps ve evrim. 5 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifik

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Engineering Boot Camp Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Engineering Boot Camp Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Mikroservis mühendisliği kampı: Spring Boot, entegrasyon, dayanıklılık, güvenlik ve GitOps. 4 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Fundamentals: Deploying Microservices & GitOps Basics Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Fundamentals: Deploying Microservices & GitOps Basics Eğitimi

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

Mikroservis dağıtımı ve GitOps temelleri: Docker, Kubernetes, Argo CD ve canary yayın. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMigrating to Microservices Eğitimi
Yazılım Geliştirme Eğitimleri

Migrating to Microservices Eğitimi

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

Monolitten mikroservislere geçiş: plan, Strangler Fig, veri ayrıştırma ve güvenli yayın. 3 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