Serverless App Engine (SAE) içindeki mikroservis uygulamaları için, ani trafik artışları gibi trafik değişikliklerine yanıt olarak uygulama örneklerini otomatik olarak ölçeklendirmek üzere otomatik ölçeklendirme ilkeleri ekleyebilirsiniz.
Genel Bakış
SAE aşağıdaki ölçeklendirme yöntemlerini destekler:
Manuel ölçeklendirme: Beklenmeyen trafik artışları gibi acil ölçeklendirme ihtiyaçları için manuel ölçeklendirmeyi kullanın.
Otomatik ölçeklendirme: Bir otomatik ölçeklendirme ilkesi yapılandırarak, periyodik trafik değişiklikleri gibi acil olmayan ölçeklendirme ihtiyaçları için otomatik ölçeklendirmeyi kullanın. SAE zamanlanmış, ölçüm tabanlı ve hibrit otomatik ölçeklendirme ilkelerini destekler.
Kullanım senaryoları
SAE üç tür otomatik ölçeklendirme ilkesini destekler:
Zamanlanmış otomatik ölçeklendirme ilkesi: Öngörülebilir, periyodik kaynak kullanım desenlerine sahip uygulamalar için uygundur. Bu durum finans, sağlık, devlet ve eğitim gibi sektörlerde yaygındır.
Ölçüm tabanlı otomatik ölçeklendirme ilkesi: Ani trafik yüklemesi veya periyodik trafik dalgalanmaları yaşayan uygulamalar için uygundur. Bu durum internet hizmetleri, oyun ve sosyal medya gibi sektörlerde yaygındır.
Hibrit otomatik ölçeklendirme ilkesi: Hem periyodik kaynak talebi dalgalanmalarını hem de ani trafik yüklemelerini işleyen uygulamalar için uygundur. Bu durum internet hizmetleri, eğitim ve gıda hizmetleri gibi sektörlerde yaygındır.
Dikkat edilmesi gerekenler
En fazla beş zamanlanmış otomatik ölçeklendirme ilkesi, bir ölçüm tabanlı otomatik ölçeklendirme ilkesi veya bir hibrit otomatik ölçeklendirme ilkesi oluşturabilirsiniz. Bu üç ilke türünü aynı anda kullanamazsınız.
Bir otomatik ölçeklendirme ilkesi etkinleştirildiğinde, uygulamanın ölçeklendirilmesi, dağıtılması, teknik özelliklerinin değiştirilmesi, yeniden başlatılması veya durdurulması gibi manuel uygulama yaşam döngüsü işlemlerini yapmayın. Bu işlemleri gerçekleştirmek için öncelikle otomatik ölçeklendirme ilkesini devre dışı bırakın.
Bir uygulama şu anda yatay ölçekleme, yatay küçültme, dağıtım (tek partili, aşamalı veya kademeli sürüm), teknik özellik değişikliği, yeniden başlatma veya durdurma işlemi yapıyorsa, bir otomatik ölçeklendirme ilkesi eklemeden veya etkinleştirmeden önce işlemin tamamlanmasını beklemeniz gerekir.
Tek bir uygulama için maksimum örnek sayısı 50'dir. Bu kotayı artırmak için DingTalk grubuna katılın (Kimlik: 32874633) ve izin listesine eklenmek için başvurun.
Ön Koşullar
Yordam
SAE uygulama listesinde, üst kısımdan hedef bölgeyi ve ad alanını seçin, ardından hedef Application ID öğesine tıklayın.
Hedef uygulamanın Basic Information sayfasında Auto Scaling sekmesine tıklayın. Auto Scaling bölümünde Create Auto Scaling Policy seçeneğine tıklayın.
Otomatik ölçeklendirme ilkesi yapılandırma
Zamanlanmış ilke
-
Create Auto Scaling Policy panelinde aşağıdaki parametreleri yapılandırın ve ardından Next: Preview Scheduled Auto Scaling Policy seçeneğine tıklayın.
Parametre
Açıklama
Örnek
İlke Türü
Zamanlanmış otomatik ölçeklendirme ilkesi seçeneğini belirleyin.
Zamanlanmış otomatik ölçeklendirme ilkesi
İlke Adı
İlke için özel bir ad girin.
demo
Zaman Aralığı
İlkenin kısa vadeli mi yoksa uzun vadeli mi olduğunu belirtin:
-
Kısa vadeli: Bir başlangıç zamanı ve bitiş zamanı belirtin.
-
Uzun vadeli: İlke süresiz olarak etkin kalır.
Uzun vadeli
Tekrarlama
Ölçeklendirme eyleminin ne sıklıkla tekrarlanacağını belirtir. Seçenekler Günlük, Haftalık veya Aylık'tır.
Günlük
Günlük Tetikleyici Zamanlaması
Tetikleyici Zamanı: Ölçeklendirme eyleminin gerçekleştiği günün saati.
Hedef Örnek Sayısı: Ölçeklendirme eylemi tetiklendikten sonra korunacak örnek sayısı.
Tetikleyici zamanı: 08:00 ve 20:00
Hedef örnek sayısı: 10 ve 3
-
Preview Scheduled Auto Scaling Policy sayfasında belirli zaman aralıkları için öngörülen örnek sayısını inceleyin ve ardından Confirm seçeneğine tıklayın.
Zamanlanmış otomatik ölçeklendirme ilkesini ekledikten sonra ilkeyi etkinleştirin.
Ölçüm tabanlı ilke
-
Create Auto Scaling Policy panelinde aşağıdaki parametreleri yapılandırın ve ardından Confirm seçeneğine tıklayın.
Parametre
Açıklama
Örnek
İlke Türü
Ölçüm tabanlı otomatik ölçeklendirme ilkesi seçeneğini belirleyin.
Ölçüm tabanlı otomatik ölçeklendirme ilkesi
İlke Adı
İlke için özel bir ad girin.
demo
Tetikleyici Koşulları
Bir ölçüm türü seçin:
-
CPU kullanımı
-
Bellek kullanımı
-
TCP aktif bağlantıları
-
Toplam TCP bağlantıları
-
Uygulama QPS
-
Uygulama yanıt süresi (RT)
-
İnternet facing CLB QPS
-
İnternet facing CLB yanıt süresi
-
Internal-facing CLB QPS
-
Internal-facing CLB yanıt süresi
Not-
Ölçümlerin nasıl toplandığı hakkında bilgi için konsoldaki açıklamalara bakın.
-
Birden çok ölçüm türü ayarlayabilirsiniz.
CPU kullanımı
Belirtilen ölçüm bu değere ulaştığında bir ölçeklendirme eylemi tetiklenir.
%70
Örnek Sayısı
Minimum application instances, Maximum application instances ve minimum available instances değerlerini ayarlayın.
NotMinimum available instances, rolling update sırasında kullanılabilir durumda kalan minimum örnek sayısını belirtir. Bu değeri sayıya göre veya orana göre ayarlayabilirsiniz.
-
Minimum application instances: 6
-
Maximum application instances: 50
-
Minimum available instances: Sayıya göre 3 olarak ayarlandı.
Gelişmiş Ayarlar
(İsteğe bağlı) Gerekirse aşağıdaki parametreleri yapılandırın:
-
Scale-out step size: Tek bir ölçeklendirme eyleminde eklenebilecek maksimum örnek sayısı.
-
Scale-in step size: Tek bir ölçeklendirme eyleminde kaldırılabilecek maksimum örnek sayısı.
-
Scale-out stabilization window: Yatay ölçekleme sırasında hızlı dalgalanmaları önlemek için algoritma, bir ölçeklendirme kararı vermek üzere bu zaman penceresi üzerinde hesaplanan minimum gerekli örnek sayısını kullanır.
-
Scale-in stabilization window: Yatay küçültme sırasında hızlı dalgalanmaları önlemek için algoritma, bir ölçeklendirme kararı vermek üzere bu zaman penceresi üzerinde hesaplanan maksimum gerekli örnek sayısını kullanır.
-
Disable scale-in: Etkinleştirilirse uygulama asla yatay küçültme yapmaz. Bu seçenek, trafik zirveleri sırasında yatay küçültmeden kaynaklanan hizmet kesintilerini önleyebilir. Bu seçenek varsayılan olarak devre dışıdır.
Gelişmiş otomatik ölçeklendirme parametreleri için en iyi uygulamalar konusuna bakın.
-
Ölçüm tabanlı otomatik ölçeklendirme ilkesini ekledikten sonra ilkeyi etkinleştirin.
Hibrit ilke
Bir hibrit otomatik ölçeklendirme ilkesi, bir zamanlanmış otomatik ölçeklendirme ilkesi ile bir ölçüm tabanlı otomatik ölçeklendirme ilkesini birleştirir.
-
Policy Type için Hybrid auto scaling policy seçeneğini belirleyin ve özel bir Policy Name girin.
Metric Settings öğesini yapılandırın. Ayrıntılar için bir ölçüm tabanlı otomatik ölçeklendirme ilkesi parametrelerine bakın.
-
(İsteğe bağlı) Advanced Settings seçeneğine tıklayın ve gerekirse aşağıdaki parametreleri yapılandırın.
Parametre
Açıklama
Örnek
Scale-out step size
Tek bir ölçeklendirme eyleminde eklenebilecek maksimum örnek sayısı.
3
Scale-in step size
Tek bir ölçeklendirme eyleminde kaldırılabilecek maksimum örnek sayısı.
2
Scale-out stabilization window
Yatay ölçekleme sırasında hızlı dalgalanmaları önlemek için algoritma, bir ölçeklendirme kararı vermek üzere bu zaman penceresi üzerinde hesaplanan minimum gerekli örnek sayısını kullanır.
300 saniye
Scale-in stabilization window
Yatay küçültme sırasında hızlı dalgalanmaları önlemek için algoritma, bir ölçeklendirme kararı vermek üzere bu zaman penceresi üzerinde hesaplanan maksimum gerekli örnek sayısını kullanır.
300 saniye
Disable scale-in
Etkinleştirilirse uygulama asla yatay küçültme yapmaz. Bu seçenek, trafik zirveleri sırasında yatay küçültmeden kaynaklanan hizmet kesintilerini önleyebilir. Bu seçenek varsayılan olarak devre dışıdır.
Etkin Special Time Period Settings öğesini yapılandırın. Ayrıntılar için bir zamanlanmış otomatik ölçeklendirme ilkesi parametrelerine bakın.
Preview Scheduled Auto Scaling Policy sihirbazında belirli zaman aralıkları için öngörülen örnek sayısını inceleyin ve ardından Confirm seçeneğine tıklayın.
Hibrit otomatik ölçeklendirme ilkesini ekledikten sonra ilkeyi etkinleştirin.
İlkeyi doğrulama
Aşağıdaki yöntemlerden birini kullanarak otomatik ölçeklendirme ilkesinin etkili olduğunu doğrulayın:
Örnek sayısını doğrulama
Hedef uygulamanın Basic Information sayfasına gidin ve Auto Scaling sekmesine tıklayın. Örnek sayısının otomatik ölçeklendirme ilkesinde belirtilen sayıyla eşleşip eşleşmediğini kontrol edin. Eşleşiyorsa ilke etkilidir.
Sayfanın üst kısmındaki Instance Count Trend with Scaling Metrics grafiği, mevcut uygulama örnek sayısı ve CPU kullanımı gibi ölçümler için değişim eğrilerini gösterir. Mavi alan yatay ölçekleme aralığını, sarı alan ise yatay küçültme aralığını gösterir. Aşağıdaki Hybrid Auto Scaling Policy List tablosu, her bir ilke için Metric Target Value, Maximum application instances ve Minimum application instances gibi yapılandırma ayrıntılarını gösterir. Mevcut örnek sayısını ilke ayarlarıyla karşılaştırmak için bu bilgileri kullanabilirsiniz.
Stres testi gerçekleştirme
-
Uygulama için bir genel uç nokta ekleyin.
SAE konsolunda oturum açın. Basic Information sayfasında, Application Access Settings bölümünde Add Internet-facing CLB Access seçeneğine tıklayın.
-
Add Internet-facing CLB Access panelinde Create CLB (Pay-by-Specification) seçeneğini belirleyin, HTTP Port ve Container Port değerlerini ayarlayın ve ardından OK seçeneğine tıklayın.
Bu örnekte HTTP Port değeri
80ve Container Port değeri3210olarak ayarlanmıştır. -
Uç nokta eklendikten sonra public endpoint adresini kopyalayın.
Public Endpoint öğesinin sağ tarafında oluşturulan adresi (örneğin
101.xxx:80) ve protokol türü HTTP görebilirsiniz.
-
Uygulamada bir stres testi gerçekleştirin.
Performance Testing Service (PTS) konsolunda oturum açın. Genel bakış sayfasında uç nokta adresini
http://<Genel Uç Nokta Adresi>biçiminde girin ve ardından Test seçeneğine tıklayın.-
Test Settings panelinde Requests Per Second (RPS) için bir sayı girin. Ardından The test is permitted and complies with the applicable laws and regulations onay kutusunu işaretleyin ve Start seçeneğine tıklayın.
Bu örnekte Total Duration değeri
10dakika ve Requests Per Second (RPS) değeri1000olarak ayarlanmıştır.
-
SAE konsoluna dönün. Hedef uygulamanın Basic Information sayfasında Instance List sekmesine gidin. Uygulama örneklerinin sayısının arttığını kontrol edin. Başarılı bir yatay ölçekleme, ilkenin etkili olduğunu doğrular.
NotStres testi tamamlandıktan sonra örnek sayısı otomatik olarak azalır. Bu işlem biraz zaman alabilir.
Ölçeklendirme olaylarını görüntüleme
Hedef uygulamanın Application Events sayfasına gidin. Source Type öğesine göre filtreleme yapın ve kaynak türünü HorizontalPodAutoscaler olarak ayarlayarak ölçeklendirme olaylarını görüntüleyin.
Filtrelemeden sonra olay listesi ölçeklendirmeyle ilgili olayları gösterir. Seviyesi Normal ve nedeni SuccessfulRescale olan bir olay, başarılı bir ölçeklendirme eylemini gösterir. Ölçeklendirme sonucunu (örneğin New size: 5) ve tetikleyici nedeni (örneğin harici ölçüm slb_incall_qps hedef eşiğini aştı) görüntülemek için olay ayrıntılarını genişletebilirsiniz.
Diğer işlemler
Hedef uygulamanın Basic Information sayfasında Auto Scaling sekmesine tıklayın.
Auto Scaling sekmesinin Auto Scaling bölümünde hedef ilkeyi bulun. Actions sütununda ilkeyi Enable, Disable, Edit veya Delete edebilir ya da ilke tarafından tetiklenen Events öğesini görüntüleyebilirsiniz.