paint-brush
Avkodning av lastbalanserande primitiverförbi@fairday
39,939 avläsningar
39,939 avläsningar

Avkodning av lastbalanserande primitiver

förbi Aleksei4m2024/02/26
Read on Terminal Reader
Read this story w/o Javascript

För länge; Att läsa

När du skalar ditt system för att tillgodose ökad trafik och användare kan du välja mellan vertikal skalning, som ökar serverkraften, och horisontell skalning, som involverar duplicering av servrar. Även om vertikal skalning är enklare, har den begränsningar som hårdvarubegränsningar. Horisontell skalning med lastbalanserare erbjuder flexibilitet men kräver hantering av tillståndslöshet och implementering av strategier. Det är viktigt att förstå L4- och L7-lastbalanserare, där L4 är säkrare och mer prestanda, medan L7 erbjuder intelligent routing på bekostnad av effektivitet. Att välja rätt tillvägagångssätt beror på systemkrav och balansering av säkerhets- och prestandaöverväganden.

People Mentioned

Mention Thumbnail
featured image - Avkodning av lastbalanserande primitiver
Aleksei HackerNoon profile picture
0-item


Närhelst ditt system växer, trafiken ökar, fler och fler användare använder dina produkter, servrar börjar svara långsammare, driftstopp tvingar ditt företag att lida och sedan börjar du tänka på skalning.


Det finns två primära strategier för skalning - vertikal och horisontell.


Vertikal skalning avser att öka systemets kraft genom att vanligtvis lägga till mer CPU och RAM till dina servrar.


Däremot fokuserar horisontell skalning på att duplicera (eller klona) dina servrar i resurspoolen.


Mer om dessa:


Vertikal skalning

Vertikal skalning är det bästa alternativet för ett system med låg trafik eftersom det är den mest tillgängliga metoden för att hantera tillväxt utan att införa ytterligare komplexitet. Du behöver inte bry dig om att distribuera strategier för en grupp av resurser, resurspoolens elasticitet, din servers tillståndslöshet, den distribuerade cachen och så vidare.


Dock har vertikal skalning allvarliga nackdelar

  1. Hårdvarubegränsning eftersom det är omöjligt oändligt att lägga till resurser
  2. Brist på failover och redundans ökar risken för långvarig driftstopp och förlust av data


Horisontell skalning

Horisontell skalning eliminerar dessa problem genom att klona dina applikationsservrar och bädda in en komponent som en lastbalanserare .


En lastbalanserare distribuerar trafik på dina servrar med hjälp av specifika algoritmer som:


  1. Round-robin
  2. Viktad round-robin
  3. IP-hashbaserade tillvägagångssätt
  4. Minsta anslutningsmetod
  5. Viktad minsta anslutningsmetod
  6. Minsta svarsmetoden och många andra.


Ändå har det flera nackdelar:


  1. Servrar måste vara statslösa
  2. Sessioner måste bevaras i ett centraliserat datalager
  3. Mer komplicerat implementera strategier kan krävas
  4. En lastbalanserare kan bli en prestandaflaskhals om den är felkonfigurerad och resurserna inte räcker till
  5. Det introducerar ytterligare komplexitet till systemet och står som en potentiell enkel punkt för fel, vilket kräver tillämpning av failover-strategier


L4 / L7 Lastbalanserare

För att två enheter på internet ska kunna kommunicera med varandra måste underliggande system följa specifika protokoll. Alla hörde talas om OSI-modellen, som beskriver sju lager som datorsystem använder för att kommunicera över ett nätverk. Även om det moderna internet är baserat på en enklare TCP/IP-protokollstackmodell, används OSI-modellen flitigt, eftersom den hjälper till att visualisera och kommunicera hur nätverk fungerar och hjälper till att isolera och felsöka nätverksproblem.


De flesta industrilastbalanseringslösningar använder termerna L4 och L7 där L4 hänvisar till transportskiktet i OSI-modellen och L7 hänvisar till applikationsskiktet.


L4-lastbalanseraren är fortfarande L2/L3 eftersom den använder data från de nedre lagren som IP-adress och portnummer.


Huvudfördelarna med L4 lastbalanserare

  • Det är säkrare och mer prestanda eftersom datainnehåll inte tas med för att fatta routingbeslut

  • Samma TCP-anslutning finns mellan klient och server, vilket hjälper till att förhindra att gränsen för tillgängliga TCP-anslutningar överskrids på en lastbalanserare


De största nackdelarna med L4 lastbalanserare

  • Intelligent routing är omöjligt eftersom innehållet inte dekrypteras
  • Stateful protokoll ger ytterligare komplexitet
  • Kartläggning mellan offentliga och privata adresser
  • Ingen cachning eftersom innehållet inte är tillgängligt på den här nivån
  • Inte möjligt att använda för mikrotjänsters arkitektur eftersom trafikomdirigering inte är tillgänglig baserat på url-sökväg


Å andra sidan fungerar L7-lastbalanseraren på applikationsnivå i OSI-modellen


Huvudfördelarna med L7 lastbalanserare

  • Smarta beslut kan fattas baserat på URL-sökväg, rubriker, innehåll

  • Cachning


De största nackdelarna med L7 lastbalanserare

  • Ytterligare overhead på grund av upprätthållandet av två TCP-anslutningar, en mellan klient och lastbalanserare, den andra mellan lastbalanseraren och servern. Dessutom måste TCP-anslutningsgränsen för lastbalanseraren beaktas
  • Mindre säker eftersom lastbalanseraren måste känna till certifikat för att kunna dekryptera data och fatta routingbeslut


Slutsats

Lastbalanserare är en viktig komponent när horisontell skalning tillämpas för att hantera högtrafikerade system. Det finns två huvudtyper av lastbalanserare L4 och L7.


  1. L4 load balancer är mycket säkrare och mer presterande på grund av begränsningarna för att fatta smarta beslut

  2. L7 lastbalanserare fungerar på ett sätt som ger intelligenta routingbeslut på grund av kostnaden för effektivitet och säkerhet


Att välja lämplig typ beror på systemkraven och bör övervägas noggrant med en rimlig balans mellan tillämpning av säkerhetsprinciper och eliminering av prestandaflaskhalsar.


Även publicerad här.