See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 2945|Vastuse: 0

Nginx koormuse tasakaalustamine lahendab tagaplaani SESSION-i ühe punkti probleemi

[Kopeeri link]
Postitatud 10.01.2023 20:38:39 | | | |
Nõuded: Kasuta Nginx-i pöördproksi ehitamiseks, mis vastutab kõigi päringute ajastamise eest, taustsüsteemi arendab ASP.NET MVC ja see juurutatakse mitmele erinevale serverile, moodustades taustaklastriSessiooni infot ei saa jagada, mistõttu mõningaid päringuid ei töödelda korrektselt。 Järgnevad probleemid tekivad:





ASP.NET Veebilehte võib nimetada järgmiselt:

asp.net sessioonide jagamine (StateServeri kaudu)
https://www.itsvse.com/thread-6613-1-1.html

. Võrgu hajutatud arhitektuur: sessioonide jagamine Redis'i põhjal
https://www.itsvse.com/thread-5189-1-1.html

Levinumad lahendused on järgmised:

Kasuta andmebaasi SESSION-i salvestamiseks

Kuna iga server peab kasutama sama sessiooni, saame sessiooni salvestada samasse andmebaasi; iga kord, kui sellele ligi pääseme, läheme andmebaasi, et kontrollida, kas see sessioon on olemas või kas see sessioon on aegunud, ning seejärel saame sünkroniseerida mitme serveri sessiooni;

Merit:Selle meetodi kasutamine on lihtne, mugav ja lihtne alustada;

Puudus:Andmebaasi kasutamine sessioonide sünkroniseerimiseks suurendab andmebaasi IO-d ja koormust andmebaasile. Samal ajal peab iga ligipääs kinni püüdma päringuid ja päringuid andmebaasis, mis toob kaasa täiendava ligipääsu kihi ja raisatud andmebaasi sessiooniaega.


Kasuta vahemällu salvestamise mehhanismi nagu Memcache või Redis SESSION-i salvestamiseks

Hajutatud vahemälumehhanismide, nagu memcache või redis, kasutamine sessiooniandmete salvestamiseks on populaarne lahendus koormuse tasakaalustamiseks ja sünkroonsessioonideks paljudes suuremahulistes projektides. Selle põhimõte on, et projekt kasutab memcache'i või redis vahemälu samas kohas, kui kasutaja sisse logib, salvestatakse sessioon vahemällu ning olenemata sellest, millisele serverile projektist ligi pääsetakse, saadakse sessioonivahemälu samast kohast, nii et sessiooni sünkroniseerimine on lihtne teostada;

Merit:Vahemälu kasutamine sessioonide sünkroniseerimiseks ei suurenda andmebaasi koormust ega pea käsitsi hindama, kas sessioon eksisteerib või aegub, mis välistab osa äriloogikast.

Puudus:Memcache või Redis jagab mälu paljudeks salvestusplokkide spetsifikatsioonideks ning on olemas plokke suurusega, mis määrab ka, et Memcache või Redis ei suuda mälu täielikult kasutada, mis põhjustab mälu killustumist, ning kui salvestusplokid on ebapiisavad, tekib ka mälu ületäitumine.

Kasuta ip_hash mustrit Nginxis

See tehnika, tuntud ka kui sessioonide hoidmine, on nginxis ip_hash tehnoloogia, mis võimaldab sulPäringud teatud IP-aadressilt kinnitatakse samale taustarakenduse serverile, et klient ja selle IP all olev taustsüsteem saaksid luua stabiilse sessiooni.

(Kuid on ka puudus, kui operaatori võrk on ebastabiilsem ja ebastabiilsem,Väljumis-IP on dünaamilineJah, selle meetodiga võib tekkida probleeme. )

Testimeetod on avada kaks saiti dockeri alusel,Pead looma uue index.html faili vastavalt kataloogides /data/testsite/a ja /data/testsite/b, käsk on järgmine:

Ligipääs brauseri kaudu, nagu allpool näidatud:



Kui loote uue nginx-konteineri Dockeri baasil, ilma ip_hash tehnoloogiat kasutamata, saab päringu saata erinevatele tagaserveritele, nagu alloleval joonisel näidatud:



Kasutades ip_hash tehnoloogiat, loo uus /data/testsite/nginx.conf fail järgmise konfiguratsiooniga:

Dockeri käivituskäsk on järgmine:




Küpsistepõhine sessioonide hoidmine, mida saab kasutada kleepmoodulis, jäeti välja

Nginx konfiguratsioon:Hüperlingi sisselogimine on nähtav.

(Lõpp)




Eelmine:【Practical Action】Kasuta Dockerit Gitlabi privaatse repositooriumi loomiseks
Järgmine:IIS URL-i ümberkirjutamise mooduli reeglite puhastamine
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com