Programmering

Hvordan Aerospike oppnår lav ventetid og sterk konsistens på tvers av flere nettsteder

I dagens globale digitale økonomi må organisasjoner ha applikasjoner som alltid er på og som fungerer i sanntid. Applikasjoner som digitale betalingssystemer, sanntids beholdningssporing og online spill er avhengige av robuste systemer med rask tilgang til datasentre distribuert over hele verden. For applikasjoner som disse er det uakseptabelt å kompromittere datakonsistensen for enhver transaksjon, enten dataene er lagret i en privat sky, en offentlig sky eller en hvilken som helst kombinasjon av begge.

Men å drive en klynge på tvers av geografisk distribuerte datasentre eller skyregioner introduserer høye kostnader, datainkonsekvenser og begrenset motstandsdyktighet. For å overvinne disse hindringene har Aerospike utviklet en klyngefunksjon på flere nettsteder i Aerospike Database 5 som gjør det mulig for bedrifter å drive en enkelt databaseklynge på flere steder uten å risikere tap av data eller begrense tilgjengeligheten av data.

Klynging på flere nettsteder gir en aktiv-aktiv dataarkitektur

En aktiv-aktiv dataarkitektur spenner over flere regioner og forespørsler om tjenesteapplikasjoner på alle steder. Hvert sted er "aktivt". Dataposter blir replikert på tvers av regioner slik at lesing kan behandles hvor som helst. I noen arkitekturer håndteres skriving av en gitt datapost bare på et enkelt hovedsted; andre arkitekturer gjør at slike skrivinger kan forekomme på flere steder. Hver tilnærming har sine utfordringer som inkluderer tilgjengelighet, konsistens og ytelse.

Tidligere gjorde organisasjoner avveininger mellom datakonsistens og høy ytelse. Aerospike Database 5 med gruppering av flere nettsteder eliminerer disse kompromissene. Klynging på flere nettsteder kombinerer sterk konsistens med støtte for globalt distribuerte transaksjonsapplikasjoner som kan slappe av skriveforsinkelsen, som varierer avhengig av avstanden mellom nettsteder i en klynge, mens den fremdeles leverer leselatens under millisekunder ved høy gjennomstrømning.

Hvordan Aerospike klynger på flere nettsteder fungerer

I figur 1 nedenfor er en enkelt Aerospike-klynge arrangert i form av tre stativer fordelt på tre steder. Nettstedene kan være et datasenter, en skyregion eller til og med forskjellige skyregioner som Amazon Web Services, Google Cloud eller Microsoft Azure. Applikasjoner identifiserer dette geografisk distribuerte miljøet som et enkelt system, og lese- / skriveforespørsler håndteres sømløst. For optimal ytelse, les prosessen lokalt mens du skriver rute til eksterne steder om nødvendig.

Aerospike

Rackbevissthet er en viktig evne som gjør at Aerospike-klynger kan distribueres over fjerne datasentre eller skyregioner. I en gruppe med flere nettsteder gjør Aerospikes funksjon for rackbevissthet at kopier av dataposter gruppert i datapartisjoner kan lagres på forskjellige stativer. Gjennom innstillinger for datareplikasjonsfaktor kan hvert rack konfigureres til å lagre en full kopi av all data for å maksimere datatilgjengeligheten og lokal leseytelse.

I figur 1 instruerer en replikasjonsfaktor på 3 Aerospike å vedlikeholde kopier av alle data i hvert stativ. Bare en node i ett rack i klyngen vedlikeholder en hovedkopi av en gitt datapartisjon når som helst; andre stativer har noder som lagrer kopier av denne partisjonen. Aerospike synkroniserer hovedkopien med kopiene på forskjellige stativer / noder.

Aerospike fører en liste for å holde oversikt over denne informasjonen. I figur 1 er listehovedkopien på node 3 i rack 2, og replikaene er på node 1 i rack 1 og node 2 i rack 3. Denne klyngen vil bevare sterk konsistens, unngå tap av data og bevare tilgjengeligheten på enkelt- nettstedsfeil.

Hvordan Aerospike klynger på flere nettsteder kommer seg fra feil

Naturkatastrofer, strømbrudd, maskinvarefeil og nettverkssvikt kan føre til at en eller flere komponenter i en flerregionsklynge blir utilgjengelige. Motstandsdyktighet er et kritisk krav i enhver operativ region med flere regioner.

I figur 2 nedenfor har en nettverksfeil ført til at Rack 3 ble koblet fra Racks 1 og 2 for å skape et splittet hjernescenario, som er når noen deler av systemet ikke er i stand til å kommunisere med andre. Rack 3 er fremdeles oppe, med alle tre noder som danner en underklynge. I dette tilfellet oppdager Rack 1 og 2 enkelt at Rack 3 er ute og danner en klynge med seks noder. Dette blir majoritetsklyngen og har full tilgjengelighet siden den har to kopier av data i underklyngen. En tredje kopi opprettes automatisk ved hver skriving når systemet fortsetter å foreta transaksjoner.

Aerospike

Hver transaksjon som ble begått i Rack 3 er også begått i Rack 1 og Rack 2, og først da vil transaksjonene gå videre. Lokale apper på Rack 1 og Rack 2 fungerer fortsatt bra. De lokale appene på Rack 3 blir utilgjengelige. Ved hjelp av den sterke konsistensalgoritmen til Aerospike, kan Rack 3 bestemme ut fra en kombinasjon av listen, og det faktum at den kan snakke med Racks 1 og 2, at den er en minoritetsunderklynge og er utilgjengelig for applikasjon som leser og skriver. Og når Rack 3 kommer tilbake eller blir koblet til de to andre stativene på nytt, vil de ekstra kopiene av data som er opprettet i Rack 1 og 2 for skrivinger som har skjedd, bli slått sammen i Rack 3 slik at den kan begynne å ta over sin del av lasten. Alt dette skjer uten operatørintervensjon, og opprettholder sterk konsistens uten datatap og fullstendig tilgjengelighet under split-brain-hendelsen.

Oppfyller kravene til den alltid pågående globale økonomien

Den kontinuerlige naturen til dagens globale digitale økonomi krever databasesystemer som fungerer uten forstyrrelse eller risiko for tap av data. Aerospikes multi-site clustering-funksjonalitet lar organisasjoner distribuere en enkelt klynge på flere steder med 24/7 tilgjengelighet og sterk konsistens. Nye typer applikasjoner som involverer globalt distribuerte transaksjoner er nå mulig å implementere.

Srini Srinivasan er grunnlegger og produktansvarlig i Aerospike, en leder innen neste generasjon NoSQL-dataløsninger i sanntid. Han har to tiårs erfaring med å designe, utvikle og drive infrastruktur i stor skala. Han har også mer enn 30 patenter innen database, web, mobil og distribuerte systemteknologier. Han var med å grunnlegge Aerospike for å løse skaleringsproblemene han opplevde med internett og mobile systemer mens han var senior ingeniørdirektør i Yahoo.

New Tech Forum er et sted for å utforske og diskutere ny teknologi i enestående dybde og bredde. Valget er subjektivt, basert på vårt valg av teknologiene vi mener er viktige og av størst interesse for leserne. godtar ikke markedsføringssikkerhet for publisering og forbeholder seg retten til å redigere alt bidratt innhold. Send alle henvendelser til [email protected].

$config[zx-auto] not found$config[zx-overlay] not found