Mikro hizmet mimarisini tasarlama

Mikro hizmetler, dayanıklı, verimli bir şekilde ölçeklendirilen, bağımsız olarak dağıtan ve hızla gelişen bulut uygulamaları oluşturmaya yönelik popüler bir mimari stildir. Gerçek değer sağlamak için mikro hizmetler, tasarım ve uygulama geliştirme için farklı bir yaklaşım gerektirir.

Bu makale kümesinde, Azure üzerinde bir mikro hizmet mimarisinin nasıl derlanacağı incelenmektedir. Aşağıdaki yönergeleri içerir:

  • Mikro hizmetler için işlem seçenekleri: Azure Kubernetes Service (AKS), Azure Container Apps, Azure İşlevleri, Azure App Service ve Azure Red Hat OpenShift gibi mikro hizmetler için Azure işlem platformlarını karşılaştırın. Her platformu hizmetler arası iletişim, bağımsız ölçeklendirme ve dağıtılabilirlik temelinde değerlendirin.

  • Hizmetler arası iletişim: Zaman uyumlu ve zaman uyumsuz yaklaşımları kullanarak mikro hizmetler arasında etkili iletişim desenleri tasarlar. Güvenilir hizmet-hizmet iletişimi için REST API'leri, mesajlaşma desenleri, olay odaklı mimariler ve hizmet ağı teknolojileri hakkında bilgi edinin.

  • API tasarımı: Mikro hizmet mimarisi ilkelerini destekleyen iyi tasarlanmış API'ler oluşturun. API sürüm oluşturma stratejilerini, hata işleme desenlerini ve gevşek bağlamayı ve bağımsız hizmet gelişimini teşvik eden API'lerin nasıl tasarlandığını öğrenin.

  • API ağ geçitleri: Kimlik doğrulaması, hız sınırlama ve istek yönlendirme gibi çapraz kesme sorunlarını yönetmek için API ağ geçitleri uygulayın. Ağ geçitlerinin istemci etkileşimlerini nasıl basitleştirip mikro hizmetler ekosisteminiz genelinde merkezi ilke uygulaması sağladığını anlayın.

  • Verilerle ilgili dikkat edilmesi gerekenler: Veri tutarlılığı desenleri, dağıtılmış işlemler ve uygun veri depolarını seçme dahil olmak üzere mikro hizmet mimarilerindeki veri yönetimi sorunlarını giderin. Hizmet sınırları genelinde veri bütünlüğünü korumaya yönelik stratejileri öğrenin.

  • Kapsayıcı düzenleme: Kapsayıcı düzenleyicilerini kullanarak kapsayıcılı mikro hizmetleri büyük ölçekte dağıtın ve yönetin. Kubernetes gibi platformların üretim ortamlarında istenen sistem durumunu korumak için dağıtım, ölçeklendirme, yük dengeleme ve sistem durumu yönetimini nasıl otomatikleştirdığını anlayın.

  • Tasarım desenleri: Dağıtılmış veri tutarlılığı için Saga deseni, hata yalıtımı için Bulkhead deseni ve artımlı uygulama yeniden düzenlemesi için Strangler Fig deseni gibi yaygın mikro hizmet zorluklarına kanıtlanmış tasarım desenleri uygulayın.

Önkoşullar

Bu makaleleri okumadan önce aşağıdaki kaynaklarla başlayın:

Örnek mimari

İnsansız hava aracı teslim iş yükünün mimarisini gösteren diyagram.

Bu mimarinin Visio dosyasını indirin.

Scenario

Fabrikam, Inc. bir insansız hava aracı teslimat hizmeti oluşturur. Şirket bir insansız hava aracı filosunu yönetiyor. İşletmeler hizmete kaydolabiliyor ve kullanıcılar teslim edilecek ürünleri almak üzere insansız hava aracı isteğinde bulunabiliyor. Müşteri teslim alma zamanladığında arka uç sistemi bir insansız hava aracı atar ve kullanıcıya tahmini teslimat süresini bildirir. Teslimat sırasında müşteri insansız hava aracının konumunu takip edebilir ve sürekli güncellenen tahmini varış zamanı (ETA) de buna dahildir.

Bu çözüm havacılık ve uçak endüstrileri için iyi çalışır.

Bu senaryo oldukça karmaşık bir etki alanı içerir. bazı iş kaygıları arasında insansız hava araçlarını zamanlama, paketleri izleme, kullanıcı hesaplarını yönetme ve geçmiş verileri depolama ve analiz etme yer alır. Fabrikam ayrıca pazara çıkmak ve ardından yeni işlevler ve özellikler eklemek için hızla yineleme yapmak istiyor. Uygulamanın yüksek hizmet düzeyi hedefiyle (SLO) bulut ölçeğinde çalışması gerekir. Fabrikam ayrıca sistemin farklı bölümlerinin veri depolama ve sorgulama için çok farklı gereksinimlere sahip olmasını bekler. Fabrikam, dikkat edilmesi gereken noktalara dayanarak insansız hava aracı teslim uygulaması için bir mikro hizmet mimarisi seçer.

Uyarı

Mikro hizmetler mimarisi ve diğer mimari stilleri arasında seçim yapma hakkında daha fazla bilgi için Azure Application mimari kılavuzu bakın.

Bu mimaride AKS ile Kubernetes kullanılır. Ancak üst düzey mimari kararların ve zorlukların çoğu herhangi bir kapsayıcı düzenleyicisi için geçerlidir.

Sonraki adım