Mikro hizmet mimarisi bağlamında "Mikro Hizmet Efsanesi" terimi, bir sistem içindeki birden fazla, gevşek bağlı hizmet arasında veri tutarlılığının korunmasını sağlayan dağıtılmış bir işlem modelini ifade eder. Saga modelinin temel amacı, bireysel mikro hizmetlerin kendi verilerinden sorumlu olduğu ve kendi veritabanlarına sahip olduğu mikro hizmet tabanlı bir sistemde işlemlerin yönetilmesinden kaynaklanan zorlukları ele almaktır. "Saga" terimi, ilk kez 1987 yılında Hector Garcia-Molina ve Kenneth Salem tarafından uzun ömürlü bir işlem içinde gerçekleştirilen bir dizi işlemi ifade etmek üzere tanıtıldığı veritabanı yönetim sistemleri alanından gelmektedir.
Mikro hizmet mimarisi, yazılım geliştirmede esnekliği, ölçeklenebilirliği ve dayanıklılığı artırma yeteneği sayesinde popülerlik kazandı. Ancak, herhangi bir yazılım mimarisi yaklaşımında olduğu gibi, bazı ödünler vardır. Mikro hizmet mimarisindeki dikkate değer zorluklardan biri, özellikle tek bir iş operasyonu birden fazla mikro hizmeti kapsadığında, hizmetler arasında veri tutarlılığını korumaktır. Bu sorun, her mikro hizmetin tipik olarak kendi veri deposuna sahip olması ve her hizmet için ayrı işlem sınırlarının ortaya çıkmasıyla daha da yoğunlaşmaktadır.
Bu zorluğun üstesinden gelmek için Microservices Saga modeli, her bir işlemin tek bir mikro hizmete ait olduğu bir dizi yerel işlemi birleştiren bir çözüm önermektedir. Bu işlemler, iki aşamalı taahhüt protokollerine dayanan geleneksel dağıtılmış işlemlerin yerine, mesajlar veya olaylar aracılığıyla eşzamansız bir şekilde koordine edilir. Saga modelinde, her yerel işlemin ardından, dizideki bir sonraki yerel işlemi tetikleyen veya başarısızlık durumunda telafi edici işlemi tetikleyen bir olay gelir. Telafi edici işlemler, bir sorun oluştuğunda hizmetler genelinde veri tutarlılığını korumak amacıyla önceki yerel işlemlerde yapılan değişiklikleri geri almayı amaçlayan "geri alma" işlemleridir.
Bir Mikro Hizmetler Efsanesi iki ana model kullanılarak uygulanabilir: koreografi ve orkestrasyon. Koreografide her mikro hizmet, hangi olaylara tepki vermesi gerektiğini ve yanıt olarak hangi eylemleri gerçekleştirmesi gerektiğini anlamaktan sorumludur. Yerel bir işlem tamamlandığında, mikro hizmet bir olay yayınlar ve diğer mikro hizmetler bu olayı dinleyerek buna göre hareket eder. Bu yaklaşımın temel avantajı, merkezi olmayan kontrolü teşvik etmesi ve çok az merkezi koordinasyon gerektirmesi veya hiç gerektirmemesidir.
Düzenleme düzeninde, orkestratör adı verilen merkezi bir bileşen, mikro hizmetler destanındaki yerel işlemlerin yürütülmesini koordine etmekten sorumludur. Orkestratör, bireysel hizmetlerden olayları alır ve yerel işlemlerini yürütmek için hizmetlere komutlar gönderir. Bu merkezi yaklaşım, etkin istisna yönetimine olanak tanır ve genel destan sürecinin görünürlüğünü artırır. Ancak potansiyel darboğazlara neden olabilir ve ek altyapı ve bakım çalışmaları gerektirebilir.
Güçlü no-code platform AppMaster, Microservices Saga kalıplarının uygulanması, tamamen etkileşimli öğelerle arka uç, mobil ve web uygulamaları oluşturmaya olanak tanıyan görsel İş Süreçleri (BP) Tasarımcısı aracılığıyla daha kolay hale getirildi. Platform, her proje için mikro hizmet mimarisine kusursuz bir şekilde uyum sağlayan kaynak kodu, testler, geçiş komut dosyaları ve daha fazlasını oluşturarak veri tutarlılığını ve dağıtılmış işlemlerin verimli bir şekilde yürütülmesini sağlar. Ayrıca AppMaster yaklaşımı, uygulamaları her değişiklikte yeniden oluşturarak teknik borcu ortadan kaldırır ve tek vatandaş geliştiricilerin bile kapsamlı yazılım çözümlerini verimli ve etkili bir şekilde oluşturmasına olanak tanır.
Örnek olarak envanter, ödeme ve gönderim için ayrı hizmetler sunan bir e-ticaret platformunu düşünün. Bir sipariş verildiğinde, envanter hizmetinden stok ayırmayı, ödeme hizmeti aracılığıyla müşteriden ödeme almayı ve nakliye hizmeti aracılığıyla bir gönderi oluşturmayı içeren bir Mikro Hizmetler Efsanesi başlatılır. Bu adımlardan herhangi biri başarısız olursa, daha önce başarılı olan işlemleri geri almak için telafi edici işlemler yürütülür ve sistem genelinde veri tutarlılığı sağlanır. Bu e-ticaret platformu, Mikro Hizmetler Efsanesi modelini uygulayarak, mikro hizmet mimarisi içerisinde güvenilir işlem yönetimi sağlayabilir ve sonuç olarak esnekliği ve kolaylaştırılmış operasyonları teşvik edebilir.
Sonuç olarak, Mikro Hizmetler Efsanesi, mikro hizmet tabanlı sistemlerde veri tutarlılığını sürdürme zorluklarını ele alan dağıtılmış bir işlem modelidir. Eşzamansız mesajlaşma veya etkinlikler aracılığıyla birden fazla hizmet genelinde bir dizi yerel işlemin koordine edilmesini sağlayarak geleneksel dağıtılmış işlemlerin yerini alır ve daha esnek, ölçeklenebilir ve dayanıklı bir yazılım mimarisi sağlar. Microservices Saga modellerinin AppMaster no-code platformuyla uygulanması, teknik borç yükü olmaksızın daha hızlı, uygun maliyetli uygulama geliştirme olanağı sağlar ve geliştiricilere modern yazılım mimarisi uygulamalarına uygun kapsamlı yazılım çözümleri oluşturma gücü verir.