Çok büyük bir sistem olup olmadığına bakılmaksızın, yük dengeleme kullanmanın önemi çok önemlidir.
Büyük bir sistem ise, hiç şüphe yok ki sistemin yük kapasitesi bir hizmetin dayanabileceği sınıra ulaştığında, kullanıcı taleplerinin baskısını paylaşmak için birden fazla hizmet kullanmak çok mantıklı bir fikirdir. Bu, başlangıçta otogarda sadece bir arabanın olması gibi, çok insan varken ulaşım kapasitesini artırmanın en kolay yolu, başka bir araba almaktır.
Küçük bir sistem ise yük dengeleme de çok önemlidir.En temel gereksinim kodunuzun yükseltilmesi gerektiğinde sistemin durdurulmamasıdır.Çalışan tek bir hizmet varsa hiçbir yolu yoktur. Ancak yük dengeleme varsa, yük nispeten düşük olduğunda tek tek güncellenebilir.
Özetle, ister harika bir mimar ister bir Xiami programcısı olun, yük dengeleme konusunda biraz bilgi sahibi olmalısınız.
Bunların arasında, nginx yük dengelemeyi uygular oldukça basit, verimli ve güçlüdür.
Prensip çok basittir, nginx bir port 80'i dinler ve ardından talebi işleme için farklı servislere iletir.
Buradaki farklı hizmetlerin, bir sunucu üzerindeki farklı portlardaki web servisleri veya farklı sunuculardaki farklı portlardaki web servisleri olabileceğini unutmayın.
Prensip çok basit ve uygulaması da çok kolay, hadi detaylı olarak konuşalım.
İstekleri dinlemek için bir nginx ve yük dengelemenin gerçekleştirilip gerçekleştirilmediğini test etmek için iki tomcats kurmaktan başka bir şey değildir.
Nginx ve iki tomcat kurulumunun özel süreci burada detaylı olarak tartışılmayacaktır.Önceki bölümler çok açık.
İstediğimiz etki, şekilde gösterildiği gibi nginx'in 80 numaralı bağlantı noktasında olmasıdır:
İki tomcat, sırasıyla 8012 ve 8022 numaralı bağlantı noktalarında sunulur. Hangi tomcat'in web sayfası olduğunu ayırt etmek için ana sayfamın değiştirildiğine dikkat edin (konum tomcat / webapps / ROOT / index.jsp şeklindedir)
Çok basit, aşağıdaki gibi, açıklaması gerektiğini düşünmüyorum:
Önce nginx sunucusu 80 numaralı bağlantı noktasını dinler ve ardından isteği mytomcats'e iletir.
Mytomcats'in yukarı akışında, istekleri almaktan sorumlu olan aynı ağırlığa sahip iki sunucu vardır, yani 100 istek varsa, iki kardeş 500 istek yapacaktır. Bu iki kardeş 8012 ve 8022 numaralı limanın hizmetleridir.
Elbette, bakiyeyi diğer makinelere yüklemek istiyorsanız, 127.0.0.1'i başka bir IP veya alan adı ile değiştirebilirsiniz.
Nginx'i yeniden yükleyin, komut şudur: nginx -s yeniden yükler ve sonra etkisini görürsünüz, aynı adresin istendiğini, bazen tomcat1'in yanıt verdiğini, bazen tomcat2'nin yanıt verdiğini göreceksiniz. Tabii ki bu kesinlikle ilk tomcat1 yanıtı ve tomcat2'ye verilen ikinci yanıt değil. Sonuçta, isteğimiz aynı bilgisayardan geliyor. Nginx'in verimliliği artırmak için daha karmaşık hususları olması gerekiyor. Örneğin, aynı sunucunun yanıt vermesi için benzer IP'ye sahip makinelerden gelen isteklere öncelik verilir. .
Bu makale kısaca, ancak kısaca değil, nginx'in yük dengelemeyi nasıl uyguladığından bahsediyor. Elbette, nginx yük dengelemenin birçok stratejisi var. Yalnızca stratejiler demek ilginç değil. Sonraki makale, gerçek senaryolara dayalı belirli stratejilerin nasıl belirleneceği hakkında konuşacak.
Daha fazlasını görmek için tıklayın
Yazar: Mu Division Panda
Bağlantı: https://www.imooc.com/article/275605
Kaynak: MOOC