Çfarë është MaxScale? Një përfaqësues për bazat e të dhënave MariaDB dhe MySQL
Team Host.it 5 min lexim
Përmbajtja
Ne kemi folur tashmë se si MaxScale na lejon të kemi baza të dhënash me performancë të lartë dhe të ndërtojmë arkitektura fleksibël. Tani do të shkojmë në detaje rreth veçorive dhe funksionalitetit të këtij përfaqësuesi të bazës së të dhënave.
Një përfaqësues është një server që vepron si një ndërmjetës në një lidhje: ai merr kërkesa nga një klient dhe i ridrejton ato në serverë të tjerë që janë marrësit e kërkesave. Me fjalë të tjera, një përfaqësues është një mjet për të ridrejtuar një lidhje midis dy kompjuterëve në mënyrë që ata të mos lidhen drejtpërdrejt. Një proxy funksionon si një operator centrali: ai merr thirrjen nga kushdo që dëshiron të telefonojë dhe e përcjell atë në zgjerimin e dëshiruar.
MaxScale mund të futet në mënyrë transparente midis aplikacionit dhe serverit MySQL, saktësisht si një proxy në internet midis shfletuesit tonë (p.sh. Firefox) dhe sajtit që po përpiqemi të vizitojmë. Falë një përfaqësuesi është e mundur të keni:
Tepërsia: përdorimi i më shumë se një bazë të dhënash pas përfaqësuesit. Një server i vetëm nuk ofron besueshmëri dhe disponueshmëri të lartë në rast të një ndërprerjeje të makinës.
Reduktimi i kostove të infrastrukturës: sepse në përgjithësi dy serverë të vegjël janë më pak të shtrenjtë se një server i vetëm me performancë të lartë.
Do të shohim dy lloje të serverëve proxy të bazës së të dhënave:
Përfaqësuesit e shtresës së transportit si HAProxy
Përfaqësuesit e shtresës së aplikacionit si MaxScale
HAProxy: një proxy efikas, i shpejtë dhe funksional Deri më sot, proxy më i përdorur në mjedisin MySQL është HAProxy i cili funksionon në një nivel më të ulët (niveli 4: transport). HAproxy nuk di asgjë për MySQL dhe merret vetëm me balancimin e lidhjeve midis serverëve të shumtë. Është shumë i shpejtë, i lehtë dhe efikas, megjithatë ky balancim bëhet pa e ditur se çfarë rendit. Kjo e bën sistemin më pak efikas pasi një server mund të marrë shumë kërkesa të rënda, ndërsa serverët e tjerë mund të shkarkohen. Pra, HAProxy nuk është zgjedhja fituese në të gjitha rastet.
MaxScale: një përfaqësues që mund të bëjë gjëra të mahnitshme
MaxScale punon në një nivel më të lartë (niveli 7: aplikacioni), duke monitoruar serverët është në gjendje të kuptojë se çfarë po ndodh brenda infrastrukturës. Duke ditur protokollin MySQL, ju mund të ndërhyni duke manipuluar trafikun midis klientit dhe serverit. Këtu janë disa nga karakteristikat e tij kryesore:
Filtrimi i pyetjeve të bazës së të dhënave
Menaxhimi i rrugëzimit: Kërkesat e rrugëtimit në një ose më shumë serverë të bazës së të dhënave
Redaktoni pyetjet menjëherë përpara se të arrijnë në bazën e të dhënave
Mundësia për të fshehur strukturën e brendshme të infrastrukturës duke lënë një pikë të vetme aksesi.
Besueshmëri dhe shkallëzim i lartë i sistemit
Aftësia për të zhvendosur një bazë të dhënash nga serveri lokal në një server të jashtëm pa ndryshuar konfigurimin e aplikacionit
Ndan automatikisht shkrimet në serverin MASTER dhe leximet në një ose më shumë baza të dhënash SLAVE.
MaxScale mund të sigurojë balancimin e ngarkesës së lidhjeve pa nevojën e përdorimit të aplikacioneve ose CMS që ofrojnë këtë funksionalitet. Kjo do të thotë që CMS si Joomla! ose WordPress mund të përfitojë nga përdorimi i replikimit Master/Slave për ta bërë faqen e tyre të shkallëzueshme.
Karakteristikat e MaxScale Pika e fortë e MaxScale është sigurisht modulariteti i tij, i cili lejon liri të konsiderueshme duke iu përshtatur shumë rasteve të përdorimit. MaxScale është:
Modular: një sistem modulesh përcakton funksionalitetin e tij
E zgjerueshme: është e mundur të aplikohen filtra të shumtë edhe në kaskadë
Fleksibël: Modulet dhe filtrat mund të shtohen në mënyrë dinamike
Më poshtë janë 5 modulet që përbëjnë zemrën e MaxScale:
Protokolli: jep mundësinë e përdorimit të protokolleve të shumta p.sh. Klienti MySQL, http, telnet
Vërtetimi: sistemi i vërtetimit i lejon klientët të hyjnë në MaxScale duke përdorur kredencialet e pranishme në serverët Backend
Monitor - Lexon konfigurimin e gjendjes së sistemit direkt nga serverët mbështetës
Router: Drejton lidhjet në një ose më shumë baza të dhënash në fund
Filtri dhe regjistrimi: filtrat ju lejojnë të modifikoni pyetjet ose të shkruani një skedar regjistri me të gjitha kërkesat dhe përgjigjet e marra.
1. Klientët e Protokollit të Lidhjes lidhen me MaxScale në vend të bazës së të dhënave MySQL pa e ditur ndryshimin. Ata mund të përdorin të njëjtat biblioteka lidhjesh të përdorura deri tani: p.sh. Klient MySQL ose klient MariaDB.
2. Autentifikimi MaxScale nuk ka një sistem vërtetimi ose bazë të dhënash përdoruesi. Përdoren të njëjtët përdorues të pranishëm në bazat e të dhënave prapa, të ngarkuar kur fillon aplikacioni.
3. Monitor Përdoret për të kuptuar në çdo kohë statusin e të gjitha bazave të të dhënave backend të lidhura me MaxScale. Në këtë mënyrë është e mundur të dihet se cili është serveri Master dhe sa Slave po replikojnë saktë të dhënat. Monitori mund të përdoret për të kontrolluar një grup Galera.
4. Ruteri Drejton trafikun nga klienti te serverët duke përdorur një rregull specifik:
Drejtimi i lidhjes: ruteri normal për t'u lidhur me një bazë të dhënash
Ruteri i ndarjes së leximit/shkrimit: ndan kërkesat e shkrimit në MASTER dhe kërkesat e leximit në një nga SLAVES të lidhur
5. Filtrat dhe regjistrat e pyetjeve Ndër mjetet më të fuqishme të disponueshme nga MaxScale, sigurisht që ekzistojnë filtrat që ju lejojnë të kryeni operacione të avancuara në pyetje pa ndryshuar sjelljen e aplikacionit:
Përpunimi i pyetjeve dhe rezultateve SQL
Përdorimi i një regex të thjeshtë
Duke analizuar, modifikuar ose refuzuar pyetjet
Duke vendosur filtra të shumtë në kaskadë
Gjatë testimit tonë për MariaDB ne kuptuam se ky produkt mund të na ndihmojë të shkallëzojmë platformën tonë Joomla Cloud Hosting, duke ruajtur përputhshmërinë e prapambetur me të gjitha versionet e Joomla! dhe përdorni serverët më të përditësuar të bazës së të dhënave në të njëjtën kohë. Versioni 1.0.4-stable u lëshua disa javë më parë. Edhe pse projekti është ende i ri, unë do ta rekomandoja atë për këdo që ka një faqe shumë të madhe dhe dëshiron të ketë aftësinë për të shkallëzuar performancën e bazës së të dhënave pa ndryshuar kodin CMS.
Në artikullin tjetër do të shohim se si krijuam një mjedis zhvillimi duke përdorur Docker dhe Vagrant. Nëse jeni duke përdorur MaxScale për një nga projektet tuaja, lini një koment për të ndarë këtë përvojë me ne.
Hosting WordPress
Hosting i optimizuar për WordPress
SSD, backup, SSL dhe Application Manager: publikoni dhe përditësoni sajtin me mbështetje në italisht.
Artikuj të lidhur
Nga blogu
Nga arkivin