Ohjelmointi

Redis Enterprise -sovelluksen käyttö Azuressa

NoSQL-tallennustilaa on useita. Jotkut ovat asiakirjatietokantoja, toiset tallentavat avain / arvo-pareja, jotka kaikki tukevat monia erityyppisiä hakemisto- ja kyselytyyppejä. On levypohjaisia ​​järjestelmiä ja järjestelmiä, jotka on suunniteltu toimimaan muistissa. Jotkut käsittelevät suuria määriä dataa tehokkaasti; toiset keskittyvät nopeuden tuottamiseen. Niin monien eri tuotteiden kanssa on joskus vaikea valita yksi.

Yksi suosituimmista muistijärjestelmistä on Redis, Remote Dictionary Server. Se on rakennettu avoimen lähdekoodin Redis-palvelimelle, jota tukee RedisLabs, ja siinä on joukko kaupallisia yritysvaihtoehtoja. Microsoft on jo jonkin aikaa tarjonnut omaa avoimen lähdekoodin Redis-sovellusta Azuressa, jossa sitä käytetään pääasiassa korkean suorituskyvyn välimuistina. Se ilmoitti kuitenkin äskettäin yhteistyöstä RedisLabsin kanssa, jolloin täysin hallittu Redis Enterprise -pino saatiin Microsoftin pilveen.

Redis Enterprise -palvelun lisääminen Azureen

Uuden palvelun ajatellaan ehkä parhaiten lisäävän kaksi uutta tasoa olemassa oleviin Basic-, Standard- ja Premium-palveluihin: Enterprise ja Enterprise SSD. Microsoftin Redis-toteutus on keskittynyt tuottamaan suuritehoisen välimuistin tiedoillesi suurissa pilvipohjaisissa sovelluksissa, joissa välimuisti auttaa hallitsemaan tapahtumavetoisen koodin tai istuntotilan viestejä, kun rakennat kontti- tai palvelimettomia järjestelmiä.

Välimuistit eivät ole vain saapuvien tietojen hallintaa. Nykyaikaiset sovellukset voivat käyttää niitä tapana ladata sisältöä, jota käyttäjät käyttävät säännöllisesti. Voit esiladata Azure's Redisin tavallisilla resursseillasi, kuten otsikoilla ja logoilla, jotka eivät muutu niin usein. Isännöimällä ne muistiin, ne voidaan toimittaa paljon nopeammin kuin vetämällä niitä levyltä aina, kun sivu ladataan.

Rediksen käyttö on kyse suorituskyvystä. Välimuistidatan tallentaminen muistijärjestelmään voi vähentää sovellusten viivettä huomattavasti, varsinkin kun rakennat ja suoritat hajautettuja sovelluksia mittakaavassa. Redis-myymälöiden sisältö voidaan kopioida Azure-alueiden välillä, mikä vähentää riskiä, ​​että yhden alueen käyttäjien on käytettävä puolen maailman ulkopuolelle tallennettua sisältöä.

Aloitetaan Redisin Azure-välimuistilla

Microsoftin avoimen lähdekoodin toteutus, Azure Cache for Redis, on saatavana Basic-, Standard- ja Premium-versioissa, enimmäiskoko 1,2 Tt Premium-tietokannoille. Basic on suhteellisen yksinkertainen yhden solmun toteutus, ilman SLA: ta, mutta valittavissa olevat muistikoot. Standard antaa sinulle enemmän luotettavuutta ottamalla käyttöön kaksisolmujärjestelmän ja lisäämällä SLA. Jos tarvitset paremman suorituskyvyn ja matalamman viiveen, Premium-vaihtoehto käyttää erilaista Azure-laitteistoa, mikä antaa korkeamman suorituskyvyn kuin Normaali sille, mikä muuten olisi sama kokoonpano.

Redis-välimuistin määrittäminen Azureen on tarpeeksi helppoa. Aloita DNS-nimellä, lisää sitten välimuisti resurssiryhmään ja valitse sijainti. Tämä määrittää taustalla olevat virtuaalikoneet ja käynnistää välimuistisi; Kun Azure ilmoittaa sen olevan käynnissä, voit käyttää sitä koodissasi. Redis-yhteyden muodostamiseen tarvittavat tunnistetiedot ovat Azure-portaalissasi, jossa on käyttöavaimet ja yhteysmerkkijonot. Portaali näyttää ilmentymän osoitteen ja portin, johon koodisi on muodostettava yhteys. Oletuksena tämä tapahtuu SSL: n kautta.

On olemassa useita NuGet-paketteja Rediksen käyttämiseen .NET-sovellusten kanssa, puhelut kohteiden hakemiseen ja asettamiseen Redis-välimuistissa sekä sen tarkistamiseksi, että sovelluksesi on liitetty Redisiin. Sinun tarvitsee vain asettaa välimuistin yhteysmerkkijono ja käyttää sitä luomaan välimuistiobjekti Redis-tietokannastasi. Jos käytät Visual Studiota, voit työskennellä Rediksen kanssa tutuilla .NET-tietokantatyökaluilla, kuten Entity Frameworkilla.

Redis-pohjaiset sovellukset on helppo toteuttaa käyttämällä MVC (malli, näkymä ja ohjain) -malleja käyttämällä ohjaimia sarjatuotteiden kirjoittamiseen välimuistiin ja tarvittaessa lukemiseen. Microsoft suosittelee tietojen kirjoittamiseen ja lukemiseen JSON-muotoja, ja palautetut JSON-tiedot on helppo muotoilla ja näyttää tavallisilla JavaScript- ja .NET-kirjastoilla.

Azure-välimuisti Redisille on muutakin kuin tietokanta ja joukko sovellusliittymiä, koska se sisältää täydelliset hallintatyökalut, mukaan lukien seuranta. Nämä voivat auttaa sinua laajentamaan Redis-instanssiasi tarvittaessa. Voit suurentaa vain tasoja, siirtymällä Basicista Standardiin Premiumiin.

Kaikki kokomuutokset ovat erillinen toimenpide, ja voit muuttaa kokoa ylös tai alas samalla tasolla (sillä ehdolla, että et voi pienentää pienimpään vakiokokoiseen tarjoukseen). Jos haluat siirtyä alaspäin, luo uusi Redis-esiintymä ja kopioi sitten kaikki tiedot tai rakenteet uuteen tietokantaan ennen vanhemman version poistamista. Jos haluat automatisoida skaalauksen, voit käyttää PowerShelliä tai Azure CLI: tä tai koodilla Azure Management Libraries -sovelluksia.

Laajentaminen Redis Enterprisen muistin tietokantatoimintoihin

Azuren Redis-toteutus on hyvä, mutta se ei ole koko tarina. Se perustuu avoimen lähdekoodin Redisiin, joten sillä ei ole kaikkia kaupallisen Redis Enterprise -ominaisuuksia. Siksi Microsoft ja Redis toimittivat yhdessä kaksi ylimääräistä tasoa, joita Microsoft hallinnoi ja molemmat yritykset tukevat, integroimalla ne täysin Azure-portaaliin. Enterprise, perustaso, käyttää Azure-vakiotallennustilaa, kun taas Enterprise SSD -taso lisää flash-tallennustuen, jotta pääset nopeammin tietoihin, joita ei ole muistissa.

Tällä hetkellä yksityisessä esikatselussa uusi palvelu lisää tukea tärkeimmille Redis Enterprise -moduuleille, jolloin palvelua voi käyttää paljon muuhun kuin puhtaasti välimuistiin tallennettuun dataan. Tämä on tärkeä ero, koska nopea, muistissa oleva tietokanta on tärkeä osa mittakaavassa, tapahtumavetoista järjestelmää, erityisesti järjestelmää, joka perustuu aikasarjatietoihin. Muita tuettuja ominaisuuksia ovat RedisBloom, joka lisää todennäköisyysdatan suodatuksen, ja RediSearch, joka parantaa indeksointia ja antaa sinun käyttää kokotekstihakua tiedoissasi.

Lisäominaisuuksia lisätään, kun palvelu siirtyy yksityisestä esikatselusta yleiseen saatavuuteen (tällä hetkellä suunniteltu vuoden 2020 loppuun). Näiden avulla voit käyttää aktiivista-aktiivista replikointia maantieteellisten alueiden välillä ja hybridiasennuksia, jotka toimivat yksityisten ja Azure-isännöityjen Redis-esiintymien välillä. Paikallisen ja Azure Redisin välillä ei tarvitse olla erillistä yhteyttä; aktiivinen-aktiivinen replikointi toimii VPN: n kautta.

Uusi Redis Enterprise -toteutus näyttää olevan olemassa oleva Rediksen Azure-välimuisti portaalin sisällä, ja voit laajentaa olemassa olevia instansseja tai aloittaa alusta. Jos etsit parempaa suorituskykyä, skaalaus on vaihtoehto, mutta todennäköisesti haluat luoda kokonaan uuden esiintymän, jos käytät jotain uutta tietokantaominaisuutta. Voit ottaa ne käyttöön osana luomisprosessia, portaalista tai Azure Resource Manager -mallin kautta. Vaikka suuri osa hallinnoinnistasi ja valvonnastasi tulee Azure-portaalin sisältä, sinulla on mahdollisuus käyttää Rediksen omia hallintatyökaluja tietojen virittämiseen ja optimointiin.

Azuren Redis-toteutuksen ja RedisLabsin Redis Enterprise -yhdistelmän yhdistelmä on mielenkiintoinen, joka osoittaa, kuinka myyjä, jolla on avoimen lähdekoodin perustalle rakennettu ensiluokkainen tarjous, voi esiintyä rinnakkain hyperkaleiden pilvien kanssa. Azure pystyy tarjoamaan palvelua, joka perustuu avoimen lähdekoodin alustaan, kun taas monimutkaisemmat toteutukset voivat käyttää RedisLabsin työkaluja. Tämä reitti antaa yritykselle pääsyn uuteen tulovirtaan tarvitsematta vaihtaa lisenssimalliaan sellaiseksi, joka sulkee pilvipalvelujen tarjoajat.

Se on yksinkertainen polku Azuren Redis-pohjaisesta välimuistipalvelusta Redis Enterprise -palveluun, eikä hallintatyökaluissa tai laskutussuhteissa ole muutoksia, ja se on avoin myös loppukäyttäjille. He pääsevät uusille tasoille ja uusille ominaisuuksille muuttamatta toimintatapaansa.

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