Yük dengelemeye görece yabancıyım. Bugün anlamaya çalıştım ve küçük bir deney yaptım. Bu kavramı biraz anladım. İşte kısa bir özet.
Yük dengeleme nedir
Yük dengeleme, İngilizce adı, simetrik bir şekilde birden çok sunucudan oluşan bir sunucu kümesini ifade eden Yük Dengesidir.Her sunucunun eşdeğer bir durumu vardır ve diğer sunucuların yardımı olmadan bağımsız olarak hizmet sağlayabilir. Belirli bir yük paylaşım teknolojisi sayesinde dışarıdan gönderilen istekler, simetrik yapıda belirli bir sunucuya eşit olarak dağıtılır ve isteği alan sunucu, istemcinin isteğine bağımsız olarak yanıt verir. Yük dengeleme, müşteri isteklerini sunucu dizisine eşit olarak dağıtabilir, böylece önemli verilere hızlı erişim sağlar ve çok sayıda eşzamanlı erişim hizmetinin sorununu çözer Bu küme teknolojisi, en az yatırımla bir ana bilgisayarınkine yakın performans elde edebilir.
1. Bu makinede 2 tomcat hazırlayın ve başlatma sırasında çakışmaları önlemek için port numarasını değiştirin
2. Basit bir web projesi oluşturun ve bunu tomcat'in web uygulamalarının altına yerleştirin
İlgili web hizmetine erişmek için iki tomcat'i ayrı ayrı başlatın, sayfa içeriği farklıdır Farklı sunucular arasında ayrım yapmak için,
3. Bir nginx sunucusu indirin
Doğrudan sıkıştırmadan sonra kurulum gerekmez. Sonra, cmd'yi açıyoruz, nginx dizinine giriyoruz ve start nginx'e giriyoruz.
Geçmişte yanıp sönen bir pencere görebiliriz, böylece nginx açılmıştır ve sürecini görev yöneticisinde bulabiliriz.
Şimdi tarayıcıya localhost giriyoruz. Bir sayfanın göründüğünü görebilirsiniz.
4. Tomcat sunucusuna doğrudan erişmeden önce, şimdi tomcat'e nginx aracılığıyla erişmek istiyorum, bunun, dizinindeki conf klasörünün altındaki nginx.conf dosyası olan nginx'in çekirdek yapılandırma dosyasını değiştirmesi gerekiyor
Dosyanın sunucu kısmını değiştirmemiz gerektiğini biliyoruz, bu onun orijinal kodu, yorum kısmını sildim. Şimdi neden localhost'a girildiğini anlayabiliriz,
Ziyaret ettiği şey, açılış sayfası olan index.html'dir.
Bu kodda bazı küçük değişiklikler yapalım. Talebi tanımladığımız sunucuya yönlendirmektir.
Ardından nginx'i yeniden başlatmak için nginx -s reload komutunu cmd olarak girin.
Şimdi nginx'in ters proxy'sini uyguladık! ! !
Sonra, nginx aracılığıyla yük dengelemeye ulaşmaya çalıştım
Nginx'i yeniden başlatın ve ilgili adresi girin
Tekrarlanan fırçalamadan sonra iki kedi arasında gidip gelir ve anahtarlama frekansı ağırlığa göre belirlenir.
Oturum senkronize değil
Basit bir test yapmak için yazdığımız web proje sayfasında aşağıdaki değişiklikleri yapın:
O halde ziyaret edin
Oturumun farklı olduğunu ve oturumun kaybedildiğini buldum. Bu çok saçma. Bu yük dengelemede bir hata var.
Sonra bazı bilgileri kontrol ettim ve Redis ile kullanılabileceğini öğrendim.Bu sorunu çözmek için, redis hafızada tutulan büyük bir Harita.
Redis ile oturumu paylaş
Aşağıdaki kavanozları $ {TOMCAT_HOME} / lib klasörüne kopyalayın
tomcat-redis-session-manager-VERSION.jar
jedis-2.5.2.jar
commons-pool2-2.2.jar
Not: jar CU forumuna yüklendi, gerekirse indirmek için tıklayın
Tomcat'i yapılandırın
$ {TOMCAT_HOME} /conf/context.xml dosyasını düzenleyin ve içeriğe ekleyin
< Valve className = "com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" / >
< Yönetici className = "com.orangefunction.tomcat.redissessions.RedisSessionManager"
host = "localhost"
bağlantı noktası = "6379"
veritabanı = "0"
maxInactiveInterval = "60" / >
Ana bilgisayar ve bağlantı noktası, redis'in ip ve bağlantı noktası olduğu yer.
Bu noktada, yapılandırma tamamlanmıştır ve tomcat, oturumu barındırmak için redis'i kullanacaktır.
Son olarak tomcat erişim doğrulamasını yeniden başlatın
Senkronize olmayan oturum sorunu çözüldü! ! !