Application Request Routing – IIS de Yük Dengeleme

Web sunucularınız için birçok yük dengeleme çözümü mevcut.

DNS round robin gibi kolay ve ücretsiz bir çözümden tutunda ihtiyaca göre donanımsal load balanced cihazlara kadar birçok çözüm ile web sunucu ortamınızı (web farm) hem yedekli hem de yük dağıtımlı olarak yapılandırabilirsiniz.

Application Request Routing (ARR) ise IIS sunucularınız üzerine kurulabilen Microsoft’un sağladığı ücretsiz bir çözüm.

ARR, IIS 7.0, 7.5, 8, 8.5 ve 10 sürümleri üzerinden kullanılabilir.

Web sunucularınızın önünde, ayrı bir IIS sunucusu üzerine kurulması gereken bu eklenti ile sunucularınıza gelen istekleri istediğiniz gibi yönlendirebilir, dağıtabilir ve gözlemleyebilirsiniz.

 

Yapılandırmayı resimde olduğu gibi üç adet IIS sunucusu ile yapacağım.

ARR sunucusu üzerinde web server (IIS) bileşeni kuruludur. Varsayılan ayarlar yeterli olmaktadır.

Application Server 1 ve 2 sunucuları üzerinde www.ortacdemirel.com.tr web sayfası yer almaktadır. Her iki sunucuda da aynı içerik yer almalıdır.

Tüm kurulum ve yapılandırmaları öndeki ARR sunucusu üzerinde yapacağız.

www.iis.net sitesinden Application Request Routing eklentisinin kurulumu için gerekli olan eklentiyi çekiyoruz.

 

Web uygulama yönetimi içinden ARR yazılımının 3.0 sürümünü kuruyoruz.

 

Bu kurulum bir takım ön gereksinimleri de internetten çekip kuracaktır.

 

Kurulum bittikten sonra Default Application pool umuzun gelişmiş ayarlarına giriyoruz.

 

Idle Time-out (minutes) değerini  sıfıra çekiyoruz.

 

IIS konsolunu tekrar açtığımızda “Server farms” nesnesinin geldiğini görmekteyiz.

ARR eklentisinin temel mantığında sunucu grubu oluşturmak web sayfalarınızı barındıran IIS sunucuları bu gruba eklemek vardır. Bu sebep ile server farms bölümüne sağ tıklayıp yeni bir sunucu grubu oluşturuyoruz.

 

Yeni sunucu grubumuza bir isim veriyoruz. Herhangi bir isim verebilirsiniz. Bu isim ile ilgili URL rewrite bölümünde bir kayıt da açılacaktır.

 

Web sayfamızı barındıran IIS sunucuları ekliyoruz. ARR eklentisi yüklü olan sunucuyu eklemiyoruz.

 

Gelişmiş ayarlardan gelen isteklerin hangi portlardan yapılacağı ya da yük dengeleme ağırlık ayarlarını yapabiliriz.

 

Daha önce belirttiğim üzere URL rewrite ayarı da farm ismine göre yapılandırılacaktır. Açılan kutuyu da onaylayıp bitiriyoruz.

 

Server Farms bölümüne yeni server grubumuz ekleniyor. Aynı zamanda ortadaki bölümde yönetim araçlarını görüyorsunuz.

 

Caching: Kaşeleme ayarları için kullanılır. Varsayılan olarak 60 saniye boyunca bellekte veri kaşelenir.

 

Health Test: Sağlık testi. Yük dağıtımlı olarak çalışacak web sayfanızı mutlaka bu alana girip test etmeniz gerekmektedir. Örnek: www.ortacdemirel.com.tr

 

Benim yapımda IIS1 ve IIS2 sunucularında www.ortacdemirel.com.tr  sitesinin gerçek içerikleri yer alır.

IIS3 yani ARR eklentisini kurduğum sunucuda ise sadece varsayılan web sayfasının binding ayarları aşağıdaki gibidir.

 

Web sayfasının tüm içeriği kesinlikle ARR sunucusunda yer almaz. Tabi IIS1 ve IIS2 uygulama sunucularının da binding ayarı yukardaki ile aynıdır.

Burada kritik olan DNS ayarlarıdır.

Kullanıcılar siteye erişmek için www.ortacdemirel.com.tr yazdıklarında DNS sunucu tarafından ARR sunucusuna yönlendirilmelidirler. Bu yüzden host A kaydım ARR sunucusunu gösterir.

 

Kesinlikle IIS1 ve IIS2 için www kaydını DNS e girmiyoruz.

Load Balance: Yük dağıtım algoritması bu bölümden yapılandırılır. Kullanıcıların birinci ve ikinci uygulama sunucularına otomatik olarak yönlendirilmesi için “Weighted round robin” i seçebiliriz.

 

Bu sayede www.ortacdemirel.com.tr ye yapılan istekler IIS1 ve IIS2 sunucularına paylaştırılacaktır.

Monitoring and Management: Gelen isteklerin sayısını, yüzdesini ve network trafiğini bu bölümden gözlemleyebiliriz.

Aynı zamanda sunucuların üzerine sağ tıklayıp istatistikleri sıfırlama, sunucuya gelen istekleri durdurma veya sunucuyu geçici olarak erişilmez kılabiliriz.

 

Sunucuyu erişilmez kıldığımızda hemen ARR diğer sunucuya istekleri göndermeye başlayacaktır.

Proxy: Proxy ayarları mevcuttur. ARR önünde bir donanımsal yük dağıtım aracı kullanıyorsak bu bölümden yapılandırabiliriz.

 

Routing Rules: URL Rewrite özelliği ile birlikte trafiği yönlendirmek için kurallar hazırlayabilirsiniz.

 

Server Affinity: Sunucu ilişkisi için ARR çerezleri kullanılır. Client affinity seçeneği ile hazırlanan çerez ismi istemcilerin kullanımı için hazırlanır. Fakat bunun düzgün çalışması için istemci makinenin bunu kabul etmesi zorunludur.

 

Son olarak ise IIS in genel ayarlarında URL Rewrite yer alır.

 

Oluşturmuş olduğunuz sunucu farm ismi ile yeni bir URL rewrite ayarı burada yer alır. Bu bölümden de birçok ayar yapılabilir.

 

Bu uygulamayı Exchange in OWA adresi içinde kullanabilirsiniz.

http://www.msexchange.org/articles-tutorials/exchange-server-2013/mobility-client-access/iis-application-request-routing-part1.html

 

 

 

Paylaş

2 thoughts on “Application Request Routing – IIS de Yük Dengeleme

  1. Caner

    Hocam merhaba,

    Cookie veya SSL Ofloading gibi ayarlar yapabiliyor muyuz ?
    ARR Sunucusu gelen isteğe bağlı olarak ne kadar kaynak kullanır ?

    Reply
  2. Ortaç Demirel Post author

    Merhaba,

    SSL offload ayarı yapabiliyorsunuz. Alttan 3. resimde mevcut.

    Ne kadar kaynak kullanacağı gelen isteğe göre değişir diye düşünüyorum. MS in sağladığı bir bilgi yok elimde.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *