Ölçeğin genişletilebileceği şekilde tasarlama

Uygulamanızı yatay ölçeklendirmeye uygun tasarlayın

Bulutun birincil avantajlarından biri esnek ölçeklendirmedir; ihtiyacınız kadar kapasite kullanma, yük arttıkça ölçeği genişletme ve ek kapasite gerekmediğinde ölçeği daraltma. Uygulamanızı yatay olarak ölçeklendirilebilecek, gereksinimlere göre yeni örnekler eklenebilecek veya kaldırılabilecek şekilde tasarlayın.

Öneriler

Örnek sürekliliğinden kaçının. Süreklilik veya oturum benzeşimi, aynı istemciden isteklerin her zaman aynı sunucuya yönlendirilmesi durumudur. Süreklilik, uygulamanın ölçeği genişletme becerisini sınırlar. Örneğin, yüksek hacimli bir kullanıcıdan gelen trafik örnekler arasında dağıtılmaz. Sürekliliğin nedenleri arasında oturum durumunun bellekte depolanması ve şifreleme için makineye özel anahtarlar kullanılması vardır. Tüm örneklerin tüm istekleri işleyebildiğinden emin olun.

Performans sorunlarını belirleyin. Ölçeğin artırılması tüm performans sorunlarını çözen sihirli bir düzeltme değildir. Örneğin, arka uç veritabanınızın performans sorunu varsa, daha fazla web sunucusu eklemek size yardımcı olmayacaktır. Sorunu çözmek için daha fazla örnek atamadan önce sistemdeki performans sorunlarını belirleyin ve çözün. Performans sorunlarının en olası nedenleri sistemde durum bilgisi olan bölümlerdir.

İş yüklerini ölçeklenebilirlik gereksinimlerine göre ayırın. Uygulamalar genellikle ölçekleme için farklı gereksinimlere sahip birden çok iş yükünden oluşur. Örneğin, bir uygulamanın genel kullanıma yönelik sitesi ve ayrı bir yönetim sitesi olabilir. Yönetim sitesi daha küçük, daha tahmin edilebilir bir yüke sahipken genel site trafiğinde ani dalgalanmalarla karşılaşabilirsiniz.

Doğal olarak zaman uyumsuz görevleri boşalt. E-posta gönderme gibi görevler, kullanıcının hemen yanıta ihtiyaç duymadığı eylemler ve diğer sistemlerle tümleştirme, zaman uyumsuz mesajlaşma düzenlerini kullanmak için iyi yerlerdir.

Yoğun kaynak kullanan görevleri aktarın. Mümkünse, çok fazla CPU veya G/Ç kaynağı gerektiren görevler kullanıcı isteklerini işleyen ön uç yükünü en aza indirmek için arka plan işleri haline getirilmelidir.

Yerleşik otomatik ölçeklendirme özelliklerini kullanın. Pek çok Azure işlem hizmetinin otomatik ölçeklendirme için yerleşik desteği vardır. Uygulamanın öngörülebilir, normal bir iş yükü varsa, zamanlamaya göre ölçeğini belirleyin. Örneğin, iş saatlerinde ölçeğini artırın. İş yükü tahmin edilebilir değilse, otomatik ölçeklendirmeyi tetiklemek için CPU veya istek sırası uzunluğu gibi performans ölçümlerini kullanın. Otomatik ölçeklendirme konusunda en iyi yöntemler için bkz. Otomatik ölçeklendirme.

Kritik iş yükleri için agresif otomatik ölçeklendirmeyi göz önünde bulundurun. Kritik iş yükleri için taleplere bir an önce uyum sağlamak istersiniz. Ek trafiği işlemek için yoğun iş yüklerinde yeni örnekleri bir an önce eklemek ve ardından yavaş yavaş ölçeği azaltmak gerekir.

Ölçeğin daraltılmasına uygun tasarlayın. Esnek ölçeklendirme ile uygulamanın ölçeği daraltacağı dönemler olacağını, bu dönemlerde örneklerin kaldırılacağını unutmayın. Uygulamanın örnekleri kaldırma işlemini düzgün biçimde işlemesi gerekir. Ölçeği daraltma işlemleri için bazı yöntemler şunlardır:

  • Varsa kapatma olayları (varsa) dinlenir ve örnekler düzgün bir şekilde kapatılır.
  • İstemciler/hizmet tüketicileri, geçici hata işleme ve yeniden denemeyi desteklemelidir.
  • Uzun süre çalışan görevler için iş kontrol noktalarını veya Kanallar ve filtreler düzenini kullanarak işleri parçalara ayırmanız yararlı olabilir.
  • İş öğelerini kuyruğa alarak, işleme sırasında bir örnek kaldırıldığında başka örneklerin işe devam edebilmesini sağlayın.

Yedeklilik için ölçeklendirmeyi göz önünde bulundurun. Ölçeği genişletme, uygulamanızın güvenilirliğini artırabilir. Örneğin, alanlar arası yedekli hizmetler kullanmak gibi birden çok kullanılabilirlik alanında ölçeği genişletmeyi göz önünde bulundurun. Bu yaklaşım uygulamanızın aktarım hızını geliştirebilir ve bir bölgede kesinti yaşandığında dayanıklılık sağlayabilir.