Trendyol’da Yük Dengeleme Sistemleri (Citrix Netscaler ADC)

Bu yazımızda Citrix Netscaler ADC’nin ne işe yaradığından, Trendyol’da hangi feature’larını kullandığımızdan ve ne gibi iyileştirmeler sağladığından bahsedeceğiz.

Citrix Netscaler ADC Nedir?

Citrix Netscaler Application Delivery Controller genelde en çok kullanılan feature’u olan load balancer adıyla anılır ancak yalnızca load balancer diye bahsetmek fazlasıyla yetersiz olacaktır. ADC, uygulamalarınız için yüksek kalitede sunum deneyimi, güvenlik ve performans sağlamayı hedefleyen bir çözümler bütünüdür.

Hangi Featureları Kullanıyoruz?

ADC ile son kullanıcının/müşterinin eriştiği uygulamaların arkasına birden fazla server alıp, bu serverların up/down statusuna ve üzerindeki yüke göre dağıtılmasını sağlayabilir, kullanıcıya dönecek response’u kurallar ile belirleyerek cache’leyebilir. SSL sertifikası ekleyerek güvenliği sağlayabilir, bu sertifikanın ADC üzerinde çözülmesini sağlayarak back-end’in yükünü hafifletebiliriz. Tüm bunları yapmak için Content Switching, Load-balancing, Integrated Caching ve SSL Offload feature’ları yeterli olacaktır.

Content Switching Nedir?

Content switching en temelde bir domainin içerisindeki farklı alt adreslerin farklı sunuculara yönlendirilmesi için kullanılır. Örneğin;

www.trendyol.com domainine /butik isteği geldiğinde X sunucusuna yönlendirmek, /elektronik isteği geldiğinde Y sunucusuna yönlendirmek için content switching feature’ını kullanırız.

Load-balancing Nedir?

Bir uygulamanın arkasına birden fazla sunucu alıp bu sunucuların sağlık ve yanıt verme süresine göre kullanıcının yönlendirilmesini sağlar. Farklı ihtiyaçlara göre least connection, round robin gibi farklı yönlendirme methodları da uygulanabilir.

Sunucuların önüne sanal bir sunucu alarak client’in bu sanal sunucuya gelmesi sağlanır, back-end’de hangi sunucuya yönlendirileceğine seçilen metoda göre Netscaler karar verir, böylece hem load balance edilmiş hemde back-end gizlenmiş olur.

Integrated Caching Nedir?

Integrated Caching, değişken olmayan response’larda client’in her defasında back-end’e yönlendirilmemesini sağlar. Örneğin anasayfa, butikler, ürünler her kullanıcıya aynı response dönülen statik sayfalardır. Bu requestlerin tekrar tekrar back-end’e gitmesi yüksek resource kullanımı ve network trafiğine neden olur. Çok request gelen sayfaların cache’lenmemesi veya policylerin yanlış oluşturulması peak anlarında back-end’de ciddi sorunlar oluşturabilir.

Trendyol’da bu responseları, uygulamaya özel süre ve size belirleyerek cacheliyoruz.

SSL Offload Nedir?

SSL Encryption&Decryption sunucu üzerinde göz ardı edilemeyecek seviyede CPU tüketen bir işlemdir. Bu processlerin back-end sunucular üzerinde uygulanması performansı büyük ölçüde etkiler.

SSL Offload bu decryption işleminin Netscaler üzerinde uygulanarak back-end’e trafiğin unsecure gönderilmesidir. Client Netscalera kadar encrypted gelir, burada request decrypt edilerek sunucuya gönderilir, gelen response tekrar encrypt edilerek clienta gönderilir.

System Administrator @Trendyol.com