Ağ Geçidi Yönlendirme düzeni

Azure Application Gateway

Tek bir uç nokta kullanarak istekleri birden çok hizmete veya birden çok hizmet örneğine yönlendirin. Desen, aşağıdakileri yapmak istediğinizde kullanışlıdır:

  • Tek bir uç noktada birden çok hizmeti kullanıma sunma ve isteğe bağlı olarak uygun hizmete yönlendirme
  • Yük dengeleme veya kullanılabilirlik amacıyla aynı hizmetin birden çok örneğini tek bir uç noktada kullanıma sunma
  • Aynı hizmetin farklı sürümlerini tek bir uç noktada kullanıma sunma ve trafiği farklı sürümler arasında yönlendirme

Bağlam ve sorun

bir istemcinin birden çok hizmet, birden çok hizmet örneği veya bunların bir bileşimini tüketmesi gerektiğinde, hizmetler eklendiğinde veya kaldırıldığında istemci güncelleştirilmelidir. Aşağıdaki senaryoları göz önünde bulundurun.

  • Birden çok farklı hizmet - Bir e-ticaret uygulaması arama, incelemeler, sepet, ödeme ve sipariş geçmişi gibi hizmetler sağlayabilir. Her hizmet için istemcinin etkileşim kurması gereken farklı bir API vardır ve istemcinin hizmetlere bağlanabilmesi için her uç nokta hakkında bilgi sahibi olması gerekir. Bir API değişirse istemcinin de güncelleştirilmesi gerekir. Bir hizmeti iki veya daha fazla ayrı hizmet olarak yeniden düzenlerseniz kod hem hizmette hem de istemcide değiştirilmelidir.
  • Aynı hizmetin birden çok örneği - Sistem, aynı veya farklı bölgelerde aynı hizmetin birden çok örneğini çalıştırmayı gerektirebilir. Birden çok örneği çalıştırmak yük dengeleme amacıyla veya kullanılabilirlik gereksinimlerini karşılamak için yapılabilir. Bir örnek taleple eşleşecek şekilde her yukarı veya aşağı geldiğinde istemcinin güncelleştirilmiş olması gerekir.
  • Aynı hizmetin birden çok sürümü - Dağıtım stratejisinin bir parçası olarak, bir hizmetin yeni sürümleri mevcut sürümlerin yanı sıra dağıtılabilir. Bu, mavi yeşil dağıtımlar olarak bilinir. Bu senaryolarda, yeni sürüme ve mevcut uç noktaya yönlendirilen trafik yüzdesinde her değişiklik olduğunda istemci güncelleştirilmelidir.

Çözüm

Bir uygulama, hizmet ve dağıtım kümesinin önüne bir ağ geçidi yerleştirin. Uygulama Katman 7 yönlendirmeyi kullanarak isteği uygun örneklere yönlendirin.

Bu düzende istemci uygulamasının yalnızca tek bir uç nokta hakkında bilgi edinmesi ve tek bir uç noktayla iletişim kurması gerekir. Aşağıda, Ağ Geçidi Yönlendirme düzeninin bağlam ve sorun bölümünde özetlenen üç senaryoyu nasıl ele alınıyor olduğu gösterilmektedir.

Birden çok farklı hizmet

Arama hizmetinin, ödeme hizmetinin, sipariş geçmişi hizmetinin, sepet hizmetinin ve inceleme hizmetinin önünde duran ağ geçidinin diyagramı.

Ağ geçidi yönlendirme düzeni, bir istemcinin birden çok hizmet tükettiği bu senaryoda kullanışlıdır. Bir hizmet birleştirilmiş, ayrıştırılmış veya değiştirilmişse, istemcinin güncelleştirilmesi gerekmez. Ağ geçidine istek göndermeye devam edebilir ve yalnızca yönlendirme değişir.

Ağ geçidi ayrıca arka uç hizmetlerini istemcilerden soyutlamanıza imkan sağlayarak ağ geçidinin arkasındaki arka uç hizmetlerinde değişiklik yapabilmenize rağmen istemci çağrılarının basit kalmasını sağlamanıza olanak tanır. İstemci çağrıları beklenen istemci davranışı için gerekli hizmete veya hizmetlere yönlendirilebilir ve istemciyi değiştirmek zorunda kalmadan ağ geçidinin arkasına hizmet ekleyebilir ya da buradaki hizmetleri bölüp yeniden düzenleyebilirsiniz.

Aynı hizmetin birden çok örneği

Bölge 1'deki bir arama hizmetinin ve 2. bölgedeki bir arama hizmetinin önünde duran ağ geçidinin diyagramı.

Esneklik, bulut bilişimde önemlidir. Hizmetler artan talebi karşılamak için artırılabilir veya talep tasarruf etmek için düşük olduğunda azaltılabilir. Hizmet örneklerini kaydetme ve kaydını kaldırmanın karmaşıklığı ağ geçidinde kapsüllenmiş durumdadır. İstemci, hizmet sayısındaki artışın veya düşüşlerin farkında değil.

Hizmet örnekleri tek veya birden çok bölgede dağıtılabilir. Coğrafi bölge düzeni, çok bölgeli, etkin-etkin bir dağıtımın gecikme süresini nasıl artırabileceğini ve bir hizmetin kullanılabilirliğini nasıl artırabileceğini açıklar.

Aynı hizmetin birden çok sürümü

Arama hizmeti sürüm 1 ve arama hizmeti sürüm 1.1'in önünde duran ağ geçidinin diyagramı.

Bu düzen, güncelleştirmelerin kullanıcılara dağıtılma şeklini yönetmenize olanak tanıyarak dağıtımlar için kullanılabilir. Hizmetinizin yeni bir sürümü dağıtıldığında, mevcut sürüm ile paralel olarak dağıtılabilir. Yönlendirme, hizmetin hangi sürümünün istemcilere sunulduğunu denetlemenize olanak tanıyarak artımlı, paralel veya eksiksiz güncelleştirme dağıtımları gibi çeşitli sürüm stratejilerini kullanma esnekliği sağlar. Yeni hizmet dağıtıldıktan sonra bulunan herhangi bir sorun, istemcileri etkilemeden ağ geçidinde hızlı bir yapılandırma değişikliği yapılarak geri alınabilir.

Sorunlar ve dikkat edilmesi gerekenler

  • Ağ geçidi hizmeti tek bir hata noktasına neden olabilir. Kullanılabilirlik gereksinimlerinizi karşılayacak şekilde düzgün tasarlandığından emin olun. Uygulamadaki dayanıklılık ve hataya dayanıklılık özelliklerini göz önünde bulundurun.
  • Ağ geçidi hizmeti bir performans sorununa neden olabilir. Ağ geçidinin yükü işlemek için yeterli performans kapasitesine sahip olduğundan ve büyüme beklentilerinize uygun olarak kolayca ölçeklendirilebileceğinden emin olun.
  • Hizmetler için zincirleme bir şekilde yayılan hatalara yol açmadığınızdan emin olmak için ağ geçidinde yük testi gerçekleştirin.
  • Ağ geçidi yönlendirme 7. düzeydedir. IP, bağlantı noktası, üst bilgi veya URL’yi temel alabilir.
  • Ağ geçidi hizmetleri genel veya bölgesel olabilir. Azure Front Door küresel bir ağ geçidiyken Azure Uygulaması lication Gateway bölgeseldir. Çözümünüz çok bölgeli hizmet dağıtımları gerektiriyorsa genel ağ geçidi kullanın. Trafiğin nasıl dengelendiğini ayrıntılı olarak denetlemeyi gerektiren bölgesel bir iş yükünüz varsa Application Gateway'i kullanmayı göz önünde bulundurun. Örneğin, sanal makineler arasındaki trafiği dengelemek istiyorsunuz.
  • Ağ geçidi hizmeti, önünde yer alan hizmetler için genel uç noktadır. Hizmetleri yalnızca ağ geçidi veya özel bir sanal ağ üzerinden erişilebilir hale getirerek arka uç hizmetlerine genel ağ erişimini sınırlamayı göz önünde bulundurun.

Bu düzenin kullanılacağı durumlar

Bu düzeni aşağıdaki durumlarda kullanın:

  • Bir istemcinin bir ağ geçidi arkasında erişilebilir olan birden çok hizmeti kullanmasını gerektiren durumlar.
  • Tek bir uç nokta kullanarak istemci uygulamalarını basitleştirmek istiyorsunuz.
  • Dışarıya dönük uç noktalardan gelen istekleri iç sanal uç noktalarına yönlendirmenizi (örneğin, bir VM’deki bağlantı noktalarının küme sanal IP adreslerine sunulması) gerektiren durumlar.
  • İstemcinin gecikme süresi veya kullanılabilirlik avantajları için birden çok bölgede çalışan hizmetleri tüketmesi gerekir.
  • İstemcinin değişken sayıda hizmet örneği tüketmesi gerekir.
  • İstemcilerin hizmetin birden çok sürümüne aynı anda eriştiği bir dağıtım stratejisi uygulamak istiyorsunuz.

Yalnızca birkaç hizmet kullanan basit bir uygulamanız varsa bu düzen uygun olmayabilir.

İş yükü tasarımı

Bir mimar, Azure İyi Tasarlanmış Çerçeve yapılarında ele alınan hedefleri ve ilkeleri ele almak için ağ geçidi yönlendirme düzeninin iş yükünün tasarımında nasıl kullanılabileceğini değerlendirmelidir. Örneğin:

Yapı Taşı Bu desen sütun hedeflerini nasıl destekler?
Güvenilirlik tasarımı kararları, iş yükünüzün arızaya karşı dayanıklı olmasına ve bir hata oluştuktan sonra tamamen çalışır duruma gelmesini sağlamaya yardımcı olur. Ağ geçidi yönlendirmesi, trafiği yalnızca sisteminizdeki iyi durumdaki düğümlere yönlendirmenizi sağlar.

- RE:05 Yedeklilik
- RE:10 Sistem durumu izleme
Operasyonel Mükemmellik, standartlaştırılmış süreçler ve ekip uyumu aracılığıyla iş yükü kalitesinin sunulmasına yardımcı olur. Ağ geçidi yönlendirmesi, arka uçlardan gelen istekleri ayırmanıza olanak tanır ve bu sayede arka uçlarınızın gelişmiş dağıtım modellerini, platform geçişlerini ve aktarımdaki etki alanı adı çözümlemesi ve şifreleme için tek bir yönetim noktasını desteklemesini sağlar.

- OE:04 Araçlar ve işlemler
- OE:11 Kasa dağıtım uygulamaları
Performans Verimliliği , ölçeklendirme, veri ve kod iyileştirmeleri aracılığıyla iş yükünüzün talepleri verimli bir şekilde karşılamasını sağlar. Ağ geçidi yönlendirmesi, yükü dengelemek için trafiği sisteminizdeki düğümler arasında dağıtmanıza olanak tanır.

- PE:05 Ölçeklendirme ve bölümleme

Herhangi bir tasarım kararında olduğu gibi, bu desenle ortaya konulabilecek diğer sütunların hedeflerine karşı herhangi bir dengeyi göz önünde bulundurun.

Örnek

Yönlendirici olarak Nginx kullanılan aşağıdaki dosya, farklı sanal dizinlerde bulunan uygulamalara yönelik istekleri arka uçtaki farklı makinelere yönlendiren bir sunucu için basit bir örnek yapılandırma dosyasıdır.

server {
    listen 80;
    server_name domain.com;

    location /app1 {
        proxy_pass http://10.0.3.10:80;
    }

    location /app2 {
        proxy_pass http://10.0.3.20:80;
    }

    location /app3 {
        proxy_pass http://10.0.3.30:80;
    }
}

Ağ geçidi yönlendirme desenini uygulamak için aşağıdaki Azure hizmetleri kullanılabilir: