Mikroservisler Ülkesi'nde Büyülü Dans: Koreografi Temelli Saga

[en] Read in English

2023-05-26

Bir zamanlar, Bilgisayarlar Diyarı’nda Mikroservisler Ülkesi diye bir yer vardı. Bu ülkede minik minik hizmetçiler, yani mikroservisler, kendi görevlerini layıkıyla yerine getiriyorlardı. Onların her biri, kendi evlerinde -yani kendi sunucularında- yaşıyor ve kendi işlerini görüyorlardı. Bu işler o kadar küçük ve özelleşmişti ki, her bir mikroservis kendi görevini harika bir şekilde yerine getirebiliyordu. Ama bir sorun vardı: bazen bir işi tamamlamak için birkaç mikroservisin birlikte çalışması gerekiyordu. İşte bu noktada, dansın ve hareketin büyüleyici dünyası devreye giriyordu: “Koreografi Temelli Saga” olarak bilinen bir model.

Bu model, bir bale gösterisini andırıyordu. Tıpkı bir bale gösterisindeki dansçıların birbirlerini dinlediği, birbirlerine uyduğu ve tüm performans boyunca uyum içinde hareket ettiği gibi, mikroservisler de birbirleriyle sürekli iletişim halinde oluyordu. Her bir mikroservis, ne zaman hangi adımı atacağını, ne zaman hangi hareketi yapacağını ve hangi durumda hangi mikroservise ne bilgiyi ileteceğini biliyordu.

Bir gün, Bir Alışveriş Mikroservisi, bir ürün satın alma işlemi başlatmak istedi. Bu işlem, birkaç mikroservis tarafından gerçekleştiriliyordu: Ürün Seçme Mikroservisi, Ödeme Mikroservisi, Sipariş Onaylama Mikroservisi ve Kargolama Mikroservisi.

Öncelikle Ürün Seçme Mikroservisi, alışveriş sepetinde hangi ürünün olduğunu tüm diğer mikroservislere bildirdi. Ardından Ödeme Mikroservisi devreye girdi, ödemeyi gerçekleştirdi ve bunun bilgisini diğer mikroservislere iletti. Sonra, Sipariş Onaylama Mikroservisi bu bilgileri alıp siparişi onayladı ve siparişin onaylandığını tüm mikroservislere duyurdu. Son olarak, Kargolama Mikroservisi siparişin onaylandığını öğrendi ve kargolama sürecini başlattı.

Bu süreç, sanki büyük bir bale performansı gibiydi. Her mikroservis kendi adımlarını atıyor, kendi hareketlerini yapıyor ve bu sayede karmaşık bir işlemi tamamlıyordu. Bu, Koreografi Temelli Saga’nın büyüsüydü. Ancak bu büyüyü sürdürmek için her mikroservisin kendi adımlarını doğru zamanda ve doğru şekilde yapması gerekiyordu. Eğer bir mikroservis adımını yanlış atsa ya da beklenenden daha geç bir zamanda hareket etse, tüm performans - yani tüm işlem - sekteye uğrardı. Bu, tıpkı bir bale gösterisinde bir dansçının adımını yanlış atması ya da müziğin ritmini kaçırması gibiydi.

Koreografi Temelli Saga’da, her mikroservis kendine has bir karakterdi. Tıpkı bir masalda olduğu gibi, her biri kendi yeteneklerini, kendi güçlerini ve kendi rollerini taşıyordu. Birlikte çalıştıklarında, bu farklı karakterler bir araya gelerek büyülü bir hikaye oluşturuyorlardı.

Bir gün, her şeyin mükemmel gittiği bir anda, bir hata meydana geldi. Ödeme Mikroservisi, ödemenin tamamlandığını bildireceği sırada bir problemle karşılaştı. Bu durum, tüm işlemlerin aksamaması için hemen çözülmesi gereken bir durumdu. Ve işte burada, Koreografi Temelli Saga’nın bir diğer özelliği devreye girdi: hata yönetimi.

Tıpkı bir bale gösterisinde bir dansçının düştüğünde diğer dansçıların ona yardım etmesi gibi, bu durumda da diğer mikroservisler hemen devreye girdi ve hatanın etkilerini minimize etmek için birlikte çalıştılar. Her biri kendi rollerini oynayarak, hatalı mikroservisin tekrar ayakları üzerinde durmasına yardımcı oldu.

Koreografi Temelli Saga, mikroservislerin birlikte nasıl dans ettiğini, birlikte nasıl hikayeler oluşturduğunu ve birlikte nasıl sorunları çözdüğünü gösterir. Bu, sadece bir teknik model değil, aynı zamanda bir hikaye anlatma sanatıdır. Ve her büyük hikaye gibi, bu model de kahramanlarını, maceralarını, sorunlarını ve çözümlerini içerir. Tüm bunlar, bir araya geldiğinde, karmaşık bir işlemi oluşturan büyük bir hikayeyi, yani büyük bir bale performansını oluşturur.

Ve böylece, Mikroservisler Ülkesi’nde yaşayan minik hizmetçiler, yani mikroservisler, kendi işlerini yerine getiriyor, birlikte dans ediyor ve birlikte hikayeler oluşturuyorlar. Ve tüm bu süreç, Koreografi Temelli Saga’nın büyüleyici dünyası sayesinde gerçekleşiyor. Her gün yeni bir hikaye, yeni bir macera ve yeni bir dans performansıyla, bu ülke her zaman canlı ve hareketli olmaya devam ediyor. Ve sonu gelmeyen bu macera, Bilgisayarlar Diyarı’nda her gün yeniden yazılıyordu.

Bir gün, daha karmaşık bir işlem ortaya çıktı. Mikroservisler Ülkesi’nde, bir alışverişin ardından müşteriye özel bir promosyon kodu verilmesi gerekiyordu. Bu, alışveriş sonrası bir “teşekkür” olarak düşünülebilir. Ancak bu durum, mikroservislerin daha fazla senkronize olmasını gerektiriyordu.

Promosyon Kodu Mikroservisi, yani bu işlemin sorumlusu, hemen harekete geçti. Öncelikle diğer mikroservislerden gerekli bilgileri topladı. Ardından, alışverişin tamamlanmasını ve siparişin onaylanmasını bekledi. Bu bilgiler geldiğinde, hemen yeni bir promosyon kodu oluşturdu ve müşteriye gönderdi.

Ancak burada da sorunlar olabiliyordu. Örneğin, promosyon kodu oluşturulurken bir hata meydana gelirse ne olacaktı? İşte burada yine Koreografi Temelli Saga’nın büyülü dünyası devreye giriyordu. Diğer mikroservisler, hatayı hemen fark ediyor ve bir çözüm yolu bulmak için birlikte çalışıyorlardı.

Hata yönetimi, bu büyük dansın kritik bir parçasıydı. Her mikroservis, bir hatayla karşılaşıldığında ne yapılması gerektiğini biliyordu. Birbirlerine destek oluyor, hatanın etkilerini en aza indirgemek için birlikte hareket ediyorlardı. Bu, onların dansındaki uyumun ve eşgüdümün bir başka göstergesiydi.

Böylece, her gün yeni bir hikaye, yeni bir macera ve yeni bir dans performansı ortaya çıkıyordu. Mikroservisler Ülkesi’nde yaşayan bu minik hizmetçiler, her seferinde daha da uyumlu bir şekilde çalışıyor ve birbirlerini daha iyi anlıyordu. Her yeni işlem, onların dansını daha da geliştiriyordu. Ve Koreografi Temelli Saga, bu sürekli gelişen, canlı ve dinamik dünyanın kalbinde yer alıyordu.

Ve masal burada biter… Ama unutmayın, Mikroservisler Ülkesi’nde her zaman yeni bir hikaye, yeni bir macera ve yeni bir dans performansı bekliyor. Çünkü Koreografi Temelli Saga, her zaman devam eder… Her zaman yeni bir hikaye anlatır… Her zaman yeni bir dans başlatır… Ve bu, Bilgisayarlar Diyarı’nın büyülü dünyasının bir parçasıdır.



Bu gibi daha fazla gönderi...

Mikroservisler Arasında Güvenilir İletişim: Transactional Outbox Pattern'a Derinlemesine Bir Bakış

2023-06-27 | #microservice #transactional-outbox-pattern

1. Giriş: Transactional Outbox Pattern’ın Tanımı ve Kullanım Alanları Transactional Outbox Pattern, mikroservisler arasında güvenilir bir şekilde iletişim kurmayı sağlayan bir tasarım modelidir. Bu model, bir mikroservisin veritabanı işlemlerini ve dışarıya mesaj gönderme işlemlerini aynı işlem içinde gerçekleştirmesini sağlar. Bu sayede, her iki işlem de başarılı olur veya başarısız olur, böylece veri tutarlılığı sağlanır. Bu modelin temel bileşenleri bir “Outbox” tablosu ve bir “Publisher” servisidir. İşlem gerçekleştiğinde, mikroservis önce veritabanında bir işlem gerçekleştirir ve ardından aynı işlem içinde Outbox tablosuna bir mesaj yazar.

Devamı 


Her Servisin Gizli Hazinesi: Mikroservislerle Database Per Service Hikayesi

2023-05-26 | #database-per-service #microservice

Bilgisayarlar Diyarı’nın bir başka köşesinde, Mikroservisler Şehri’nde, her mikroservisin kendi veritabanına sahip olduğu farklı bir dünya vardı. Bu model, “Her Servis için Veritabanı” olarak adlandırılmıştı. Bu dünyada, her mikroservis kendi hazine sandığına, yani kendi veritabanına sahipti. Bu sandıklar, her bir mikroservisin ihtiyaç duyduğu verileri içerirdi ve sadece ilgili mikroservis tarafından erişilebilirdi. Tıpkı bir masal kahramanının kendi hazine sandığına sahip olması gibi, her mikroservis de kendi veritabanına sahipti. Bir gün, Sipariş Mikroservisi, yeni bir sipariş oluşturma görevi aldı.

Devamı 


Orkestra Şefinin Hikayesi: Mikroservislerle Orkestrasyon Temelli Saga

2023-05-26 | #microservice #orchestration-based-saga #saga-pattern

Bilgisayarlar Diyarı’nın bir başka köşesinde, Mikroservisler Şehri’nde, tüm mikroservislerin belirli bir senfoniye göre hareket ettiği başka bir dünya vardı. Bu dünyada, tüm mikroservisler tek bir orkestra şefi tarafından yönetilirdi ve bu yönetim modeline “Orkestrasyon Temelli Saga” adı verilmişti. Bu, büyük bir orkestradaki müzik performansına benzer. Tıpkı bir orkestra şefinin tüm müzisyenlere ne zaman hangi notaları çalacaklarını söylediği gibi, burada da Orkestra Şefi Mikroservisi, diğer tüm mikroservislerin ne zaman ve nasıl hareket edeceğini belirler.

Devamı 