Tüm sunucular down olursa kullanıcılar ne görür; yerine özel bir sayfa gösterebilir miyim?
Kısa cevap
HTTP vService'te kullanıcılar TR7'nin 503 hata sayfasını görür; L7 TCP vService'te bağlantı TR7 tarafından kapatılır, Network vService'te bağlantı kurulamaz. HTTP vService'te bu sayfanın yerine Show Content for Traffic Manager Errors aksiyonuyla özel bir içerik sayfası gösterilir, Redirect for Traffic Manager Errors ile başka bir adrese yönlendirilir ya da Number of Active Servers koşulu (= 0) ile çalışan bir Show Content aksiyonuyla sağlıklı sunucu kalmadığında bakım sayfası doğrudan döndürülür. HTTP ve L7 TCP vService'lerde statik bir sayfa sunan sunucu Backup Service olarak da eklenebilir.
Sorun: Bütün Sunucular Düştüğünde Kullanıcılar Teknik Bir Hata Görüyor
Bakım çalışması, planlı kesinti ya da beklenmeyen bir arıza sırasında vService'in bütün Kurum Servisleri kullanılamaz olabilir (ör. hepsi health check'te Error ya da Maintenance Mode'da). HTTP vService bu durumda TR7'nin genel 503 sayfasını döner; kullanıcıların bunun yerine bilgilendirici, kuruma ait bir sayfa görmesi ya da başka bir adrese yönlendirilmesi istenir. Bu yöntemlerin çalışması için Kurum Servislerine Health Check atanmış olmalıdır; health check atanmamış sunucu kapalı olsa da kullanılabilir sayılır.
Çözüm: 4 Yöntem
Yöntem 1, 2 ve 3 HTTP vService'te aksiyonla çalışır; Yöntem 4 sayfayı ayrı bir sunucunun sunmasıdır.
| Durumunuz | Uygun yöntem |
|---|---|
| HTTP vService; TR7'nin 503 sayfası yerine kendi sayfam gösterilsin | Yöntem 1: Show Content for Traffic Manager Errors |
| HTTP vService; sağlıklı sunucu sayısına göre karar verilsin (ör. hiç kalmadığında ya da 2'nin altına düştüğünde) | Yöntem 2: Number of Active Servers koşulu |
| HTTP vService; kullanıcı başka bir adrese gönderilsin | Yöntem 3: Redirect for Traffic Manager Errors |
| HTTP ya da L7 TCP vService; sayfayı ayrı bir sunucu göstersin | Yöntem 4: Backup service |
Yöntem 1: Show Content for Traffic Manager Errors Önerilen
- Nasıl çalışır TR7 kendi ürettiği hata yanıtlarında (ör. hiçbir sunucu kullanılamadığında 503) genel sayfa yerine seçilen içerik sayfasını, seçilen durum koduyla döner.
- Nerede açılırLoad Balancer → Profiles → Content Pages · Load Balancer → Actions · vService → Details → Actions
- Gereksinim HTTP vService; sayfa boyutunun vService tampon sınırının altında olması (Content Pages · Content)
- vService tipi HTTP
Adım adım yapılandırma
Sol alttaki TR7 logosuyla Configuration Menu açılır; Load Balancer → Profiles → Content Pages yolu izlenip Add'e tıklanır (Nasıl eklenir?).
Content Page Name girilir; içerik yazılır ya da hazır sayfa şablonlarından biri seçilir. Sayfa, vService tamponunun (Buffer size − 2 KB; varsayılan 128 KB tamponla yaklaşık 126 KB) altında tutulur.
Add butonuna tıklanır.
Load Balancer → Actions yolu izlenip Add'e tıklanır.
Action Name girilir, Action Type alanında Show Content for Traffic Manager Errors seçilir. Content Page alanında hazırlanan sayfa seçilir, Error Codes alanına 503 (gerekirse 502 ve 504) eklenir ve Status Code 503 yapılır (varsayılan 200). Seçilen Status Code listedeki bütün Error Codes için döner; 502 ve 504 kendi koduyla dönecekse her biri için ayrı aksiyon tanımlanır.
Add butonuna tıklanır.
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit ile düzenleme formu açılır.
Details → Actions alanında aksiyon seçilir. Aksiyon vService'e eklenmedikçe çalışmaz.
Form Save ile kaydedilir. Cluster'da değişiklik varsayılan olarak eş cihaza kendiliğinden aktarılır; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
Bütün Kurum Servisleri kullanılamazken (ör. test ortamında Maintenance mode'a alınarak) vService'e istek gönderilir.
curl -sv https://www.example.com/HTTP/1.1 503 · özel sayfanın içeriğiYöntem 2: Number of Active Servers Koşulu
- Nasıl çalışırNumber of Active Servers koşulu, vService'in Default Backend Services listesindeki kullanılabilir sunucu sayısını her isteğin başında okur; health check başarılı ve Maintenance mode'da olmayan sunucular sayılır, health check atanmamış sunucu her zaman sayılır. Koşula bağlanan Show Content aksiyonu, sayı koşulu sağladığında (ör. Equals to 0) isteği sunucuya göndermeden içerik sayfasını döner.
- Nerede açılırLoad Balancer → Conditions → Add → Criteria: Number of Active Servers · Load Balancer → Actions → Add → Show Content
- Gereksinim HTTP vService; Default Backend Services listesindeki sunuculara health check atanmış olması
- vService tipi HTTP (Show content aksiyonu)
- Sayıma girmeyenler Conditional Backend Services (Content Switching) gruplarındaki sunucular sayılmaz. Backup service işaretli sunucular ana sunucuların hepsi kullanılamaz olduğunda sayılır; bu yüzden değer, yedek sunucular da kullanılamaz olduğunda 0 olur
Adım adım yapılandırma
Load Balancer → Conditions yolu izlenip Add'e tıklanır (Nasıl eklenir?).
Condition Name alanına ad yazılır (ör. sunucu-kalmadi); Criteria listesinde Number of active servers seçilir. Operator alanında Equals to (=, varsayılan) bırakılıp değer olarak 0 yazılır; kapasite uyarısı için Less than (<) ve 2 gibi bir değer seçilebilir.
Add butonuna tıklanır.
Load Balancer → Actions yolu izlenip Add'e tıklanır.
Action Name girilir, Action Type alanında Show Content seçilir. Execution Level On request bırakılır, Content Page alanında bakım sayfası seçilir ve Status Code 503 yapılır (varsayılan 200).
Conditions alanında 2. adımdaki koşul seçilir. Koşul seçilmezse aksiyon bütün isteklere uygulanır.
Add butonuna tıklanır.
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit ile düzenleme formu açılır.
Details → Actions alanında aksiyon seçilir.
Form Save ile kaydedilir.
Doğrulama
Default Backend Services listesindeki bütün sunucular (yedekler dahil) kullanılamazken vService'e istek gönderilir.
curl -sv https://www.example.com/HTTP/1.1 503 · bakım sayfasının içeriğiYöntem 3: Redirect for Traffic Manager Errors
- Nasıl çalışır Seçilen hata kodlarında kullanıcı Redirect Location alanındaki sabit adrese yönlendirilir (ör. başka bir sunucuda duran bakım sayfası).
- Nerede açılırLoad Balancer → Actions → Add → Redirect for Traffic Manager Errors
- Gereksinim HTTP vService; yönlendirilecek adresin bu vService'ten bağımsız erişilebilir olması
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Actions yolu izlenip Add'e tıklanır.
Action Name girilir, Action Type alanında Redirect for Traffic Manager Errors seçilir; Error Codes alanına 503 eklenir ve Redirect Location alanına adres yazılır (ör. https://status.example.com/).
Add butonuna tıklanır.
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit ile düzenleme formu açılır.
Details → Actions alanında aksiyon seçilir.
Form Save ile kaydedilir.
Doğrulama
Bütün Kurum Servisleri kullanılamazken vService'e istek gönderilir.
curl -sv https://www.example.com/Location: https://status.example.com/Yöntem 4: Backup service
- Nasıl çalışır Statik bir "hizmet dışı" sayfası sunan sunucu Kurum Servisi olarak eklenir ve Backup Service işaretlenir; vService'in bütün ana Kurum Servisleri kullanılamadığında trafik bu sunucuya gider, ana sunuculardan biri yeniden OK olduğunda trafik ona döner.
- Nerede açılırLoad Balancer → Backend Services → Add → Backup Service
- Gereksinim Sayfayı sunacak ayrı bir sunucu; yedek Kurum Servisine de health check atanması
- vService tipi HTTP, L7 TCP
Adım adım yapılandırma
Load Balancer → Backend Services yolu izlenip Add'e tıklanır.
Backend Service Name ve sayfa sunucusunun Address bilgileri girilir; Health Check alanında bir profil seçilir ve Backup Service işaretlenir (varsayılan kapalı).
Add butonuna tıklanır.
Load Balancer → Load Balancer vService List ekranında vService seçilip Edit ile düzenleme formu açılır.
Yedek Kurum Servisi Default Backend Services listesine eklenir.
Form Save ile kaydedilir.
Doğrulama
Ana Kurum Servisleri kullanılamazken istekler yedek sunucunun sayfasıyla yanıtlanır.
Yedek sunucunun sayfasıSık Yapılan Hatalar
- Status code'u 200 bırakmak. Bakım sayfası 200 dönerse izleme araçları ve arama motorları hatayı fark etmez; 503 seçilir.
- Show content for backend service errors aksiyonunu kullanmak. O aksiyon Kurum Servisinin döndürdüğü hatalar içindir; bütün sunucular düştüğünde TR7'nin ürettiği hata için traffic manager errors aksiyonları kullanılır (Trafik yöneticisi hataları ve Kurum Servisi hataları).
- Backup service varken Number of active servers = 0 beklemek. Ana sunucular düştüğünde yedekler sayıldığından değer 0 olmaz; yedekler de kullanılamadığında 0 olur.
- Show content aksiyonunu koşulsuz bırakmak. Koşul seçilmeyen aksiyon bütün isteklere uygulanır ve site sürekli bakım sayfası döner.
- L7 TCP ya da Network vService'te özel sayfa beklemek. Bu tiplerde HTTP yanıtı üretilmez; L7 TCP'de Backup service kullanılır.
- Yedek sunucuya health check atamamak. Yedek kapalıyken bile trafik ona gönderilir.
Dokümantasyonda nasıl yapılır
