Contacteu-nos

info@serverion.com

Com la replicació activa-activa garanteix una alta disponibilitat

Com la replicació activa-activa garanteix una alta disponibilitat

La rèplica activa-activa manté els sistemes en funcionament sense temps d'inactivitat, fins i tot durant errors. En tenir diversos servidors que gestionen el trànsit simultàniament, aquesta configuració garanteix un servei continu, redueix el temps de recuperació a zero i millora el rendiment. Això és el que cal saber:

  • Què és: Tots els servidors estan en directe, compartint la càrrega de treball i mantenint-se sincronitzats.
  • Per què importa: El temps d'inactivitat costa diners i confiança a les empreses. Els sistemes actiu-actiu mantenen un temps de funcionament gairebé perfecte (99.999%), cosa que es tradueix en només 5,26 minuts de temps d'inactivitat anuals.
  • Com funciona: Combina el balanceig de càrrega, la sincronització de dades en temps real i la migració automàtica per a operacions sense interrupcions.
  • Beneficis clau: Temps d'inactivitat reduït, escalabilitat global i manteniment sense interrupcions.
  • Reptes: Gestionar la coherència de les dades, la complexitat operativa i els costos més elevats.

Aquesta arquitectura és ideal per a indústries com el comerç electrònic, les finances i la sanitat, on cada segon de temps de funcionament compta. Tot i que requereix una planificació i uns recursos acurats, la recompensa és un servei ininterromput i la satisfacció del client.

Replicació de diversos centres de dades: explicació de l'arquitectura activa-passiva vs. activa-activa

Com funciona la replicació activa-activa

Com funciona la replicació activa-activa: tres mecanismes bàsics

Com funciona la replicació activa-activa: tres mecanismes bàsics

La rèplica activa-activa consisteix a garantir una alta disponibilitat combinant equilibri de càrrega, sincronització en temps real, i failover automàtic. Junts, aquests mecanismes creen un sistema que funciona sense problemes, fins i tot quan s'enfronta a contratemps inesperats.

Equilibri de càrrega per a la distribució del trànsit

Al cor de la gestió del trànsit hi ha l'equilibrador de càrrega, que distribueix les sol·licituds entrants entre tots els nodes actius. S'utilitzen diversos mètodes habituals:

  • Round-Robin: Assigna sol·licituds seqüencialment als nodes. Tot i que és senzill, no té en compte la càrrega de treball real de cada servidor.
  • Distribució ponderada: Envia més trànsit a servidors privats virtuals amb més capacitat, cosa que el fa ideal per a sistemes amb diferents especificacions de maquinari.
  • Menys connexions: Dirigeix el trànsit al servidor que gestiona el menor nombre de sessions actives, evitant la sobrecàrrega durant càrregues de treball desiguals.
  • Temps de resposta mínim: Dirigeix les sol·licituds al servidor més ràpid, cosa que és crucial per a aplicacions on una baixa latència és clau.

Per a sistemes distribuïts en diverses regions, Enrutament Anycast és revolucionari. Permet que els servidors en diferents ubicacions comparteixin una única adreça IP. D'aquesta manera, el trànsit es dirigeix automàticament al node saludable més proper. Si un centre de dades regional es desconnecta, el trànsit es desplaça perfectament a altres ubicacions sense interrupcions.

Amb el balanceig de càrrega implementat, el següent pas és assegurar-se que tots els nodes es mantinguin sincronitzats.

Sincronització de dades en temps real

Mantenir la coherència de les dades entre els nodes és essencial, i això s'aconsegueix mitjançant la replicació contínua. Els diferents sistemes aborden aquest repte de maneres úniques:

  • Sistemes basats en el consens: Eines com CockroachDB utilitzen algoritmes com Raft per garantir la coherència. Una escriptura només es confirma després que una majoria (sovint 2 de cada 3 nodes) la reconegui. Aquest enfocament evita conflictes i permet recuperar-se de particions de xarxa en menys de 20 segons.
  • Sistemes basats en CRDT: Redis utilitza tipus de dades replicades sense conflictes (CRDT) per gestionar escriptures simultànies en diverses regions. Tot i que les dades locals poden diferir breument, finalment convergeixen a un únic estat coherent. Un procés de sincronització dedicat gestiona els canvis, utilitzant sincronitzacions parcials per a actualitzacions rutinàries i sincronitzacions completes per recuperar rèpliques perdudes.

""Les bases de dades actives-actives només utilitzen tipus de dades replicades sense conflictes (CRDT). Aquests tipus de dades proporcionen una resolució de conflictes predictible i no requereixen cap treball addicional des del costat de l'aplicació o del client." – Redis Software

Els sistemes que utilitzen CRDT poden aconseguir una latència de lectura i escriptura ultraràpida, sovint inferior a 1 mil·lisegon. Tanmateix, aquest nivell de rendiment requereix fins al doble de memòria que la replicació estàndard per gestionar les metadades i els retards de sincronització. Eines com NTP o Chrony són fonamentals per mantenir els rellotges dels nodes sincronitzats, garantint una comunicació fluida a través del clúster.

Aquesta sincronització garanteix que les dades romanguin coherents i fiables, fins i tot en configuracions distribuïdes i complexes.

Failover automàtic durant errors de node

Quan els nodes fallen, la replicació actiu-actiu intervé per mantenir el funcionament. Gràcies a l'equilibri de càrrega i a les dades sincronitzades, el sistema s'hi pot adaptar instantàniament. Funciona així:

  • Detecció en temps real: Els balancejadors de càrrega i els gestors de trànsit global (GTM) controlen l'estat dels nodes mitjançant senyals de batec del cor i comprovacions de disponibilitat amb retard. Si un node cau, el trànsit es redirigeix immediatament als nodes que funcionen correctament.
  • Redis Replica HA: En configuracions com Redis, els fragments de rèplica es reassignen automàticament a altres nodes, garantint que cap punt de fallada únic no interrompi les operacions.
  • Sistemes basats en el consens: Aquests sistemes envien sol·licituds de replicació a múltiples rèpliques (almenys 3) per mantenir la integritat de les dades, fins i tot si un node deixa d'estar disponible.

Per a configuracions entre regions, un gestor de trànsit global garanteix que els usuaris es dirigeixin a la regió operativa més propera. Les comprovacions d'estat amb sensibilitat al retard ajuden a evitar dades obsoletes durant la migració per error, mentre que les implementacions de Redis poden utilitzar mecanismes Pub/Sub per supervisar els fluxos de replicació de manera més eficaç que les lectures simples de conjunts de dades.

Beneficis de la replicació activa-activa

La replicació activa-activa és revolucionària per minimitzar el temps d'inactivitat, escalar els sistemes de manera eficient i garantir un manteniment ininterromput. En combinar el balanceig de càrrega, la sincronització en temps real i la migració per error automatitzada, ofereix una alta disponibilitat com cap altra. Servidor‘La infraestructura de aprofita al màxim aquestes característiques per mantenir els sistemes funcionant sense problemes i de manera eficient.

Temps d'inactivitat reduït

Un dels avantatges més destacats de la replicació activa-activa és la seva capacitat de reduir el temps d'inactivitat a nivells gairebé nuls. Com que tots els nodes estan actius i processen sol·licituds simultàniament, no hi ha cap retard a l'espera que s'activi un sistema de còpia de seguretat si un node falla. La càrrega de treball es distribueix instantàniament entre els nodes restants, garantint que no hi hagi cap interrupció perceptible.

""Perquè un servidor es consideri 'd'alta disponibilitat', ha d'aconseguir un temps de funcionament de xarxa de 99.999%." – Glossari de desenvolupadors de xarxes de Microsoft

Assolir un temps de funcionament de "cinc nous" (99.999%) significa només uns 5,26 minuts de temps d'inactivitat a l'any. Les arquitectures actiu-actiu eliminen els punts únics de fallada, garantint que els problemes de maquinari, les fallades de programari o els problemes de xarxa no facin caure el sistema.

Però la reducció del temps d'inactivitat només és el principi. La replicació activa-activa també destaca quan es tracta d'escalar globalment.

Escalabilitat i compatibilitat amb diverses regions

Els entorns actiu-actiu simplifiquen l'escalat. L'addició de nous nodes augmenta el rendiment del sistema immediatament, ja que cada node pot gestionar tant lectures com escriptures. Aquest escalat horitzontal permet que el rendiment creixi linealment amb cada node addicional.

La distribució geogràfica va un pas més enllà. En distribuir els nodes per regions (per exemple, un a Virgínia, un altre a Califòrnia i un tercer a Irlanda), els usuaris es connecten al node més proper. Aquesta configuració ofereix temps de resposta ultraràpids, sovint inferiors a 1 mil·lisegon, tant per a la lectura com per a l'escriptura de dades. A més, si un centre de dades es desconnecta a causa d'una interrupció o un desastre, el trànsit es redirigeix automàticament a altres nodes sense cap interrupció del servei.

Manteniment sense interrupció del servei

El manteniment rutinari ja no requereix temps d'inactivitat ni avisos previs als clients. La mateixa sincronització en temps real que gestiona les fallades dels nodes també permet un manteniment sense problemes. Quan un node necessita actualitzacions, pegats de seguretat o substitucions de maquinari, es pot desconnectar mentre els altres nodes continuen gestionant tot el trànsit entrant.

""Oracle GoldenGate ofereix aquestes solucions actives tant per a projectes d'alta disponibilitat com per a actualitzacions i migracions sense temps d'inactivitat." – Oracle

Un cop finalitzat el manteniment, el node fora de línia es torna a sincronitzar automàticament amb les actualitzacions que ha perdut. Aquest enfocament garanteix que els sistemes es mantinguin segurs i actualitzats sense interrompre mai els usuaris ni les operacions comercials.

Reptes en les implementacions actives-actives

La replicació activa-activa ofereix avantatges innegables, però també presenta a les organitzacions una sèrie de reptes tècnics. Implementar amb èxit aquesta configuració requereix una gestió acurada de la coordinació, la coherència i els costos en sistemes distribuïts.

Gestió de la coherència de les dades

La sincronització en temps real és la base de la fiabilitat en les implementacions actiu-actiu, però també comporta reptes importants. Un dels problemes més difícils és gestionar les escriptures simultànies de dades en diferents nodes. Per exemple, si dos usuaris actualitzen el mateix registre alhora en servidors separats, el sistema ha de decidir quin canvi conservar. Les estratègies habituals per resoldre aquests conflictes inclouen "L'última escriptura guanya", assignar prioritat a nodes específics o utilitzar una lògica de fusió personalitzada.

""El multi-master no elimina la contenció, només la mou. En aquestes situacions tindreu conflictes, alguns deguts al retard, altres per altres motius. La lògica de resolució esdevé crítica.""

  • Jan Wieremjewicz, director sènior de producte, Percona

La distància geogràfica entre nodes afegeix una altra capa de complexitat. Per exemple, la latència de la xarxa entre els EUA i Austràlia pot introduir retards d'anada i tornada de 150 a 200 ms, cosa que pot fer que els nodes serveixin dades obsoletes temporalment o es perdin actualitzacions recents durant una migració per error. Aquest problema s'agreuja per problemes de sincronització del rellotge; si els rellotges del servidor es desplacen, la resolució de conflictes basada en marques de temps pot esdevenir poc fiable, cosa que complica encara més la coherència.

Complexitat operativa

Executar un sistema actiu-actiu no és gens senzill. Aquests entorns exigeixen coneixements especialitzats i una supervisió constant. Les tasques rutinàries, com ara les actualitzacions o els desplegaments d'esquemes, comporten un risc més elevat d'interrompre la replicació i requereixen una planificació meticulosa per evitar temps d'inactivitat.

""Actiu-actiu no és la drecera que sovint sembla. No és simplement 'alta disponibilitat', sinó millor. Representa un canvi fonamental en el disseny del sistema amb costos significatius i continus en enginyeria, operacions i gestió de productes."‘

  • Jan Wieremjewicz, director sènior de producte, Percona

La supervisió operativa esdevé significativament més exigent en configuracions actiu-actiu. Els equips han de vigilar de prop el retard de replicació, l'estat dels nodes, les comprovacions de coherència i el seguiment de transaccions en diversos nodes escrivibles. A més, aquests sistemes sovint requereixen més memòria (de vegades el doble que les configuracions de replicació estàndard) per gestionar les metadades i els retards de sincronització. En alguns casos, les polítiques d'expulsió es poden activar quan l'ús de memòria arriba al 80% per garantir una propagació fluida entre clústers.

Implicacions de costos

Els desplegaments actiu-actiu tenen un preu elevat. Requereixen més recursos de maquinari, un ample de banda de xarxa més elevat i personal altament qualificat per gestionar el sistema. A més, les solucions actiu-actiu de nivell empresarial sovint comporten costos de llicència elevats en comparació amb les configuracions estàndard. Abans de comprometre's amb una arquitectura d'aquest tipus, les organitzacions haurien de considerar acuradament si opcions més senzilles, com ara rèpliques de lectura regionals, fragmentació o configuracions actiu-passives, podrien satisfer les seves necessitats a un cost inferior. Si bé aquests reptes són substancials, abordar-los és essencial per aconseguir l'alta disponibilitat que les arquitectures actiu-actiu pretenen oferir.

Patrons comuns de desplegament actiu-actiu

Les organitzacions utilitzen diversos patrons ben establerts per implementar la rèplica activa-activa, cadascun adaptat per satisfer necessitats operatives específiques. Aquests enfocaments es basen en els mecanismes bàsics dels sistemes actiu-actiu, aplicant-los en diferents escenaris de desplegament. L'elecció del patró correcte depèn dels requisits i les restriccions del vostre sistema.

Clústers de bases de dades multiregionals

Un dels patrons més populars és distribuir clústers de bases de dades a través de múltiples regions geogràfiques. Aquesta configuració col·loca clústers de bases de dades independents en ubicacions com la costa est dels EUA, Europa i Àsia, i cada clúster gestiona les operacions locals de lectura i escriptura. Els usuaris es connecten al clúster més proper, garantint latència inferior a mil·lisegons per a sol·licituds locals. Tanmateix, la sincronització de dades entre regions introdueix retards a causa de les distàncies físiques implicades.

Per exemple, si un usuari actualitza el seu perfil a Nova York, el canvi pot trigar una estona a aparèixer a Europa o Àsia. Sistemes com CockroachDB solucionen això mitjançant la replicació basada en consens, que requereix una majoria de rèpliques (normalment tres) per confirmar una escriptura abans que es commit. Això garanteix una forta coherència en tots els nodes.

""La disponibilitat multiactiva ofereix avantatges similars a les nocions tradicionals d'alta disponibilitat, però també permet llegir i escriure des de tots els nodes del clúster sense generar cap conflicte." – CockroachDB

Aquest patró és adequat per a aplicacions globals que requereixen el compliment de les lleis de residència de dades o per a sistemes d'alt trànsit com ara plataformes de comerç electrònic i serveis financers. Tanmateix, potser no és la millor opció per a aplicacions amb una lògica de transacció complexa que no pot gestionar la coherència final.

Alguns desplegaments van més enllà incorporant la lògica de replicació directament a la capa d'aplicació per a una major resiliència.

Replicació a nivell d'aplicació

En aquest patró, la lògica de failover s'integra directament a l'aplicació, en lloc de dependre únicament de la base de dades. L'aplicació supervisa activament l'estat de les rèpliques de la base de dades i canvia les connexions quan detecta un error. Per exemple, si una rèplica Redis local es desconnecta, l'aplicació pot redirigir immediatament a una rèplica remota en una altra regió.

Sovint s'utilitza un mecanisme de publicació/subscripció per millorar la fiabilitat fent un seguiment de l'estat de les rèpliques. Tot i que aquest enfocament ofereix als desenvolupadors més control sobre les compensacions de coherència, comporta reptes. La replicació asíncrona durant la migració per error pot provocar la pèrdua d'operacions d'escriptura.

""La commutació per error de connexió Active-Active pot millorar la disponibilitat de les dades, però pot afectar negativament la coherència de les dades. Una aplicació que commuta per error a una altra rèplica pot perdre operacions d'escriptura." – Redis

Aquest mètode ofereix flexibilitat però requereix un disseny acurat per equilibrar la disponibilitat i la consistència.

Replicació de màquines virtuals i servidors

Un altre enfocament implica replicar màquines virtuals (VM) i servidors en diferents llocs. Sovint s'utilitzen "clústers estesos", on els hosts en dues ubicacions físiques operen dins del mateix entorn virtualitzat. L'emmagatzematge replicat sincronitzadament que sigui accessible i es pugui escriure des d'ambdós llocs, juntament amb la connectivitat de xarxa de capa 2 de baixa latència, és essencial per a aquesta configuració.

Aquest patró és ideal per a la recuperació de desastres i la continuïtat del negoci. Durant les operacions normals, les càrregues de treball es poden distribuir entre els dos llocs. En cas d'error, totes les càrregues de treball es migren automàticament al lloc supervivent. Tanmateix, la implementació d'això requereix una infraestructura important, incloses xarxes compartides i emmagatzematge sincronitzat, cosa que pot augmentar tant el cost com la complexitat.

Conclusió

La replicació activa-activa juga un paper fonamental per a les empreses on fins i tot un moment d'inactivitat és inacceptable. En mantenir tots els nodes en línia i gestionar activament el trànsit, aquesta configuració aconsegueix... Objectiu de temps de recuperació (RTO) de zero – no cal esperar que s'activi un servidor de còpia de seguretat perquè tots els servidors ja estan en funcionament.

Com s'ha esmentat anteriorment, aquesta arquitectura ofereix clars avantatges operatius, com ara un millor temps de funcionament i rendiment. A diferència dels sistemes actiu-passiu que deixen els recursos inactius, les configuracions actiu-actiu aprofiten al màxim el maquinari. El failover es produeix en segons i els dissenys moderns garanteixen una latència mínima per a les sol·licituds locals. Per a indústries com les plataformes de negociació de valors o els serveis de telecomunicacions, on cada mil·lisegon compta, aquest nivell de rendiment pot ser revolucionari.

""La tolerància a la pèrdua de dades a la majoria d'indústries s'ha aproximat a zero. Mentre que abans s'acceptaven minuts de temps d'inactivitat, el nivell tolerable de temps d'inactivitat avui dia també s'està movent cap a minuts d'un sol dígit o fins i tot segons." – Precisely White Paper

Tanmateix, aquesta fiabilitat comporta una complexitat afegida. Garantir la coherència de les dades entre diversos nodes actius requereix mecanismes avançats de resolució de conflictes, rellotges sincronitzats i una supervisió constant del retard de replicació. A més, les demandes de memòria es poden duplicar per gestionar les metadades i els retards de replicació. Però per a les organitzacions on el temps de funcionament afecta directament els ingressos i la confiança dels clients, aquests reptes són un compromís necessari.

Tant si gestioneu clústers de bases de dades multiregionals, utilitzeu replicació a nivell d'aplicació o implementeu clústers extensius a centres de dades, la replicació activa-activa converteix l'alta disponibilitat en una realitat pràctica. No és només una elecció de disseny, sinó una necessitat estratègica per a les empreses que no es poden permetre interrupcions. Amb les solucions avançades de replicació activa-activa de Serverion, els vostres serveis romanen accessibles, independentment dels obstacles.

Preguntes freqüents

Quan hauria de triar actiu-actiu en lloc d'actiu-passiu?

Quan la vostra sol·licitud ho requereixi disponibilitat constant, màxim rendiment durant les aglomeracions de trànsit, escalabilitat, i redundància geogràfica, una configuració actiu-actiu és la millor opció. Tot i que comporta un augment de les despeses d'infraestructura i una complexitat afegida, ofereix una fiabilitat i disponibilitat sòlides per a sistemes que no es poden permetre temps d'inactivitat.

Com eviten els conflictes d'escriptura els sistemes actiu-actiu?

Els sistemes actiu-actiu aborden els conflictes d'escriptura aprofitant tipus de dades replicades sense conflictes (CRDT). Aquests estan dissenyats per garantir consistència final sincronitzant automàticament les operacions de lectura i escriptura entre múltiples rèpliques. Els CRDT resolen els conflictes pel seu compte, eliminant la necessitat de correccions manuals. Aquest mètode manté les dades consistents alhora que admet una alta disponibilitat en sistemes distribuïts.

Què es requereix per executar active-active entre regions?

Executar una replicació activa-activa entre regions requereix una solució global de gestió del trànsit per gestionar l'encaminament de sol·licituds de manera eficaç. Això es pot aconseguir mitjançant eines com ara gestors de trànsit basats en DNS o equilibradors de càrrega. La configuració també requereix una infraestructura capaç de sincronització de la replicació de dades tot mantenint la coherència, sovint mitjançant enfocaments com consistència final.

Per garantir un sistema segur i fiable, implementar Xifratge TLS per a la seguretat de la xarxa. A més, és fonamental tenir en compte factors com ara latència, costos operatius, i el complexitat de la gestió. Aquestes consideracions són essencials per mantenir una alta disponibilitat i unes capacitats robustes de recuperació davant desastres.

Publicacions de bloc relacionades

ca