Mikro hizmetler için tasarım desenleri

Mikro hizmetlerin amacı, uygulamayı bağımsız olarak dağıtılabilir küçük otonom hizmetlere dönüştürerek uygulama yayınlarının hızını artırmaktır. Mikro hizmet mimarisi bazı zorluklara da neden olur. Burada gösterilen tasarım desenleri, bu zorlukların hafifletimini sağlar.

Mikro hizmet tasarım desenleri

Büyükelçi; izleme, günlüğe kaydetme, yönlendirme ve güvenlik (TLS gibi) gibi yaygın istemci bağlantı görevlerini dilden bağımsız bir şekilde boşaltmak için kullanılabilir. Büyükelçi hizmetleri genellikle bir araba olarak dağıtılır (aşağıya bakın).

Bozulma önleyici katman, yeni uygulama tasarımının eski sistemlere bağımlılıklarla sınırlı olmadığını sağlamak için yeni ve eski uygulamalar arasında bir cephe oluşturur.

Ön Uçlar için arka uçlar, masaüstü ve mobil gibi farklı istemci türleri için ayrı arka uç hizmetleri oluşturur. Bu şekilde, tek bir arka uç hizmetinin çeşitli istemci türlerinin çakışan gereksinimlerini işlemesi gerekli değildir. Bu düzen, istemciye özgü endişeleri ayırarak her mikro hizmetin basit tutmaya yardımcı olabilir.

Bölme ucu, her iş yükü veya hizmet için bağlantı havuzu, bellek ve CPU gibi kritik kaynakları yalıtır. Bölme bölmelerini kullanarak, tek bir iş yükü (veya hizmet) tüm kaynakları tüketerek diğerlerini aç bırakarak tüketebilir. Bu düzen, bir hizmetin neden olduğu basamaklı hataları önleerek sistemin daha yüksek bir şekilde karşılarına çıkan bir sistemdir.

Ağ Geçidi Toplama, birden çok mikro hizmet için istekleri tek bir istekte toplar ve tüketiciler ile hizmetler arasındaki sohbeti azaltır.

Ağ Geçidi Boşaltma, her mikro hizmetin SSL sertifikalarının kullanımı gibi paylaşılan hizmet işlevlerini bir API ağ geçidine boşaltmasını sağlar.

Ağ Geçidi Yönlendirme, tüketicilerin çok sayıda ayrı uç noktayı yönetmesi gerekmey için istekleri tek bir uç nokta kullanarak birden çok mikro hizmetlere yönlendirmektedir.

Sidecar, bir uygulamanın yardımcı bileşenlerini ayrı bir kapsayıcı veya işlem olarak dağıtarak yalıtım ve kapsülleme sağlar.

Incrementalr Incremental, belirli işlev parçalarını kademeli olarak yeni hizmetlerle değiştirerek uygulamanın artımlı yeniden düzenlemesini destekler.

Buluttaki bulut tasarımı desenleri kataloğu Azure Mimari Merkezi bkz. Bulut Tasarımı Desenleri.