LVS'nin gizemini ortaya çıkarın

I.Giriş

İşletme ve bakımda uzun yıllara dayanan deneyime sahip bir deneyimli olan LVS, bir efsane olarak ün kazanmıştır ve her zaman ilgili bilgileri sistematik bir şekilde toplama ve düzenleme fırsatı aramıştır. Bugün, nihayet LVS ile ilgili bilgileri ayrıntılı olarak öğrenmek ve anlamak için zamanım var.

LVS, linux sanal sunucusunun kısaltmasıdır, yani: Dr. Zhang Wensong tarafından Mayıs 1998'de başlatılan ücretsiz bir yazılım projesi olan Linux sanal sunucusu. Linux 2.4'ten sonraki çekirdek sürümü, LVS'nin çeşitli işlevsel modüllerini entegre etti ve LVS tarafından sağlanan çeşitli işlevleri doğrudan kullanabiliriz.

İkincisi, LVS'yi tanıyın

LVS kümesinin özellikleri şu şekilde özetlenebilir:

  • Özellikleri

Üç IP yük dengeleme teknolojisini ve sekiz bağlantı zamanlama algoritmasını uygulayan IPVS yazılımı vardır. IPVS'nin dahili uygulamasında, planlanmış mesajlarla ilgili ICMP mesajlarını doğru şekilde işleyebilen verimli bir Hash fonksiyonu ve çöp toplama mekanizması benimsenmiştir (bazı ticari sistemler bunu yapamaz). Sanal hizmetlerin sayısında herhangi bir sınırlama yoktur ve her sanal hizmetin kendi sunucu seti vardır. Kalıcı sanal hizmetleri (bu işlevin desteklenmesini gerektiren HTTP Çerezi ve HTTPS gibi) destekler ve bağlantı işleme hızı ve mesaj akışı gibi ayrıntılı istatistiksel veriler sağlar. Büyük ölçekli Hizmet Reddi saldırılarına yanıt olarak, üç savunma stratejisi uygulandı.

Linux çekirdeğinde de uygulanan, içerik talebi dağıtımına dayalı uygulama katmanı değişim yazılımı KTCPVS vardır. İlgili küme yönetimi yazılımı kaynakları izler ve yüksek sistem kullanılabilirliği elde etmek için zamanında hataları koruyabilir. Ana ve bağımlı programlayıcılar, daha yüksek kullanılabilirlik elde etmek için durumlarını periyodik olarak senkronize edebilir.

  • uygulanabilirlik

Arka uç sunucusu, Linux, çeşitli Unix (FreeBSD, Sun Solaris, HP Unix vb.), Mac / OS ve Windows NT / 2000 vb. Dahil olmak üzere TCP / IP'yi destekleyen herhangi bir işletim sistemini çalıştırabilir.

Yük planlayıcı çoğu TCP ve UDP protokolünü destekleyebilir:

İstemci ve sunucuda herhangi bir değişiklik yapmaya gerek yoktur ve çoğu İnternet hizmetine uygulanabilir.

  • verim

LVS sunucu kümesi sistemi iyi bir ölçeklenebilirliğe sahiptir ve milyonlarca eşzamanlı bağlantıyı destekleyebilir. 100M ağ kartı ve VS / TUN veya VS / DR planlama teknolojisi ile, küme sisteminin verimi 1Gbit / s kadar yüksek olabilir; bir gigabit ağ kartı yapılandırılırsa, sistemin maksimum verimi 10Gbit / s'ye yakın olabilir.

  • güvenilirlik

LVS sunucu kümesi yazılımı birçok büyük ve kritik sitede iyi bir şekilde uygulanmıştır, bu nedenle güvenilirliği gerçek uygulamalarda iyi bir şekilde doğrulanmıştır. Yeniden başlatma olmadan bir yıldan uzun süredir çalışan birçok programlayıcı vardır.

  • Yazılım lisansı

LVS küme yazılımı, GPL (GNU Public License) lisansı altında yayınlanan ücretsiz bir yazılımdır; bu, yazılımın kaynak kodunu edinebileceğiniz ve onu değiştirme hakkına sahip olabileceğiniz anlamına gelir, ancak değişikliklerinizin de GPL kapsamında yayınlandığından emin olmanız gerekir.

LVS'nin farklı çalışma modlarına göre, LVS'nin üç çalışma modu vardır: NAT modu, TUN modu ve DR modu.

Üçü üç modu anlıyor

3.1 Ağ Adresi Çevirisi (VS / NAT) aracılığıyla Sanal Sunucu

Ağ adresi çevirisi yoluyla, programlayıcı, istek mesajının hedef adresini yeniden yazar ve talebi önceden ayarlanmış programlama algoritmasına göre arka uç gerçek sunucuya gönderir; gerçek sunucunun yanıt mesajı programlayıcıdan geçtiğinde, mesajın kaynak adresi yeniden yazılır. Tüm yük planlama sürecini tamamlamak için yazın ve ardından müşteriye geri dönün. Mimari aşağıdaki şekle atıfta bulunur:

3.2 IP Tünelleme ile Sanal Sunucu (VS / TUN)

NAT teknolojisi kullanıldığında, hem istek hem de yanıt mesajlarının programlayıcı adresi tarafından yeniden yazılması gerektiğinden, giderek daha fazla müşteri talebi olduğunda, programlayıcının işlem kapasitesi bir darboğaz haline gelecektir. Bu sorunu çözmek için, programlayıcı istek mesajını IP tüneli yoluyla gerçek sunucuya iletir ve gerçek sunucu yanıtı doğrudan istemciye gönderir, böylece programlayıcı yalnızca istek mesajını işler. Genel ağ hizmeti yanıtı, talep mesajından çok daha büyük olduğundan, VS / TUN teknolojisinin benimsenmesinden sonra, küme sisteminin maksimum verimi 10 kat artırılabilir. Mimari aşağıdaki şekle atıfta bulunur:

3.3 Doğrudan Yönlendirme ile Sanal Sunucu (VS / DR)

VS / DR, istek mesajının MAC adresini değiştirerek talebi gerçek sunucuya gönderir ve gerçek sunucu yanıtı doğrudan istemciye gönderir. VS / TUN teknolojisi gibi, VS / DR teknolojisi de küme sisteminin ölçeklenebilirliğini büyük ölçüde geliştirebilir. Bu yöntem bir IP tünelinin ek yüküne sahip değildir ve kümedeki gerçek sunucunun IP tünel protokolünü desteklemesi gerekmez, ancak planlayıcının ve gerçek sunucunun aynı fiziksel ağ segmentine bağlı bir ağ kartına sahip olmasını gerektirir. Mimari aşağıdaki şekle atıfta bulunur:

Her modun dört avantajı ve dezavantajı

4.1 NAT modu

avantaj :

  • Sunucu, TCP / IP'yi destekleyen herhangi bir işletim sistemini çalıştırabilir, yalnızca dağıtıcıda yapılandırılması gereken bir IP adresine ihtiyaç duyar ve sunucu grubu özel bir IP adresi kullanabilir.
  • Dahili IP ile servis düğümü gizlidir ve güvenlik daha iyidir.
  • İlke ve konfigürasyon basit ve anlaşılması kolaydır.

Dezavantaj :

  • Ölçeklenebilirlik sınırlıdır Sunucu düğümlerinin sayısı 20'ye yükseldiğinde, programlayıcının kendisi sistemde yeni bir darboğaz haline gelebilir, çünkü NAT'taki hem istek hem de yanıt mesajlarının yük planlayıcısından geçmesi gerekir.

4.2 TUN modu

avantaj :

  • Yüzden fazla sunucu (aynı boyutta sunucular) planlayabilirsiniz ve bu, sistemde bir darboğaz haline gelmez. Yüksek performanslı bir süper sunucu oluşturmak için kullanılabilir.
  • İlke ve konfigürasyon basit ve anlaşılması kolaydır.

Dezavantaj :

  • TUN teknolojisinin sunucular için gereksinimleri vardır, yani tüm sunucular "IP Tünelleme" veya "IP Kapsülleme" protokolünü desteklemelidir.
  • Düğüm açığa çıkar ve güvenlik NAT modu kadar iyi değildir.

4.3 DR modu

avantaj :

  • Yüzden fazla sunucu (aynı boyutta sunucular) planlayabilirsiniz ve bu, sistemde bir darboğaz haline gelmez. Yüksek performanslı bir süper sunucu oluşturmak için kullanılabilir.
  • TUN modu ile karşılaştırıldığında, bu yöntemin IP tüneli ek yükü yoktur.

Dezavantaj :

  • Yük planlayıcısının ve gerçek sunucunun aynı fiziksel ağ segmentine bağlı bir ağ kartına sahip olması gerekir Sunucu ağ cihazı (veya cihaz takma adı) ARP'ye yanıt vermez veya mesajı yerel Soket bağlantı noktasına yeniden yönlendirebilir.
  • Düğüm açığa çıkar ve güvenlik NAT modu kadar iyi değildir.

Aşağıdaki tabloyu elde etmek için entegre edin:

Beş veya sekiz yük programlama algoritması

Farklı ağ hizmeti gereksinimlerine ve sunucu yapılandırmalarına yanıt olarak, IPVS zamanlayıcı aşağıdaki sekiz yük planlama algoritmasını uygular:

  • Round Robin

Programlayıcı, dış istekleri sırayla "sorgulama" programlama algoritması aracılığıyla kümedeki gerçek sunuculara dağıtır Sunucudaki gerçek bağlantı sayısı ve sistem yüküne bakılmaksızın her sunucuya eşit şekilde davranır.

  • Ağırlıklı Round Robin

Programlayıcı, gerçek sunucunun farklı işleme yeteneklerine göre erişim taleplerini planlamak için bir "ağırlıklı döngüsel" programlama algoritması kullanır. Bu, güçlü işleme yeteneklerine sahip sunucuların daha fazla erişim trafiğini işlemesini sağlayabilir. Planlayıcı, gerçek sunucunun yükünü otomatik olarak sorgulayabilir ve ağırlığını dinamik olarak ayarlayabilir.

  • En Az Bağlantılar

Programlayıcı, "en az bağlantı" programlama algoritması aracılığıyla en az sayıda kurulan bağlantı ile sunucuya ağ isteklerini dinamik olarak planlar. Küme sisteminin gerçek sunucuları benzer sistem performansına sahipse, "en az bağlantı" zamanlama algoritması yükü daha iyi dengeleyebilir.

  • Ağırlıklı En Az Bağlantılar

Bir küme sisteminde sunucu performansında büyük farklılıklar olması durumunda, programlayıcı, yük dengeleme performansını optimize etmek için "ağırlıklı en az bağlantı" zamanlama algoritmasını kullanır ve daha yüksek ağırlığa sahip sunucular, daha büyük bir aktif bağlantı yükü oranını taşıyacaktır. Planlayıcı, gerçek sunucunun yükünü otomatik olarak sorgulayabilir ve ağırlığını dinamik olarak ayarlayabilir.

  • Yerellik Tabanlı En Az Bağlantılar

"Lokaliteye dayalı en az bağlantı" planlama algoritması, hedef IP adreslerinin yük dengelemesini amaçlamaktadır ve şu anda esas olarak Önbellek küme sistemlerinde kullanılmaktadır. Algoritma, istenen hedef IP adresine göre hedef IP adresi tarafından son zamanlarda kullanılan sunucuyu bulur.Sunucu müsaitse ve aşırı yüklenmemişse, istek sunucuya gönderilir; sunucu yoksa veya sunucu aşırı yüklenmişse ve yarıda bir sunucu varsa İş yükleri için, kullanılabilir bir sunucuyu seçmek ve isteği bu sunucuya göndermek için "en az bağlantı" ilkesini kullanın.

  • Çoğaltma ile Yerellik Tabanlı En Az Bağlantılar

"Çoğaltmayla yerellik temelli en az bağlantı" planlama algoritması aynı zamanda hedef IP adreslerinin yük dengelemesini amaçlamaktadır ve şu anda esas olarak Önbellek küme sistemlerinde kullanılmaktadır. Onunla LBLC algoritması arasındaki fark, bir hedef IP adresinden bir sunucu grubuna bir eşlemeyi sürdürürken, LBLC algoritması bir hedef IP adresinden bir sunucuya bir eşlemeyi sürdürmesidir. Algoritma, istenen hedef IP adresine göre hedef IP adresine karşılık gelen sunucu grubunu bulur ve "en az bağlantı" prensibine göre sunucu grubundan bir sunucu seçer.Sunucu aşırı yüklenmemişse, sunucu aşırı yüklenmiş ise istek sunucuya gönderilir. ; "En az bağlantı" prensibine göre bu kümeden bir sunucu seçilir, sunucu sunucu grubuna eklenir ve sunucuya istek gönderilir. Aynı zamanda, sunucu grubu belirli bir süre değiştirilmediğinde, çoğaltma derecesini azaltmak için en yoğun sunucu sunucu grubundan silinir.

  • Hedef Karma İşlemi (Hedef Karma İşlemi)

"Hedef adres karma" planlama algoritması, statik olarak ayrılmış karma tablodan karşılık gelen sunucuyu bulmak için bir karma anahtar olarak istenen hedef IP adresini kullanır. Sunucu kullanılabilirse ve aşırı yüklenmemişse, istek buna gönderilir Sunucu, aksi takdirde boş döner.

  • Kaynak Karma İşlemi

"Kaynak adres karması" planlama algoritması, ilgili sunucuyu statik olarak ayrılmış karma tablodan bulmak için bir karma anahtar olarak isteğin kaynak IP adresini kullanır. Sunucu kullanılabilirse ve aşırı yüklenmemişse, istek buna gönderilir Sunucu, aksi takdirde boş döner.

Altı özet

Bu makale, Dr. Zhang'ın çok sayıda orijinal metninden alıntı yaptı ve bu temelde, öğrenmeyi, iletişim kurmayı ve gelecekte materyalleri gözden geçirirken zamandan tasarruf etmeyi amaçlayan bazı uzantılar ve özetler yaptı. Zamanın yoğunluğundan dolayı ihmal edilmesi kaçınılmazdır, umarım bana tavsiyelerde bulunabilirsiniz. Daha iyi bir okuma deneyimi için, lütfen aynı adlı CSDN bloguna gidin.

Yedi referans

7.1 Linux sunucu kümesi sistemi (1)

7.2 Linux sunucu kümesi sistemi (2)

7.3 Linux sunucu kümesi sistemi (3)

7.4 Linux sunucu kümesi sistemi (4)

Nehirde serbestçe dolaşan bir tente botu gibi, Geely MINI SUV Vision X1 ile test sürüşü yapın
önceki
Çok yönlü mobil insansı robot iPal, çocuklar için "iyi bir öğretmen" görevi görür
Sonraki
Tavanı kırmak, başka bir gişe rekoru kıran, kırmızı etiket Haval H7'ye ne dersiniz?
Shiver, Lao Lai, ülke harekete geçti ve güzel günler tükeniyor!
Nintendo Switch çevrimiçi hizmetleri için hâlâ anlamadıysanız lütfen buraya bakın
Hayatın sorunlarını çözün: diş macununun büyülü kullanımlarından oluşan geniş bir koleksiyon
Huawei Mate 10 Pro'nun görünümü tamamen açığa çıktı; Ekim ayından itibaren mesajlar ve barikatlar gerçek isimlerle kaydedilmelidir | Lei Feng Morning Post
2018'in son gününde, turistler "hafif raylı geçiş binalarında" zaman geçirmekten hoşlanıyor
Hayatın sorunlarını çözün: Kablosuz yönlendiricinin ilk kurulumu 4 adımda kolaydır!
Jiefangbei bu gece böyle görünüyor! Her "küçük sarı adam" polisin sadık kaldığı bir rakamdır
Geely neden Volvo motorlarını kullanmıyor?
Hayatın zorluklarını çözün: kablosuz yönlendirici hattı bağlantı yöntemi
Sadece yarın! "Sirk Kralı", "Dans Kralı - Dans Kralı" özelini açıkladı
Hayatın sorunlarını çözmek: WeChat kullanan orta yaşlı ve yaşlı insanlar için ipuçları
To Top