scalarea orizontală și verticală în LETOGRAF
Sistemul scalabilă Informații - ca orizontală. și verticală - este unul dintre cei mai importanți factori pe care ar trebui să plătească atunci când selectați automatizarea oricărei organizații. Dacă nu este posibil să se scară soluția aleasă, sau fiecare etapă de creștere de afaceri va duce la dificultăți în dezvoltarea și întreținerea produsului software, nu ar trebui să înceapă măcar să-l folosească. Am dezvoltat SED LETOGRAF ținând cont de cerințele ridicate la scară.
Necesitatea unei scalare orizontală sau verticală are loc în legătură cu crearea de sisteme IT extrem de corporate, care folosesc mii sau chiar zeci de mii de utilizatori. Cu toate acestea, pentru a sprijini funcționarea simultană a unui număr mare de utilizatori nu pot fi toate SED. Numai în cazul în care SED la nivelul arhitecturii este posibilitatea de a capacității suma de utilizatori, fără a sacrifica performanța - numai în acest caz, scalarea va avea succes. Stabilit sistem de contact LETOGRAF a fost conceput în așa fel încât perfect scalate atât pe orizontală cât și pe verticală. Acest lucru se realizează atât prin arhitectura sistemului și a codului de aplicare, pe care le-am dezvoltat, și de baze de date funcționale InterSystems Caché, pe care SGDE noastre construit.
Baze de date Caché - un sistem modern de management al bazelor de date și mediu de dezvoltare rapidă a aplicațiilor. Baza acestei baze de date este o tehnologie care oferă de mare viteză și de înaltă performanță, scalabilitate și fiabilitate. În acest caz, cerințele de sistem hardware sunt destul de modeste.
bază de date Caché menține eficiența ridicată, chiar și atunci când se lucrează cu cantități uriașe de date și un număr mare de servere într-un sistem distribuit. Atunci când aceste date sunt accesate prin obiecte, de mare SQL de interogare și de către structurile de date multidimensionale de prelucrare directă.
scalare verticală implică dezvoltarea capacității de server și oportunitățile asociate cu subsistemul de disc. LETOGRAF sprijină arhitectura avansate de procesor, care poate manipula cantități mari de date către mai multe fluxuri. În acest sens, datele din SED sunt organizate în așa fel încât să poată fi ușor de transportat de stocare pe discuri diferite. Această abordare vă permite să distribui uniform sarcina pe depozitul de date și pentru a minimiza aceasta, atunci când citirea datelor direct din baza de date, și, astfel, se încadrează performanța sistemului poate fi evitată chiar și în cazul în care funcționarea simultană a unui număr mare de utilizatori.
Chiar și la stadiul de dezvoltare înțelegem platforma că scara verticală - una dintre caracteristicile cheie ale sistemului, nevoia de-a lungul timpului, care va crește. Am dezvoltat un sistem, astfel încât procesele fiecărui utilizator au fost alocate anumitor procese de sistem, care nu se intersectează deoarece baza de date a partaja în mod eficient accesul la informație. Numărul acestor încuietori în SED LETOGRAF reduse la minimum și nu există nici o „strangulare“ sau la citirea de date, sau când se înregistrează.
Arhitectura SED LETOGRAF poate distribui date pe mai multe servere fizice sau virtuale. Această separare a fiecăruia dintre utilizatorii care lucrează într-un proces izolat, iar datele necesare în cache în mod eficient folosind tehnologia de baze de date Caché. timp de blocare de date este redusă la minimum: toate tranzacțiile sunt aranjate astfel încât să traducă datele într-un mod de acces exclusiv este doar pentru un timp foarte scurt. Cu toate acestea, chiar și astfel extrem de încărcat în ceea ce privește numărul de accese la disc de date, cum ar fi jurnale, indici, obiecte de date, fluxuri, jurnalele acțiunilor utilizatorilor sunt distribuite în așa fel încât sarcina medie pe subsistemul rămâne uniformă și nu duce la întârzieri. Această abordare permite sistemului vertical scară în mod eficient, distribuirea sarcinii între servere sau discuri virtuale.
scalarea orizontală - distribuirea de sesiuni de utilizator pe servere diferite (încărcare uniformă de servere de aplicații și capacitatea de a se conecta la serverul aplicație suplimentară), precum și distribuirea de date pe servere de baze de date diferite, care asigură performanțe ridicate de sistem, în timp ce nu duce la o reducere a toleranței la defecte. Pentru scalarea orizontală LETOGRAF sistem oferă o serie de oportunități.
În primul rând, este datorită sarcinii de scalare Enterprise Cache Protocol (ECP, Distributed Protocol Cache), protocolul utilizat în baza de date InterSystems Caché. Avantajul ECP este o abordare inovatoare a datelor în cache. În cadrul acestui protocol procese de utilizator care rulează pe servere de aplicații (sau ECP-client) și a bazelor de date, cererile de servicii de acces la memoria cache locală a datelor utilizate recent. Și doar în cazul în care aceste date nu sunt suficiente, ECP-client accesează baza de date. Utilizarea protocolului ECP este automat de gestionare a memoriei cache: datele utilizate cel mai frecvent sunt stocate în memoria cache, informații actualizate frecvent reproduse periodic, oferind o integritate a datelor continuă și corectitudinea tuturor ECP-clienti. Algoritmul intern InterSystems Caché presupune că baza de date este sincronizată între client și ECP-ECP-server.
De fapt, utilizarea tehnologiei de baze de date Caché vă permite să adaptăm rapid și ușor încărcarea pe servere de aplicații, oferind astfel un număr mare de utilizatori să se conecteze la un singur server de baze de date prin utilizarea ECP-protocol.
Având în vedere că informațiile solicitate sau că utilizatorul poate fi implicat în mai multe ECP-clienți, trebuie să blocați datele pentru o perioadă scurtă de timp, pentru a executa rapid tranzacții fără a efectua calcule interne. Și noi l-am implementat cu succes. Aceasta tehnologie ne permite să adaptăm în mod eficient sistemul într-o situație în care se folosește un server de baze de date și mai multe servere în care utilizatorul procesele rulate. Caracteristici tehnologice ale bazei de date Caché este că suportă corectitudinea tranzacțiilor în cadrul unui singur ECP-server, indiferent de numărul de ECP-clienții care sunt conectate la acesta. În cazul în care avem un ECP-server și o multitudine de ECP-clienti, această problemă este rezolvată perfect, pentru că toate tranzacțiile sunt pe același server de baze de date.
Nu ne-am oprit aici, au mers mai departe și a sprijinit mecanismele care permit utilizarea de configurare EDS nu numai un singur server de baze de date, ci mai multe.
Experiența arată că, chiar și în sistemele de puternic încărcate întotdeauna posibil să se separe în mod clar datele între serverele de baze de date pe baza anumitor caracteristici. De exemplu, în cazul în care mai multe organizații sunt unite în compania holding, utilizatorii unei singure unități structurale este puțin probabil să fie vreodată în cererea de date referitoare la cealaltă ramură. Acest lucru face posibilă nivel algoritmi pentru a diviza și stoca aceste date pe servere de baze de date diferite, crescând astfel posibilitatea de scalare pe orizontală.
SEDul are un mecanism de sharding LETOGRAF. datorită căreia ne aflăm la nivelul configurației sistemului (fără programare), oferind posibilitatea de a descrie regulile și principiile separării datelor în sine la serverele de baze de date diferite. În ciuda faptului că din punct de vedere al informațiilor structura de date de baze de date stocate pe fiecare server este aceeași, informația în sine este fundamental diferită în funcție de organizarea sau orice alte simptome care sunt relevante pentru o anumită sarcină. Folosind tehnologia sharding poate realiza că, în 95-99% din cazuri, utilizatorii vor lucra numai cu său „parte din date,“ și nu vor fi necesare în cadrul sesiunii se referă la serverele de baze de date diferite.
Pe scalabilitatea EDS LETOGRAF afecteaza ce date pot fi tratate în diferite moduri. De exemplu, în documentele (chiar și a început acum câțiva ani) pot fi modificate, dar adaugă doar o înregistrare jurnal de acțiune de utilizator (nici nu poate fi șters și nici nu a schimbat nici o înregistrare). Mecanismele care sunt utilizate în SED LETOGRAF permit spori și mai mult performanța sistemului și de a îmbunătăți scalabilitate prin punerea în aplicare aceste jurnale pe un server de baze de date separat - și, la fel ca în cazul unui singur server și configurare multi-server. Această abordare se concentrează pe reducerea sarcinii pe baza de date principală de server.
Software-ul front-end
Ca front-end utilizat pentru EDS LETOGRAF Apache și HAProxy. HAProxy responsabil pentru echilibrarea încărcării între serverul web Apache. HAProxy, ca și experiența sistemului, sa impus ca cea mai eficientă soluție care poate oferi suport pentru activitatea unui număr mare de utilizatori și de control necesare pentru toleranta la erori.
Atunci când un utilizator deschide un browser și se conectează la sistem, HAProxy «distribuie“ l la unul dintre serverele de aplicații. Apoi, toate cererile care sunt primite de la utilizator, va fi trimis la același server aplicații în același proces.
Am încercat diferite sisteme, și de testare a arătat că HAProxy - cel mai eficient, care oferă stabilizator de încărcare de distribuție uniformă a utilizatorilor la sloturi libere servere de aplicații. În HAProxy au toate instrumentele necesare pentru a monitoriza starea fiecărui server de aplicații și de a distribui noul trafic pe eșuat pentru orice motiv serverul de aplicații. În plus, HAProxy oferă în plus o serie de oportunități în ceea ce privește punerea în cache statice (neschimbat în timpul funcționării utilizator) a datelor - de exemplu, stiluri, icoane, și așa mai departe - care vă permite să organizați interfața.
exemplu de proiect
Arhitectura LETOGRAF permite obținerea unor rezultate semnificative în reducerea timpului de răspuns și creșterea performanței sistemului. Într-unul din proiectele noastre în EDS 23.5 terabytes de date sunt stocate. Dintre acestea, 14,7 TB (63%) provin de pe flux ( „atașat imaginii carte“), 3.5 TB (15%) - pe formularele de raportare, cum ar fi rapoarte din tabel, care se formează într-un mod asincron, poate rula atât program, sau la cerere și reprezintă un tabel de sinteză, orice date care pot specifica la subiect. O altă 1,6 TB (7%) - un utilizator operațiuni de protocol, iar restul (16%) - cardurile de date și coduri.
Acest sistem funcționează mai mult de 11 de mii de utilizatori, 2 mii dintre ei lucrează în același timp, și în zilele de vârf concurente angajaților EDS mai mult de 3 mii de numărul de intrări a depășit deja 5,5 miliarde in jurnal, iar indicele de carduri -... Aproape ajuns o jumătate de miliard.
SED LETOGRAF oferă o mare varietate de mecanisme de scalare. Va oferim un fel de tort, care se bazează pe un server (fizic sau virtual) pe care instalați sistemul de operare. Pe lângă aceasta se află în baza de date InterSystems Caché, în care se află codul platformei. Și deja pe ea - setările sistemului LETOGRAF prin care EDS este complet configurabil. Și acest tort este plasat pe fiecare server. Serverele sunt conectate unul la celălalt într-un anumit fel datorită configurației alese. Și ultimul strat - este HAProxy, împărțit între servere cereri de utilizator. Această arhitectură ne permite să sprijine scalarea și asigurarea mecanismelor de monitorizare necesare. Ca rezultat, utilizatorii finali ajunge să lucreze mai repede EDMS și profesioniștii IT - simplu să funcționeze și să mențină, sistem unificat fără un număr mare de componente, care, în cazul aplicațiilor grele trebuie să monitorizeze în mod constant și de a gestiona. În plus, în funcție de nevoile în schimbare ale organizației SED LETOGRAF ușor pentru a reconfigura, adăugarea de noi servere sau capabilități de disc.
compania LETOGRAF implicate în dezvoltarea și punerea în aplicare a același nume de către sistemul de management al documentelor, automatizarea proceselor de afaceri și integrare de aplicare. Principalele activități - platforma de dezvoltare a LETOGRAF și punerea în aplicare a proiectelor de implementare la scară largă.
Despre platforma LETOGRAF
LETOGRAF - gata solutie scalabila centralizat pentru automatizarea fluxului de lucru și arhiva organizațiilor distribuite geografic. Cu platforma LETOGRAF toate sarcinile de management al documentelor pot fi rezolvate de managementul „clasice“ document și arhiva la Enterprise Content Management (ECM).
Soluții scalabile, tolerante la defect platforma LETOGRAF pe baza instalat central pe un cluster de server, și a pus în practică conceptul de gestionare a „mari de date“. Utilizatorii lucra cu sistemul într-o interfață de browser web și accesul la informații on-line cu dispozitive fixe sau mobile.
Sistemul LETOGRAF unifică lucrul cu toate documentele electronice și pe hârtie ale organizației (de intrare, ieșire, intern, personal, arhive, contracte, facturi, bilete și așa mai departe.), și poate fi, de asemenea, integrate cu sisteme externe de întreprindere și.
Persoana de contact: Alexander Ivanov, specialist marketing