Programmering

Bruker Redis Enterprise i Azure

NoSQL-lagring finnes i mange typer. Noen er dokumentdatabaser, andre lagrer nøkkel / verdipar, som alle støtter mange forskjellige typer indeks og spørsmål. Det er diskbaserte systemer og de som er designet for å fungere i minnet. Noen håndterer store datamengder effektivt; andre fokuserer på å levere fart. Med så mange forskjellige produkter er det noen ganger vanskelig å velge en.

Et av de mer populære minnesystemene er Redis, Remote Dictionary Server. Den er bygget på Redis-serveren med åpen kildekode, sponset av RedisLabs, med et sett med kommersielle virksomhetsalternativer. Microsoft har tilbudt sin egen implementering av åpen kildekode Redis på Azure for en stund nå, der den hovedsakelig brukes som hurtigbuffer med høy ytelse. Imidlertid kunngjorde det nylig et partnerskap med RedisLabs, som bringer en fullstendig administrert Redis Enterprise-stack til Microsofts sky.

Legge til Redis Enterprise i Azure

Den nye tjenesten er kanskje best tenkt som å legge til to nye nivåer til de eksisterende Basic-, Standard- og Premium-tjenestene: Enterprise og Enterprise SSD. Microsofts Redis-implementering har vært fokusert på å levere en hurtig ytelsesbuffer for dataene dine i store skyinnfødte applikasjoner, der hurtigbufferen hjelper deg med å administrere meldinger for hendelsesdrevet kode eller økttilstand når du bygger systemer eller serverløse systemer.

Cacher er ikke bare for å administrere innkommende data. Moderne apper kan bruke dem som en måte å laste inn innhold som brukere regelmessig bruker. Du kan forhåndsinstallere Azure’s Redis med de vanlige eiendelene dine, for eksempel overskrifter og logoer, som ikke endres så ofte. Ved å være vert for dem i minnet kan de leveres mye raskere, i stedet for å trekke dem fra disken hver gang en side lastes inn.

Å bruke Redis handler om ytelse. Å plassere hurtigbufferdataene dine i et minnesystem kan redusere programforsinkelsen betydelig, spesielt når du bygger og kjører distribuerte applikasjoner i stor skala. Innhold i Redis-butikker kan replikeres mellom Azure-regioner, noe som reduserer risikoen for at brukere i en region må få tilgang til innhold som er lagret halve verden borte.

Starter med Azure Cache for Redis

Microsofts open source-implementering, Azure Cache for Redis, kommer i Basic, Standard og Premium, med en maksimal størrelse på 1,2 TB for Premium-databaser. Basic er en relativt enkel implementering av en enkelt node, uten SLA, men et utvalg av minnestørrelser. Standard gir deg mer pålitelighet ved å implementere et to-nodesystem og legge til en SLA. Hvis du trenger bedre ytelse og lavere ventetid, bruker Premium-alternativet en annen klasse av Azure-maskinvare, noe som gir høyere gjennomstrømning enn standard for hva som ellers ville være den samme konfigurasjonen.

Det er enkelt å sette opp en Redis-cache i Azure. Start med et DNS-navn, og legg deretter hurtigbufferen til en ressursgruppe og velg en plassering. Dette setter opp de underliggende virtuelle maskinene og starter hurtigbufferen din; når Azure rapporterer at den kjører, kan du bruke den i koden din. Påloggingsinformasjonen som trengs for å koble til Redis, er i Azure Portal, med tilgangsnøkler og tilkoblingsstrenger. Portalen viser adressen til forekomsten din pluss porten koden din trenger for å koble til. Som standard vil dette være via SSL.

Det er forskjellige NuGet-pakker for bruk av Redis med .NET-applikasjonene dine, med samtaler for å hente og sette inn elementer i Redis-hurtigbufferen, samt for å kontrollere at applikasjonen din er koblet til Redis. Alt du trenger å gjøre er å angi cache-tilkoblingsstrengen og deretter bruke den til å lage et cache-objekt fra Redis-databasen. Hvis du bruker Visual Studio, kan du jobbe med Redis ved å bruke kjente .NET-databaseverktøy som Entity Framework.

Redis-baserte applikasjoner er enkle å implementere ved bruk av MVC (modell, visning og kontroller) mønstre, ved hjelp av kontrollere for å skrive seriell data i hurtigbufferen og lese den når det er nødvendig. Microsoft anbefaler at du bruker JSON-formater for å skrive og lese data, med returnerte JSON-data som er enkle å formatere og vise ved hjelp av vanlige JavaScript- og .NET-biblioteker.

Azure Cache for Redis er mer enn en database og et sett med APIer, siden den inneholder et komplett sett med administrasjonsverktøy, inkludert overvåking. Disse kan hjelpe deg med å skalere Redis-forekomsten din etter behov. Du kan bare skalere nivåene, og flytte fra Basic til Standard til Premium.

Eventuelle størrelsesendringer er en egen operasjon, og du kan endre størrelse opp eller ned i samme nivå (med forbehold om at du ikke kan skalere ned til det minste tilbudet i standardstørrelse). Hvis du vil gå ned et nivå, opprett en ny Redis-forekomst, og kopier deretter data eller strukturer til den nye databasen før du sletter den eldre versjonen. Hvis du trenger å automatisere skalering, kan du bruke PowerShell eller Azure CLI, eller med kode ved hjelp av Azure Management Libraries.

Skaler opp til Redis Enterprise's databasefunksjoner i minnet

Azure's Redis-implementering er bra, men det er ikke hele historien. Den er basert på åpen kildekode Redis, så den har ikke alle funksjonene i den kommersielle Redis Enterprise. Derfor samarbeidet Microsoft og Redis om å levere to ekstra nivåer, administrert av Microsoft og støttet av begge selskaper, med full integrasjon i Azure Portal. Enterprise, basisenheten, bruker standard Azure-lagring, mens Enterprise SSD-nivået legger til støtte for flashlagring for raskere tilgang til data som ikke er tilgjengelig i minnet.

For tiden i en privat forhåndsvisning, legger den nye tjenesten til støtte for viktige Redis Enterprise-moduler, slik at du kan bruke tjenesten for mye mer enn rent hurtigbufrede data. Det er et viktig skille, ettersom en rask database i minnet er en viktig del av et begivenhetsdrevet system i stor skala, spesielt et som er avhengig av tidsseriedata. Andre støttede funksjoner inkluderer RedisBloom, som legger til sannsynlig datafiltrering, og RediSearch, som forbedrer indeksering og lar deg bruke fulltekstsøk på dataene dine.

Flere funksjoner vil bli lagt til når tjenesten går fra privat forhåndsvisning til generell tilgjengelighet (for øyeblikket planlagt til slutten av 2020). Disse vil tillate deg å bruke aktiv-aktiv replikering mellom geografiske regioner og hybrid distribusjoner som fungerer mellom private og Azure-hostede Redis-forekomster. Det er ikke nødvendig å ha en dedikert forbindelse mellom lokale og Azure Redis; aktiv-aktiv replikering vil fungere over en VPN.

Den nye Redis Enterprise-implementeringen ser ut som den eksisterende Azure Cache for Redis inne i portalen, og du vil kunne skalere opp fra eksisterende forekomster eller starte fra bunnen av. Hvis du leter etter bedre ytelse, er oppskalering et alternativ, men du vil sannsynligvis opprette en helt ny forekomst hvis du bruker noen av de nye databasefunksjonene. Du kan aktivere dem som en del av opprettelsesprosessen, fra portalen eller via en Azure Resource Manager-mal. Selv om mye av administrasjonen og overvåkingen din kommer fra Azure Portal, har du muligheten til å bruke Redis egne administrasjonsverktøy for å hjelpe deg med å stille inn og optimalisere dataene dine.

Kombinasjonen av Azure's Redis-implementering og RedisLabs 'Redis Enterprise er en interessant en som viser hvordan en leverandør med et premium-tilbud bygget på et åpen kildekode-fundament kan sameksistere med hyperskalaskyer. Azure er i stand til å tilby en tjeneste basert på open source-plattformen, mens mer komplekse implementeringer kan bruke RedisLabs ’verktøy. Denne ruten gir selskapet tilgang til en ny inntektsstrøm uten å måtte endre lisensieringsmodellen til en som stenger skyleverandører.

Med en enkel vei fra Azures Redis-baserte hurtigbuffertjeneste til Redis Enterprise, og uten endring i administrasjonsverktøy eller faktureringsforhold, er den også gjennomsiktig for sluttbrukere. De får tilgang til nye nivåer og nye funksjoner uten å måtte endre måten de jobber på.

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