0Pricing
Cloud & IT Cert Prep · Ders

Koreografi ve Orkestrasyon Örüntüleri

Olay koreografisini (her hizmetin bağımsız tepki vermesi) orkestrasyonla (merkezi bir koordinatörün hizmetleri yönlendirmesi) karşılaştırın ve mimariniz için doğru örüntüyü seçin.

Koreografi ve Orkestrasyon Örüntüleri, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

Mikro hizmetleri Koordine Etmenin İki Yaklaşımı

Mikro hizmetlerin bir iş sürecini tamamlamak için birlikte çalışması gerektiğinde iki temel koordinasyon modeli vardır. Orchestration, her hizmete açıkça komut veren merkezi bir koordinatör (Step Functions gibi) kullanır. Choreography modelinde merkezi koordinatör yoktur; hizmetler olayları dinler ve bağımsız olarak tepki verir. Hangisinin ne zaman kullanılacağını ve ne zaman birleştirileceğini anlamak, SAA-C03 sınavında ölçülen önemli bir mimari beceridir.

Orchestration Modelinin Açıklaması

Orchestration modelinde merkezi bir hizmet (orchestrator), işlemlerin sırasını denetler. Service A'yı çağırır, yanıtı bekler, ardından Service B'yi çağırır ve bu şekilde devam eder. Orchestrator, süreç durumu hakkında tam görünürlüğe sahiptir; hataları ve yeniden denemeleri yönetir ve ara sonuçlara göre karar verebilir. AWS'de Step Functions, temel orchestrator'dır; iş akışının tamamını bir durum makinesi olarak tanımlar ve her adımı yürütür.

# Orchestration: Step Functions state machine drives order processing
# StepFunctions -> ValidateOrder Lambda -> ChargePayment Lambda -> NotifyShipping Lambda
# Each arrow is an explicit command from the orchestrator
# If ChargePayment fails, Step Functions catches the error and routes to NotifyFailure
# The orchestrator (Step Functions) knows the full state of the order at every moment

Choreography Modelinin Açıklaması

Choreography modelinde hizmetler, merkezi bir koordinatör olmadan olaylar aracılığıyla iletişim kurar. Service A görevini tamamlar ve bir olay veri yoluna veya konuya (örneğin OrderValidated) bir olay yayımlar. Service B, OrderValidated olaylarını dinler ve ödemeyi işler; ardından PaymentCharged olayını yayımlar. Service C, PaymentCharged olayını dinler ve siparişi gönderir. Her hizmet özerk ve birbirinden ayrıdır; yalnızca tükettiği ve ürettiği olayları bilir, diğer hizmetleri bilmez.

# Choreography: EventBridge bus connects services without central coordinator
# OrderService -> publishes 'OrderPlaced' to EventBridge
# PaymentService -> listens for 'OrderPlaced', charges card, publishes 'PaymentCharged'
# ShippingService -> listens for 'PaymentCharged', creates shipment, publishes 'OrderShipped'
# NotificationService -> listens for 'OrderShipped', sends email
# No service calls another service directly — all communication is via events

Her Model İçin AWS Hizmetleri

AWS'de Step Functions temel orchestration aracıdır. Choreography için temel araçlar; hizmetler arasında içerik tabanlı filtrelemeyle olayları yönlendiren Amazon EventBridge, basit fan-out için Amazon SNS ve hizmetler arasında noktadan noktaya ileti aktarımı için Amazon SQS'dir. Modelleri birleştirebilirsiniz: sınırlı bağlamlar arasında alanlar arası choreography için EventBridge'i, tek bir alan içindeki adımları düzenlemek için Step Functions'ı kullanın.

Ödünleşimler: Gözlemlenebilirlik

Orchestration, merkezi görünürlük sağlar; Step Functions yürütme geçmişi, bir iş akışının tam olarak hangi noktada olduğunu, her adımın ne kadar sürdüğünü ve neyin başarısız olduğunu gösterir. Hata ayıklama kolaydır. Choreography, görünürlüğü birden fazla hizmet ve olay veri yolu arasında dağıtır; tek bir iş işlemini izlemek için birçok hizmetteki günlükleri ve olayları ilişkilendirmek gerekir. Bu nedenle choreography sistemleri, uçtan uca görünürlük için ilişkilendirme kimliklerine ve dağıtık izlemeye (AWS X-Ray) büyük ölçüde dayanır.

# Correlation ID pattern for choreography observability
# Every event includes a correlationId that flows through the entire chain
{
  'source': 'com.myapp.orders',
  'detail-type': 'OrderPlaced',
  'detail': {
    'orderId': 'ORD-123',
    'correlationId': 'CORR-abc-456',  # propagated to every downstream event
    'customerId': 'CUST-789',
    'total': 99.99
  }
}

Ödünleşimler: Bağımlılık

Choreography, daha gevşek bağımlılık sunar; mevcut olayları dinleyen yeni bir hizmet eklemek, mevcut hizmetlerde değişiklik gerektirmez. Örneğin OrderPlaced olaylarını dinleyen bir analiz hizmeti eklemek, sipariş veya ödeme hizmetini hiç etkilemez. Orchestration, orchestrator ile çağırdığı tüm hizmetler arasında daha sıkı bağımlılık oluşturur; yeni bir adım eklemek durum makinesi tanımının değiştirilmesini gerektirir, ancak tek tek hizmetler yalıtılmış kalır.

Ödünleşimler: Hata İşleme

Orchestration, hata işlemeyi açık hale getirir; Step Functions Catch blokları her hata türü için geri dönüş durumlarını tanımlar ve tüm iş akışı geçmişi hata bağlamını gösterir. Choreography modelinde hata işleme dağıtılmıştır; her hizmet kendi hatalarını işlemeli ve isteğe bağlı olarak diğer hizmetlerin tepki verebileceği bir hata olayı yayımlamalıdır. sagas uygulamak (bir adım başarısız olduğunda yapılan işi geri almak için telafi işlemleri kullanmak), choreography modelinde orchestration modeline göre çok daha karmaşıktır.

# Saga pattern in choreography: compensating events
# Happy path:
# OrderPlaced -> PaymentCharged -> InventoryReserved -> OrderShipped
#
# Failure path (InventoryReservation fails):
# InventoryReservationFailed event published
# PaymentService listens -> issues refund -> publishes PaymentRefunded
# OrderService listens -> cancels order -> publishes OrderCancelled
#
# In orchestration (Step Functions), the compensating logic is in explicit Catch states

Orchestration Ne Zaman Seçilmeli

Şu durumlarda orchestration modelini tercih edin: iş sürecinin açık başarı/başarısızlık sonuçlarıyla doğrusal veya dallanan net bir sırası varsa; operasyon veya uyumluluk amacıyla süreç durumuna ilişkin merkezi görünürlüğe ihtiyacınız varsa; hata işleme karmaşık telafi mantığı içeriyorsa ya da iş akışı uzun sürüyor ve hizmet yeniden başlatmalarından sonra da devam etmesi gerekiyorsa. Örnekler: sipariş karşılama, hasta kabulü ve sigorta tazminatı işleme; bunların tümü net başlangıç, bitiş ve denetim gereksinimleri olan iş akışlarıdır.

Choreography Ne Zaman Seçilmeli

Şu durumlarda choreography modelini tercih edin: hizmetler, sıkı biçimde koordine edilmemesi gereken farklı ekiplerin sorumluluğundaysa; sistem, mevcut hizmetleri değiştirmeden yeni hizmetlerle genişletilmeye açık olmalıysa; olaylar komutlardan çok gerçekleri temsil ediyorsa (örneğin 'OrderShipped', 'ShipOrder' değil) ya da merkezi bir darboğaz bulunmadığından en yüksek ölçeklenebilirliği istiyorsanız. Örnekler: analiz verisi alımı, bildirimlerin dağıtılması ve denetim günlüklerinin tutulması; bunların tümü birden fazla bağımsız tüketicinin aynı olaya tepki verdiği durumlardır.

Hibrit Mimariler

Gerçek dünyadaki AWS mimarilerinin çoğu, ayrıntı düzeyinin farklı katmanlarında her iki deseni de kullanır. Yaygın bir hibrit yaklaşım şöyledir: Sınırlandırılmış bağlamların bağlantısını gevşetmek için EventBridge koreografisini kullanın (örneğin Order alanı olaylar yayınlar; Inventory, Payment ve Shipping alanlarının her biri bağımsız olarak yanıt verir); Payment alanı içinde ise dahili ödeme iş akışının adımlarını (ücret çekme, dolandırıcılık kontrolü, yetkilendirme, ödeme mutabakatı) koordine etmek için Step Functions orkestrasyonunu kullanın. Böylece alanlar arasında gevşek bağlılık, dahili süreçte ise netlik sağlanır.

# Hybrid: EventBridge for inter-domain + Step Functions for intra-domain
#
# EventBridge bus (choreography):
#   Order domain publishes 'OrderPlaced'
#   Payment domain receives it, starts Step Functions execution
#
# Step Functions (orchestration inside Payment domain):
#   ValidateCard -> FraudCheck -> AuthorisePayment -> SettlePayment
#   On success: PaymentDomain publishes 'PaymentCharged' to EventBridge bus
#   On failure: Step Functions Catch -> publishes 'PaymentFailed' event

SAA-C03 Sınav İpuçları

Sınavda şu ipuçlarını arayın. Koreografi anahtar kelimeleri: 'gevşek bağlı', 'hizmetler olaylara tepki verir', 'ekipler bağımsız hizmetlerin sorumluluğunu üstlenir', 'birden çok tüketiciye fan-out', 'mevcut hizmetleri değiştirmeden yeni hizmet ekleme'. Orkestrasyon anahtar kelimeleri: 'adımları sırayla koordine etme', 'iş akışı durumunu izleme', 'telafi işlemleriyle kısmi hataları ele alma', 'insan onayı adımı', 'hata yönetimi içeren uzun süren süreç'. Bir soruda diğer hizmetleri yönlendiren merkezi bir koordinatör tarif ediliyorsa bu her zaman orkestrasyondur.

Kısa Kontrol

Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı sınayın.

Ders Özeti

Bu derste şunları öğrendiniz: orkestrasyon, açık ve görünür iş akışı denetimi için merkezi bir koordinatör (Step Functions) kullanır, koreografi, gevşek bağlılık ve genişletilebilirlik için olayları (EventBridge) kullanır ve üretim mimarilerinin çoğu, ayrıntı düzeyinin farklı katmanlarında her iki deseni birleştirir. Sırada SAA-C03 sınav biçimini ve alan ağırlıklarına dayalı çalışma stratejisini inceleyeceğiz.

Sıkça Sorulan Sorular

“Koreografi ve Orkestrasyon Örüntüleri” dersi ücretsiz mi?

Evet — “Koreografi ve Orkestrasyon Örüntüleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

“Koreografi ve Orkestrasyon Örüntüleri” dersinde ne öğreneceğim?

Olay koreografisini (her hizmetin bağımsız tepki vermesi) orkestrasyonla (merkezi bir koordinatörün hizmetleri yönlendirmesi) karşılaştırın ve mimariniz için doğru örüntüyü seçin. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Koreografi ve Orkestrasyon Örüntüleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. EventBridge: Olay Veri Yolu ve Kurallar
  2. Step Functions: Sunucusuz İş Akışlarını Düzenleme
  3. Gerçek Zamanlı Olay İşleme için Kinesis Data Streams
  4. Koreografi ve Orkestrasyon Örüntüleri
← Cloud & IT Cert Prep Sayfasına Dön