WebSocket Bağlantıları için HAProxy Nasıl Yapılandırılır

Websocket Baglantilari Icin Haproxy Nasil Yapilandirilir



WebSocket uygulamaları, istemci ve sunucu arasında gerçek zamanlı ve çift yönlü iletişime sahiptir. WebSocket bağlantılarında bile, sunucunun aşırı yüklenmesini ve bunun da kesintiye ve kullanılamamaya yol açmasını önlemek için trafiği dağıtmanın bir yoluna ihtiyacınız var.

HAProxy, aynı zamanda ters proxy olarak da çalışan ücretsiz ve güvenilir bir yük dengeleyici örneğidir. HAProxy'yi kullanarak sunucu yükünü en aza indirirken, özellikle gerçek zamanlı veri aktarımında WebSockets'in özelliklerinden daha iyi yararlanmak için WebSocket bağlantıları için HAProxy'yi yapılandırabilirsiniz. Bu gönderi, HAProxy'yi WebSocket bağlantıları için yapılandırmak için gerekli tüm adımları sunar.

WebSocket Bağlantıları için HAProxy'nin Nasıl Yapılandırılacağına İlişkin Adım Adım Kılavuz

WebSocket bağlantıları ile sunucu ve istemci iletişimi uzun ömürlü olur. Sunucu veya istemci onu kapatmaya karar verene kadar devam eder. Hal böyle olunca yük dengeleyici ile çalışmanın bir yolunun bulunması, sunucunun aşırı yüklenmesi durumunda trafiğin başka bir sunucuya dağıtılabilmesini sağlar. Bu şekilde istemci ve sunucu, düşük gecikmeyle kesintisiz ve uzun ömürlü bir bağlantının keyfini çıkarabilir.







1. HAProxy'yi yükleyin

HAProxy'yi WebSocket bağlantıları için yapılandırmanın ilk adımı, HAProxy'nin kurulu olduğundan emin olmaktır. Zaten yüklediyseniz bu adımı atlayın. Aksi takdirde, yüklemek için aşağıdaki komutu çalıştırın:



$ sudo apt-get kurulumu haproksi



2. HAProxy Yapılandırmasını Düzenleyin

HAProxy'yi WebSocket bağlantıları için yapılandırmak için, HAProxy yapılandırmasını WebSocket bağlantılarını destekleyecek şekilde düzenlememiz gerekir. “Varsayılanlar” bölümünü değiştirmeli ve “Ön Uç” ve “Arka Uç” bölümlerini oluşturmalıyız.





HAProxy yapılandırmasını bir metin düzenleyici kullanarak aşağıdaki gibi açın:

$ sudo nano / vesaire / haproksi / haproxy.cfg

“Varsayılanlar” bölümünde, aşağıdaki resimde gösterildiği gibi değiştirin. Öncelikle HTTP bağlantıları ile çalıştığımızı belirtiyoruz ve log dosyalarını nereye göndereceğimizi tanımlıyoruz. Daha sonra farklı aktiviteler için zaman aşımlarını ayarlıyoruz. Örneğin, bağlantı zaman aşımı, sunucuya bağlanma girişiminin alması gereken maksimum süredir. Maksimum süreye ulaşıldığında bağlantının başarısız olduğu sonucuna varılır ve yeniden denenebilir.



Bu durumda bağlantı zaman aşımı süresini 5000 milisaniyeye ayarladık. Durumunuz için bunları en iyi şekilde nasıl göreceğinize ilişkin zaman aşımını ayarlayabilirsiniz. Bunları uygulamanıza göre ayarlayın ve WebSocket oturumlarının süresini ve bunların ne kadar uzun ömürlü olmasını beklediğinizi unutmayın.

Daha sonra, WebSocket bağlantıları için hangi bağlantı noktalarını kullanacağımızı ve hangi arka uç sunucusuna başvuracağımızı bağladığımız “Ön Uç” bölümünü oluşturmalıyız. Bu durumda, port 80'i belirtiyoruz ve HAProxy'mizi izlemek için “İstatistikler” sayfasına erişim URL'sini veriyoruz. Son olarak yük dengelemede hangi arka uç bölümünün referans alınacağını tanımlıyoruz.

“Arka uç” bölümünde yükü çevrimsel olarak dağıtıyoruz. 'İletme seçeneği', HAProxy'nin, bağlantı isteğini gönderirken istemcinin IP adresini içeren bir 'X-Forward-For' başlığını dahil etmesini belirtir. Bu şekilde arka uç sunucusu doğru istemci IP'sini alacaktır.

“Http-sunucu-kapatma seçeneği”, boşta kalan bağlantıların sunucu kaynaklarını kaplamasını ortadan kaldırarak kaynakları kısıtlar. WebSocket bağlantıları uzun ömürlü olsa da gereksiz kaynak israfını önlemek için uzun ömürlü boş bağlantıları kontrol etmeli ve kapatmalıyız.

Son olarak trafiği dağıtmak için kullanacağınız arka uç sunucularını ekleyin. Sunucular için doğru IP adresini verdiğinizden emin olun ve aşağıdaki görüntüdeki adresleri değiştirin:

HAProxy'niz artık WebSocket bağlantıları için yapılandırılmıştır. Değişiklikleri kaydedin ve dosyayı kapatın.

3. Geçerlilik Testi

HAProxy'yi yeniden başlatmadan önce, dosyanın geçerli olup olmadığını ve hata içerip içermediğini kontrol etmek için hızlı bir komut çalıştırabiliriz. Bunun için aşağıdaki komutu çalıştırın:

$ sudo haproksi -C -F / vesaire / haproksi / haproxy.cfg

4. WebSocket Bağlantısını Yeniden Başlatın ve Test Edin

Dosya geçerli olduğunda HAProxy hizmetini yeniden başlatın.

Bu kadar. HAProxy'yi WebSocket bağlantıları için yapılandırdınız. Tüm WebSocket trafiğinin doğru şekilde iletildiğinden emin olmak için bağlantıyı test edebilirsiniz.

Çözüm

HAProxy'yi WebSocket bağlantıları için yapılandırmak, özellikle web yöneticileri tarafından aranan bir çözümdür. Bu gönderi, süreci ayrıntılı olarak detaylandırdı, adımları ve bir örneği rahatça takip edebilmenizi ve sizin durumunuzda da aynısını uygulayabilmenizi sağlamak için bir örnek verdi. Her adımı izleyin ve konsepti ve onu uygulama sürecini anladığınızdan emin olun.