Programovanie

Používanie Redis Enterprise v Azure

Skladovanie NoSQL sa dodáva v mnohých druhoch. Niektoré sú databázami dokumentov, iné uchovávajú páry kľúč / hodnota a všetky podporujú veľa rôznych typov indexov a dotazov. Existujú diskové systémy a systémy určené na prácu v pamäti. Niektoré pracujú s veľkým objemom údajov efektívne; iné sa zameriavajú na rýchlosť. Pri toľkých rôznych výrobkoch je niekedy ťažké vybrať si jeden.

Jedným z najpopulárnejších systémov v pamäti je Redis, vzdialený slovníkový server. Je postavený na otvorenom serveri Redis sponzorovanom spoločnosťou RedisLabs so súborom komerčných podnikových možností. Spoločnosť Microsoft už nejaký čas ponúka vlastnú implementáciu otvoreného zdroja Redis v Azure, kde sa používa hlavne ako vysoko výkonná vyrovnávacia pamäť. Nedávno však oznámila partnerstvo so spoločnosťou RedisLabs a priniesla plne spravovaný zásobník Redis Enterprise do cloudu spoločnosti Microsoft.

Pridanie Redis Enterprise do Azure

Za novú službu sa možno najlepšie považuje pridanie dvoch nových úrovní k existujúcim základným, štandardným a prémiovým službám: Enterprise a Enterprise SSD. Implementácia systému Microsoft Redis sa zamerala na poskytovanie vysoko výkonnej vyrovnávacej pamäte pre vaše dáta vo veľkých cloudových natívnych aplikáciách, kde medzipamäť pomáha spravovať správy pre kód alebo stav relácie riadený udalosťami, keď budujete systémy v kontajneroch alebo bez serverov.

Cache nie sú určené iba na správu prichádzajúcich údajov. Moderné aplikácie ich môžu používať ako spôsob predbežného načítania obsahu, ku ktorému majú používatelia pravidelne prístup. Redis Azure môžete vopred načítať so svojimi spoločnými prostriedkami, ako sú hlavičky a logá, ktoré sa tak často nemenia. Ak ich umiestnite do pamäte, dajú sa doručiť oveľa rýchlejšie než ich vytiahnuť z disku zakaždým, keď sa načíta stránka.

Používanie Redis je predovšetkým o výkone. Umiestnenie údajov medzipamäte do systému v pamäti môže výrazne znížiť latenciu aplikácií, najmä pri vytváraní a prevádzke distribuovaných aplikácií vo veľkom rozsahu. Obsah v obchodoch Redis je možné replikovať medzi oblasťami Azure, čím sa znižuje riziko, že používatelia v jednom regióne budú musieť pristupovať k obsahu uloženému o pol sveta ďalej.

Počnúc Azure Cache pre Redis

Implementácia otvoreného zdroja spoločnosti Microsoft, Azure Cache for Redis, sa dodáva v základných, štandardných a prémiových verziách s maximálnou veľkosťou 1,2 TB pre databázy Premium. Basic je pomerne jednoduchá implementácia s jedným uzlom, bez SLA, ale s výberom veľkosti pamäte. Štandard vám poskytuje väčšiu spoľahlivosť implementáciou dvojuzlového systému a pridaním SLA. Ak potrebujete lepší výkon a nižšiu latenciu, možnosť Premium používa iný stupeň hardvéru Azure, čím poskytuje vyššiu priepustnosť ako štandard, čo by inak bolo v rovnakej konfigurácii.

Nastaviť vyrovnávaciu pamäť Redis v Azure je dosť jednoduché. Začnite menom DNS, potom pridajte vyrovnávaciu pamäť do skupiny zdrojov a vyberte umiestnenie. Týmto sa nastavia základné virtuálne stroje a spustí sa vaša vyrovnávacia pamäť; akonáhle ju Azure nahlási ako spustenú, môžete ju použiť vo svojom kóde. Poverenia potrebné na pripojenie k Redis sa nachádzajú na vašom Azure Portal s prístupovými kľúčmi a pripojovacími reťazcami. Portál zobrazuje adresu vašej inštancie a port, ku ktorému sa váš kód musí pripojiť. V predvolenom nastavení to bude prostredníctvom protokolu SSL.

Existujú rôzne balíčky NuGet na používanie Redis s vašimi aplikáciami .NET, s výzvami na získanie a nastavenie položiek v vyrovnávacej pamäti Redis, ako aj na kontrolu, či je vaša aplikácia pripojená k Redis. Všetko, čo musíte urobiť, je nastaviť reťazec pripojenia k pamäti cache a potom ho použiť na vytvorenie objektu pamäte cache z vašej databázy Redis. Ak používate Visual Studio, môžete s Redis pracovať pomocou známych databázových nástrojov .NET, ako je Entity Framework.

Aplikácie založené na Redis sa dajú ľahko implementovať pomocou vzorov MVC (model, pohľad a radič), pomocou radičov zapisujú serializované údaje do medzipamäte a v prípade potreby ich čítajú. Spoločnosť Microsoft odporúča na zápis a čítanie údajov používať formáty JSON, pričom vrátené údaje JSON sa dajú ľahko formátovať a zobraziť pomocou bežných knižníc JavaScript a .NET.

Azure Cache for Redis je viac ako databáza a sada rozhraní API, pretože obsahuje kompletnú sadu nástrojov na správu vrátane monitorovania. Tieto vám môžu podľa potreby pomôcť škálovať inštanciu Redis. Úrovne môžete škálovať iba prechodom zo základného na štandardný na prémiový.

Akékoľvek zmeny veľkosti sú samostatnou operáciou a ich veľkosť môžete meniť nahor alebo nadol v rámci rovnakej úrovne (s podmienkou, že ich nemôžete zmenšiť na najmenšiu ponuku štandardnej veľkosti). Ak chcete prejsť na nižšiu úroveň, vytvorte novú inštanciu Redis a potom pred odstránením staršej verzie skopírujte všetky údaje alebo štruktúry do novej databázy. Ak potrebujete automatizáciu škálovania, môžete použiť PowerShell alebo Azure CLI alebo kód pomocou Azure Management Libraries.

Zvyšovanie kapacity databázy Redis Enterprise v pamäti

Implementácia Azure Redis je dobrá, ale nejde o celý príbeh. Je založený na otvorenom zdroji Redis, takže nemá všetky vlastnosti komerčného Redis Enterprise. Preto spoločnosti Microsoft a Redis spolupracovali na dodaní ďalších dvoch úrovní spravovaných spoločnosťou Microsoft a podporovaných oboma spoločnosťami s úplnou integráciou na portáli Azure. Enterprise, základná vrstva, používa štandardné úložisko Azure, zatiaľ čo Enterprise SSD vrstva pridáva podporu pre flash úložisko pre rýchlejší prístup k údajom, ktoré nie sú k dispozícii v pamäti.

Nová služba, ktorá je momentálne v súkromnom náhľade, pridáva podporu pre kľúčové moduly Redis Enterprise, čo vám umožňuje využívať túto službu oveľa viac ako iba údaje v medzipamäti. To je dôležitý rozdiel, pretože rýchla databáza v pamäti je dôležitou súčasťou rozsiahleho systému riadeného udalosťami, najmä systému, ktorý sa spolieha na údaje z časových radov. Medzi ďalšie podporované funkcie patrí RedisBloom, ktorý pridáva pravdepodobnostné filtrovanie údajov, a RediSearch, ktorý vylepšuje indexovanie a umožňuje používať fulltextové vyhľadávanie údajov.

Ďalšie funkcie budú pridané, keď sa služba presunie zo súkromného náhľadu na všeobecnú dostupnosť (v súčasnosti je naplánovaná na koniec roka 2020). Tie vám umožnia používať aktívnu-aktívnu replikáciu medzi geografickými oblasťami a hybridné nasadenia, ktoré fungujú medzi súkromnými a Azure hostenými inštanciami Redis. Nie je potrebné mať vyhradené pripojenie medzi miestnymi a Azure Redis; aktívna-aktívna replikácia bude fungovať cez VPN.

Nová implementácia Redis Enterprise vyzerá ako existujúca vyrovnávacia pamäť Azure pre Redis vo vnútri portálu a budete môcť škálovať od existujúcich inštancií alebo začať úplne od začiatku. Ak hľadáte lepší výkon, škálovanie je možnosťou, ale ak používate niektorú z nových funkcií databázy, pravdepodobne budete chcieť vytvoriť úplne novú inštanciu. Môžete ich povoliť ako súčasť procesu vytvárania, z portálu alebo prostredníctvom šablóny Azure Resource Manager. Aj keď veľká časť vašej správy a monitorovania bude z vnútra Azure Portal, máte možnosť použiť svoje vlastné nástroje na správu od spoločnosti Redis, ktoré vám pomôžu vyladiť a optimalizovať vaše údaje.

Kombinácia implementácie Azure Redis a RedisLabs ‘Redis Enterprise je zaujímavá, ktorá ukazuje, ako môže dodávateľ s prémiovou ponukou postavenou na báze otvoreného zdroja koexistovať s hyperškálovanými mrakmi. Azure je schopná ponúknuť službu založenú na platforme otvoreného zdroja, zatiaľ čo zložitejšie implementácie môžu využívať nástroje RedisLabs. Táto trasa umožňuje spoločnosti prístup k novému toku výnosov bez toho, aby musela meniť svoj licenčný model na taký, ktorý vylučuje poskytovateľov cloudových služieb.

Vďaka jednoduchej ceste od medzipamäťovej služby založenej na Redise k Azure k Redis Enterprise a bez zmeny v nástrojoch na správu alebo fakturačných vzťahoch je transparentný aj pre koncových používateľov. Získajú prístup k novým úrovniam a novým funkciám bez toho, aby museli meniť spôsob svojej práce.

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