Mikro hizmetler dayanıklı, yüksek oranda ölçeklenebilen, bağımsız bir şekilde dağıtılabilen ve hızla geliştirilebilen bulut uygulamaları oluşturmak için popüler bir mimari stil haline geldi. Bununla birlikte, mikro hizmetlerin moda bir sözcükten öteye gidebilmesi için uygulama tasarlama ve oluşturma konusunda farklı bir yaklaşım gerekir.
Bu makale dizisinde, Azure’da bir mikro hizmet mimarisi oluşturma işlemleri açıklanmıştır. Konu başlıkları şunlardır:
- Mikro hizmetler için işlem seçenekleri
- Hizmetler arası iletişim
- API tasarımı
- API ağ geçitleri
- Verilerle ilgili dikkat edilmesi gerekenler
- Tasarım desenleri
Önkoşullar
Bu makaleleri okumadan önce aşağıdakilerle başlamak isteyebilirsiniz:
- Mikro hizmet mimarilerine giriş. Mikro hizmetlerin avantajlarını ve güçlüklerini anlayın ve bu mimari stilinin ne zaman kullanılacağını öğrenin.
- Mikro hizmetleri modellemek için etki alanı analizi kullanma. Mikro hizmetleri modellemek için etki alanı odaklı bir yaklaşım öğrenin.
Başvuru uygulaması
En iyi mikro hizmet mimarisi yöntemlerinden bazılarını göstermek amacıyla İnsansız Hava Aracı ile Teslimat uygulaması adını verdiğimiz bir başvuru uygulaması oluşturduk. Bu uygulama Azure Kubernetes Service (AKS) kullanılarak Kubernetes üzerinde çalıştırılır. Başvuru uygulamasını GitHub’da bulabilirsiniz.
Bu mimarinin bir Visio dosyasını indirin.
Senaryo
Fabrikam, Inc. tarafından bir insansız hava aracı ile teslimat hizmeti başlatılıyor. Ş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. Bir müşteri teslim alma zamanladığında, arka uç sistemi bir insansız hava aracı ataması yapıyor ve kullanıcıya tahmini teslimat süresini bildiriyor. Müşteri, teslimat süresince insansız hava aracının konumunu izleyebiliyor ve tahmini varış zamanı sürekli güncelleştiriliyor.
Bu çözüm, havacılık ve uçak endüstrileri için idealdir.
Bu senaryoda nispeten karmaşık bir etki alanı kullanılıyor. İş açısından önemli konular arasında insansız hava araçlarını zamanlama, paketleri izleme, kullanıcı hesaplarını yönetme, geçmiş verileri depolama ve analiz etme yer alıyor. Üstelik, Fabrikam hızla pazara ulaşmak ve daha sonra hızlıca yineleyerek yeni işlev ve özellikler eklemek istiyor. Uygulamanın yüksek bir hizmet düzeyi hedefi (SLO) ile bulut ölçeğinde çalışması gerekiyor. Ayrıca Fabrikam, veri depolama ve sorgulama için sistemin farklı bölümlerinin çok farklı gereksinimlerinin olmasını bekliyor. Bu ölçütlerin tümünü değerlendiren Fabrikam, İnsansız Hava Aracı ile Teslimat uygulaması için bir mikro hizmet mimarisini tercih ediyor.
Not
Mikro hizmet mimarisi ile diğer mimari stilleri arasında seçim yapma konusunda yardım almak için bkz. Azure Uygulama Mimarisi Kılavuzu.
Başvuru uygulamamızda Azure Kubernetes Service ile Kubernetes kullanılmıştır. Ancak, üst düzey mimari kararların ve zorlukların çoğu tüm kapsayıcı düzenleyicileri için geçerli olacaktır.