arhitectură distribuită

Deciziile de proiectare arhitecturale legate de alegerea strategiei și a sistemului modularizare. soluții de strategie concepute pentru a rezolva problemele asociate cu construcția de client și de server părți ale sistemului, și middleware (middleware), opțional, du-te la „lipici“ de client și server. Solutia blocurile de baza (module) este doar parțial dependentă soluțiile de strategie selectate.

Client și server - concepte logice. Clientul (client) - acest proces de calcul care efectuează interogări la procesul de server. Server (server) - este procesul pe care-numeral, care servește cererile de server. De obicei, procesele client și server rula pe computere diferite, dar este posibil să se imple-apel de client / server pe același sistem informatic.

Într-un scenariu tipic, procesul de client este responsabil pentru gestionarea ecranul de informații de utilizator și manipularea evenimentelor inițiate de Paul zovatelyami. Procesul este orice bază de date server nod calculator de date roi Koto pot fi solicitate de procesul de client.

client arhitectura / server poate fi extinsă la orice reprezentare a unui sistem distribuit. Orice bază de date nod de calculator poate juca un rol al clientului în aceleași operațiuni de afaceri, și server - în alte operațiuni. Compusul astfel de noduri printr-o arhitectură de rețea de comunicații dă naștere unui sistem de procesare distribuit, așa cum se arată în Fig. 5.

arhitectură distribuită

Fig. 5 Arhitectura sistemului de procesare distribuit

Într-un sistem de procesare distribuit, un client poate avea acces la orice număr de servere. Cu toate acestea, clientul poate să li se permită să acceseze simultan la un singur server. Acest lucru înseamnă că nu poate fi în măsură să combine datele din două sau mai multe servere de baze de date într-o singură interogare. Dacă este posibil, arhitectura sistemului suportă baze de date distribuite.

arhitectura pe trei niveluri

În mod similar, procesul de server și procesul de client este aplicat la-lupta conceptul logic, care poate fi susținută sau non-spe cial susținut dedicat în acest scop hardware-ul. Logica de aplicare poate fi la fel de bine efectuate pe un client sau un nod de server, adică, pot fi încorporate în procesul de client sau server și implementat ca un DLL (Dynamic Link Library- Dynamic Link Library), API-interfață (Application Programming Interface - API), RPC-apeluri (Remote Procedure Apeluri - RPC) și etc.

În cazul în care logica aplicației este compilat cu clientul, vorbind despre arhitectura client-granulat Tol (arhitectura client grosime) ( „clientul pe steroizi“). În cazul în care este compilat cu serverul, vorbind despre o arhitectură client subțire (arhitectura client subțire) ( „Client“, „piele și oase“). Există, de asemenea, arhitectura intermediară, în care aplicațiile compilate parte logica cu clientul, și în parte - la server. Logica aplicației poate fi, de asemenea, utilizate la nodurile de calcul individuale, așa cum se arată în Fig. 6.

arhitectură distribuită

Fig. 6 arhitectura pe trei nivele

Această arhitectură pe trei niveluri, în forma sa cea mai pură. Pentru cele mai bune părți ei otno-syatsya o mare flexibilitate, scalabilitate, independență utilizator, disponibilitate și costuri reduse de renovare. Cu toate acestea, această arhitectură poate diferi SEZONUL Coy costul inițial, și, în plus, se pot confrunta cu unele probleme de performanță.