Aspecte practice ale construirii site-uri comerciale
Optimizarea și scalarea site-ului
Pe aceste pagini am creat numeroase exemple de cod care demonstrează procesul de construire a e-shop, si considerat unul dintre exemplele incluse în livrarea site-ului Server. Cu toate acestea, într-un astfel de mediu dinamic, cum ar fi Internetul, pot exista vârfuri neprevăzute de trafic care duc la un site supraîncărcate, astfel încât atunci când construirea unui site este foarte important să urmați câteva reguli de scalabilitate și performanță.
În acest capitol ne vom uita la toate elementele cheie care alcătuiesc sistemul comercial. Pentru fiecare element-cheie oferă recomandări pentru a aborda problema traficului a crescut pentru a asigura funcționarea fiabilă a site-ului și experiența normală de utilizare.
NOTĂ
În ultima secțiune a acestui capitol oferă link-uri către alte resurse de pe acest subiect.
Capitolul 4 au discutat principiile de bază ale arhitecturii sistemului de planificare. mai mulți factori-cheie să ia în considerare în ceea ce privește optimizarea și scalabilitate a site-ului.
Primul factor critic - hardware-ul pe care rulează serverul. Pe IIS Web-server este de obicei limitată de viteza procesorului, mai degrabă decât cantitatea de memorie sau hard disk. Prin urmare, instalarea de procesoare suplimentare afectează în mod semnificativ performanța serverului.
În ceea ce privește fiabilitatea, RAID 5, sistemul oferă redundanță maximă și capacitatea de a restaura datele în caz de defecțiuni. Cu toate acestea, serverul de baze de date cu un volum mare de tranzacții, această arhitectură are ca rezultat costuri semnificative de resurse asociate cu necesitatea de a înregistra date cu privire la diferite unități. RAID 1 accelerează operațiunile de baze de date, dar trebuie să facă un efort suplimentar pentru a asigura recuperarea de încredere.
În plus, după cum se menționează în capitolul 4, echilibrarea încărcării pe mai multe servere pot juca, de asemenea, un rol crucial. În cazul în care volumul de trafic depășește capacitatea unui singur web-server are sarcina să fie distribuită pe mai multe servere. La proiectarea server de complexe de încărcare de partajare ar trebui să ia în considerare mai mulți factori critici. Luați în considerare următorul scenariu:
- Există patru Web-server, care lucrează cu un singur server de baze de date.
- Fiecare web-server poate servi pana la 500 de utilizatori.
- În conformitate cu normele de echilibrare a sarcinii de curent pe fiecare server în același timp de lucru de până la 450 de utilizatori. In total toate serverele pot servi pana la utilizatori 1800.
- Unul dintre Web-servere eșuează.
Dacă pierdeți un web-server pentru fiecare dintre conturile de utilizator servere rămase 600. Dar, după cum sa menționat mai sus, fiecare server poate servi doar 500 de utilizatori. Acest lucru înseamnă că site-ul sau a opri de lucru la toate, sau va rula foarte încet.
Formal, un complex de N (4) servere rezista la sarcini de vârf. Dar planul ar trebui să prevadă N + X servere unde X servere suplimentare pentru a asigura buna funcționare a site-ului, în cazul unei funcționări defectuoase a principalelor servere.
În plus față de distribuția sarcinii directe, există alte mijloace de echilibrare între servere. În special, în loc de arhitectura pe două niveluri (nivel de web-server și la nivel de baze de date), puteți trece la o arhitectura pe trei niveluri.
La al treilea nivel, codul asociat cu logica de afaceri. Un mic exemplu de separare a logicii de afaceri într-un nivel separat, găsit în magazinul nostru în calcularea costurilor fiscale și de transport maritim. În realitate, cu toate acestea, orice parte funcțională a unei aplicații ASP poate fi rulat pe un server diferit. Fig. 18.1 prezintă o diagramă bloc a site-ului cu adăugarea celui de al treilea nivel.
Adăugarea unui al treilea nivel oferă o serie de avantaje fundamentale în scalabilitate site-ului. Aceste avantaje sunt enumerate în tabel. 18.1.
Tabelul 18.1. Avantajele arhitecturii pe trei nivele