{"id":39302,"date":"2019-10-31T22:29:40","date_gmt":"2019-10-31T19:29:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh\/"},"modified":"2019-10-31T22:29:40","modified_gmt":"2019-10-31T19:29:40","slug":"kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh","title":{"rendered":"Hvordan AWS \"koger\" sine elastiske tjenester. Skalering af servere og databaser","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Skya er som en magisk kiste \u2014 du sp\u00f8rger, hvad du har brug for, og ressourcerne dukker op fra ingenting. Virtuelle maskiner, databaser, netv\u00e6rk \u2014 alt dette tilh\u00f8rer kun dig. Der findes andre cloud-tenanter, men i dit univers er du den enev\u00e6ldige hersker. Du er sikker p\u00e5, at du altid vil f\u00e5 de kr\u00e6vede ressourcer, du tager ikke hensyn til andre, og du bestemmer selv, hvordan netv\u00e6rket skal v\u00e6re. Hvordan fungerer denne magi, der f\u00e5r skyen til elastisk at tildele ressourcer og fuldst\u00e6ndigt isolere tenantene fra hinanden?<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/075904e4db290f28746dd0054c9f87bf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAWS-skyen er et mega-superkomplekst system, der har udviklet sig evolution\u00e6rt siden 2006. En del af denne udvikling s\u00e5 <strong>Vasily Pantiukhin<\/strong> \u2014 arkitekt for Amazon Web Services. Som arkitekt ser han ikke kun slutresultatet, men ogs\u00e5 de udfordringer, AWS overvinder. Jo mere forst\u00e5else man har for systemets funktion, jo mere tillid f\u00e5r man. Derfor vil Vasily dele hemmelighederne bag AWS-cloudtjenesterne. Under overskriften kan du l\u00e6se om opbygningen af de fysiske AWS-servere, elastisk skalerbarhed for databaser, den tilpassede Amazon-database og metoder til at \u00f8ge ydeevnen for virtuelle maskiner samtidig med, at deres omkostninger reduceres. Kendskab til Amazons arkitekturtilgange vil hj\u00e6lpe dig med at bruge AWS-tjenesterne mere effektivt og m\u00e5ske give nye id\u00e9er til at udvikle dine egne l\u00f8sninger.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<i>Om opl\u00e6gsholderen: Vasily Pantyukhin (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/hen\/\" class=\"user_link\">Hen<\/a><\/noindex>) begyndte som Unix-administrator i .ru-virksomheder, arbejdede 6 \u00e5r med store maskiner fra Sun Microsystems, og i 11 \u00e5r pr\u00e6dikede han datacenteret i EMC. Han er naturligt blevet til private skyer, og i 2017 gik han ind i det offentlige. Nu hj\u00e6lper han med tekniske r\u00e5d til at leve og udvikle sig i AWS-skyen.<\/p>\n<p>Ansvarsfraskrivelse: alt nedenfor er Vasily's personlige mening, og den kan ikke n\u00f8dvendigvis v\u00e6re i overensstemmelse med Amazon Web Services' position. <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/S3f6nWJxBvk\">Videooptagelsen<\/a><\/noindex> af foredraget, p\u00e5 baggrund af hvilket artiklen er skrevet, er tilg\u00e6ngelig p\u00e5 vores YouTube-kanal.<\/i><\/p>\n<h2>Hvorfor fort\u00e6ller jeg om Amazon's opbygning<\/h2>\n<p>\nMin f\u00f8rste bil havde en \"gearspak\" \u2014 med manuel gearkasse. Det var fantastisk p\u00e5 grund af f\u00f8lelsen af, at jeg kunne styre bilen og have fuld kontrol over den. Jeg kunne ogs\u00e5 lide, at jeg i det mindste omtrent forstod, hvordan den fungerede. Selvf\u00f8lgelig forestillede jeg mig konstruktionen af gearkassen ret primitivt \u2014 omtrent som gearkassen p\u00e5 en cykel.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/edaec571a676e162d5f075042ac9d8ea.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlt var fantastisk, undtagen \u00e9n ting \u2014 at sidde i trafik. Man sidder der og laver ikke noget, men skifter konstant gear, trykker p\u00e5 koblingen, gas, bremse \u2014 det g\u00f8r en rigtig tr\u00e6t. Problemet med trafik blev delvist l\u00f8st, da vi fik en bil med automatgear. Bag rattet fik jeg tid til at t\u00e6nke p\u00e5 noget, lytte til lydb\u00f8ger.<\/p>\n<p>Der opstod ogs\u00e5 et mysterium i mit liv, fordi jeg helt sluttede med at forst\u00e5, hvordan min bil fungerer. Moderne biler er komplekse apparater. Bilen tilpasser sig samtidig til dusinvis af forskellige parametre: gasp\u00e5virkning, bremser, k\u00f8restil, vejens kvalitet. Jeg forst\u00e5r ikke l\u00e6ngere, hvordan det virker.<\/p>\n<p>Da jeg begyndte at arbejde med Amazon Cloud, var det ogs\u00e5 et mysterium for mig. Men dette mysterium er p\u00e5 et h\u00f8jere plan, fordi der i bilen er \u00e9n chauff\u00f8r, mens der i AWS er millioner. Alle brugere styrer samtidig, trykker p\u00e5 gas og bremse. Det er fantastisk, at de k\u00f8rer det sted, de \u00f8nsker \u2014 for mig er det en mirakel! Systemet tilpasser sig automatisk, skaleres og er elastisk tilpasset hver bruger, s\u00e5 de f\u00f8ler, de er den eneste i dette univers.<\/p>\n<p>Magien blev lidt opl\u00f8st, da jeg senere kom til at arbejde som arkitekt hos Amazon. Jeg s\u00e5 de problemer, vi st\u00e5r overfor, hvordan vi l\u00f8ser dem, og hvordan vi udvikler tjenester. Med en st\u00f8rre forst\u00e5else af systemets arbejde kommer der mere tillid til servicen. Derfor vil jeg dele billedet af, hvad der er under motorhjelmen i AWS skyen.<\/p>\n<h2>Hvad skal vi tale om<\/h2>\n<p>\nJeg valgte en diversificeret tilgang \u2014 udvalgt 4 interessante tjenester, som det er v\u00e6rd at tale om.<\/p>\n<p><strong>Serveroptimering<\/strong>. Ephemerale skyder med fysisk manifestation: fysiske datacentre, hvor fysiske servere st\u00e5r, som brummer, bliver varme og blinker med lys.<\/p>\n<p><strong>Serverless-funktioner <\/strong>(Lambda) \u2014 sandsynligvis den mest skalerbare service i skyen.<\/p>\n<p><strong>Skalering af databaser<\/strong>. Jeg vil fort\u00e6lle, hvordan vi bygger vores egne skalerbare databaser.<\/p>\n<p><strong>Netv\u00e6rksskaleringsl\u00f8sninger<\/strong>. Den sidste del, hvor jeg \u00e5bner op for vores netv\u00e6rk. Det er en vidunderlig ting \u2014 hver skybruger mener, at de er alene i skyen og slet ikke ser andre lejere.<\/p>\n<blockquote><p><i>Bem\u00e6rkning. Denne artikel vil fokusere p\u00e5 optimering af servere og skalering af databaser. Skalering af netv\u00e6rk vil blive behandlet i n\u00e6ste artikel. Hvor befinder serverless-funktionerne sig? Der er blevet udgivet en separat uddybning om dem.<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/464305\/\">Lille, men m\u00e6gtig. Unboxing af mikrovirtualiseringen Firecracker<\/a><\/noindex>I denne artikel tales der om flere forskellige m\u00e5der at skalere p\u00e5, og l\u00f8sningen Firecracker bliver n\u00f8jere gennemg\u00e5et \u2014 en symbiose af de bedste kvaliteter fra virtuelle maskiner og containere.<\/i><\/p><\/blockquote>\n<p><\/p>\n<h2>Servere<\/h2>\n<p>\nSkyen er efem\u00e6r. Men denne efem\u00e6rhed har trods alt en fysisk repr\u00e6sentation \u2014 serverne. Oprindeligt var deres arkitektur klassisk. Standard x86 chipset, netv\u00e6rkskort, Linux, hypervisor Xen, hvorp\u00e5 de virtuelle maskiner blev drevet.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/734f99888072f78527bcc5f59485a1ff.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI 2012 kunne denne arkitektur helt sikkert klare sine opgaver. Xen er en fremragende hypervisor, men den har en alvorlig ulempe. Den har ret <strong>h\u00f8je overheadomkostninger til emulering af enheder.<\/strong>N\u00e5r der kom nye, hurtigere netv\u00e6rkskort eller SSD-diske, blev disse overheadomkostninger alt for h\u00f8je. Hvordan kan man l\u00f8se dette problem? Vi besluttede os for at arbejde p\u00e5 to fronter \u2014 <strong>b\u00e5de optimere hardwaren og hypervisoren.<\/strong>Opgaven er meget seri\u00f8s.<\/p>\n<h3>Optimering af hardware og hypervisor.<\/h3>\n<p>\nDet vil ikke v\u00e6re muligt at g\u00f8re alt godt p\u00e5 \u00e9n gang. Hvad der mener 'godt', var oprindeligt ikke klart.<\/p>\n<blockquote><p>Vi besluttede os for at anvende en evolution\u00e6r tilgang \u2014 \u00e6ndre et vigtigt element af arkitekturen og implementere det i produktion.<\/p><\/blockquote>\n<p>Vi tr\u00e6der p\u00e5 alle mulige skjulte problemer og lytter til klager og forslag. Derefter \u00e6ndrer vi en anden komponent. P\u00e5 denne m\u00e5de, i sm\u00e5 inkrementer, \u00e6ndrer vi hele arkitekturen radikalt baseret p\u00e5 feedback fra brugerne og supporten.<\/p>\n<p>Transformationerne begyndte i 2013 med det mest komplekse \u2014 netv\u00e6rket. I <strong>C3<\/strong> instanserne tilf\u00f8jede vi et s\u00e6rligt kort Network Accelerator ud over det standard netv\u00e6rkskort. Det blev tilsluttet med et kort loopback-kabel p\u00e5 den forreste panel. Ikke k\u00f8nt, men det er usynligt i skyen. Men den direkte interaktion med hardwaren forbedrede principielt jitter og netv\u00e6rksb\u00e5ndbredde.<\/p>\n<p>Dern\u00e6st besluttede vi at forbedre adgangen til EBS \u2014 Elastic Block Storage. Dette er en kombination af netv\u00e6rk og lager. Udfordringen er, at mens der p\u00e5 markedet fandtes Network Accelerator-kort, fandtes der slet ikke mulighed for at k\u00f8be hardware til Storage Accelerator. Derfor henvendte vi os til startupen <strong>Annapurna Labs<\/strong>, som har udviklet specielle ASIC-chips til os. De gjorde det muligt at tilslutte fjerntliggende EBS-volumener som NVMe-enheder.<\/p>\n<p>I instanserne <strong>C4<\/strong> l\u00f8ste vi to opgaver. Den f\u00f8rste var at skabe et grundlag for fremtidens lovende, men p\u00e5 det tidspunkt nye NVMe-teknologi. Den anden var at aflaste centralprocessoren betydeligt ved at overf\u00f8re behandlingen af anmodninger til EBS til det nye kort. Det blev en succes, s\u00e5 nu er Annapurna Labs en del af Amazon.<\/p>\n<p>I november 2017 inds\u00e5 vi, at det var tid til at \u00e6ndre selve hypervisoren.<\/p>\n<blockquote><p>Den nye hypervisor blev udviklet p\u00e5 baggrund af modificerede KVM-kernemoduler.<\/p><\/blockquote>\n<p>Den gjorde det muligt v\u00e6sentligt at reducere overheaden ved enhedsemmulering og arbejde direkte med de nye ASICs. Instanserne <strong>C5<\/strong> var de f\u00f8rste virtuelle maskiner, hvor den nye hypervisor k\u00f8rte under overfladen. Vi kaldte den <strong>Nitro<\/strong>.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/f9ccbf867e405e88e36d7618375a9e73.jpg\" style=\"display:block;margin: 0 auto;\" \/><em>Evolutionen af instanser p\u00e5 en tidslinje.<\/em><\/p>\n<p>Alle nye typer virtuelle maskiner, der er opst\u00e5et siden november 2017, k\u00f8rer p\u00e5 denne hypervisor.<strong> Bare Metal-instanserne har ikke en hypervisor<\/strong>, men de kaldes ogs\u00e5 Nitro, da de bruger specialiserede Nitro-kort.<\/p>\n<p>I l\u00f8bet af de n\u00e6ste to \u00e5r oversteg antallet af Nitro-instanstyper flere dusin: A1, C5, M5, T3 og andre.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/3342d335f54f28b3225c7c6d95f27744.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Typer af instanser.<\/em><\/p>\n<h3>Hvordan moderne Nitro-maskiner er opbygget<\/h3>\n<p>\nDe har tre hovedkomponenter: Nitro-hypervisoren (som n\u00e6vnt f\u00f8r), sikkerhedsbrikken og Nitro-kortene.<\/p>\n<p><strong>Sikkerhedsbrikken<\/strong> er integreret direkte i bundkortet. Den overv\u00e5ger mange vigtige funktioner, s\u00e5som kontrol af opstart af v\u00e6rtens operativsystem.<\/p>\n<p><strong>Nitro-kortene<\/strong> \u2014 der findes fire typer. Alle er designet af Annapurna Labs og baseres p\u00e5 f\u00e6lles ASICs. En del af deres firmware er ogs\u00e5 f\u00e6lles.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/411947f770f82dead25f9fafad5814c6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Fire typer Nitro-kort.<\/em><\/p>\n<p>Et af kortene er beregnet til at arbejde med <strong>netv\u00e6rket<\/strong><strong>VPC<\/strong>. Det er det, der vises i de virtuelle maskiner som et netv\u00e6rkskort <strong>ENA \u2014 Elastic Network Adaptor<\/strong>. Det kapsler ogs\u00e5 trafik, n\u00e5r det overf\u00f8res gennem det fysiske netv\u00e6rk (mere om dette i den anden del af artiklen), overv\u00e5ger Security Groups-firewallen, har ansvar for routing og andre netv\u00e6rksfunktioner.<\/p>\n<p>Separat kort arbejder med bloklageret <strong>EBS<\/strong> og diskene, der er indbygget i serveren. De pr\u00e6senteres for den g\u00e6stende virtuelle maskine som <strong>NVMe-adaptere<\/strong>. De har ogs\u00e5 ansvaret for datakryptering og overv\u00e5gning af diskene.<\/p>\n<p>Systemet af Nitro-kort, hypervisoren og sikkerhedsbrikken er forbundet i et SDN-netv\u00e6rk eller<strong> Software Defined Network<\/strong>. Kontrol af dette netv\u00e6rk (Control Plane) ledes af <strong>kontrolkort<\/strong>.<\/p>\n<p>Selvf\u00f8lgelig forts\u00e6tter vi med at udvikle nye ASIC. For eksempel, i slutningen af 2018 udgav vi Inferentia-chippen, som muligg\u00f8r mere effektivt arbejde med maskinl\u00e6ringsopgaver.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/2e20101688bc0b68bb54ea7cd1344f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Inferentia Maskinl\u00e6ringsprocessor.<\/em><\/p>\n<h2>Skalerbar database<\/h2>\n<p>\nEn traditionel database har en lagdelt struktur. Hvis man forenkler det, kan man skelne mellem f\u00f8lgende niveauer.<\/p>\n<ul>\n<li><strong>SQL<\/strong> \u2014 hvor klient- og foresp\u00f8rgselsbehandlere arbejder.<\/li>\n<li>Sikring <strong>af transaktioner<\/strong> \u2014 her er alt klart, ACID og alt det d\u00e9r.<\/li>\n<li><strong>Caching<\/strong>, som sikres af bufferpuljer.<\/li>\n<li><strong>Logf\u00f8ring<\/strong> \u2014 sikrer arbejdet med redo-logs. I MySQL kaldes de Bin Logs, i PosgreSQL \u2014 Write Ahead Logs (WAL).<\/li>\n<li><strong>Lagring <\/strong>\u2013 direkte nedskrivning p\u00e5 disk.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/b6ddee7bd150d307049a95f943b15e4c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Lagdelt struktur af databasen.<\/em><\/p>\n<p>Der er forskellige m\u00e5der at skalere databaser p\u00e5: sharding, Shared Nothing-arkitektur, delte diske.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/ec8c74c80f295018271326d20d36b08e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMen alle disse metoder bevarer den samme monolitiske database-struktur. Dette begr\u00e6nser m\u00e6rkbart skaleringen. For at l\u00f8se dette problem har vi udviklet vores egen DB \u2014 <strong>Amazon Aurora<\/strong>. Den er kompatibel med MySQL og PostgreSQL.<\/p>\n<h3>Amazon Aurora<\/h3>\n<p>\nDen grundl\u00e6ggende arkitektoniske id\u00e9 er at skille lagene for opbevaring og logning fra den prim\u00e6re database.<\/p>\n<p>For at komme i fork\u00f8bet vil jeg sige, at vi ogs\u00e5 gjorde cache-niveauet uafh\u00e6ngigt. Arkitekturen stopper med at v\u00e6re et monolit, og vi f\u00e5r yderligere frihedsgrader i skaleringen af \u200b\u200benkle blokke.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/dfe3f039fbcf5140aa1541802b51c1ec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Lognings- og lagerlagene er adskilt fra databasen.<\/em><\/p>\n<p>En traditionel DBMS skriver data til lagringssystemet i form af blokke. I Amazon Aurora har vi skabt en \"smart\" opbevaring, der kan kommunikere p\u00e5 sprog <strong>redo-logs<\/strong>. Inden i sig konverterer lageret logs til datablokke, overv\u00e5ger deres integritet og laver automatisk backup.<\/p>\n<p>Denne tilgang muligg\u00f8r sp\u00e6ndende funktioner som <strong>kloning<\/strong>. Det fungerer principielt hurtigere og mere \u00f8konomisk, da det ikke kr\u00e6ver oprettelse af en fuld kopi af alle data.<\/p>\n<p>Lagerlaget er implementeret som et distribueret system. Det best\u00e5r af et meget stort antal fysiske servere. Hver redo-log behandles og gemmes samtidig <strong>af seks noder<\/strong>. Dette sikrer databeskyttelse og fordeling af belastningen.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/9861d6e975b483cc5a20727af91b1a6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL\u00e6sningsskaleringsmuligheder kan sikres ved hj\u00e6lp af de rette replikater. Det distribuerede lager eliminerer behovet for synkronisering mellem den prim\u00e6re databaseinstans, hvor vi skriver data, og de \u00f8vrige replikater. Aktuelle data er garanteret tilg\u00e6ngelige for alle replikater.<\/p>\n<p>Det eneste problem er caching af gamle data p\u00e5 l\u00e6sereplikaterne. Men denne udfordring l\u00f8ses <strong>ved at overf\u00f8re alle redo-logfiler<\/strong> til replikaterne via det interne netv\u00e6rk. Hvis loggen er i cachen, markeres den som ugyldig og overskrives. Hvis den ikke er i cachen, bliver den blot forkastet.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/f87a140e401c49282d58ef65df5a4da2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi har styr p\u00e5 lageret.<\/p>\n<h3>Hvordan man skalerer niveauerne af DBMS<\/h3>\n<p>\nHer er det meget sv\u00e6rere at foretage horisontal skalering. Derfor tager vi den afpr\u00f8vede vej <strong>til klassisk vertikal skalering.<\/strong>.<\/p>\n<p>Lad os antage, at vi har en applikation, der kommunikerer med DBMS via master-noden. <\/p>\n<p>Ved vertikal skalering tildeler vi en ny node, der vil have flere processorer og mere hukommelse.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/72f09bdc94584629fad0c40bf1a45bd9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDerefter skifter vi applikationen fra den gamle master-node til den nye. Der opst\u00e5r problemer.<\/p>\n<ul>\n<li>Dette vil kr\u00e6ve betydelig nedetid for applikationen.<\/li>\n<li>Den nye master-node vil have en kold cache. Databaseydelsen vil v\u00e6re maksimal f\u00f8rst efter opvarmning af cachen.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/9820acd5597cb80bd7c63060ed13a37f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHvordan kan vi forbedre situationen? Ved at placere en proxy mellem applikationen og master-noden.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/ba8265da6ef9b1c1f9ac27bccab73f5d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHvad giver os det? Nu er det ikke n\u00f8dvendigt manuelt at omdirigere alle applikationer til den nye node. Skiftet kan foretages under proxyen og er dermed principielt hurtigere.<\/p>\n<p>Det ser ud til, at problemet er l\u00f8st. Men nej, vi lider stadig af behovet for opvarmning af cachen. Desuden er der opst\u00e5et et nyt problem \u2014 nu er proxyen et potentielt fejlpunk.<\/p>\n<h3>Den endelige l\u00f8sning med Amazon Aurora serverless<\/h3>\n<p>\nHvordan l\u00f8ste vi disse problemer?<\/p>\n<p><strong>Vi beholdt proxyen.<\/strong>Det er ikke en separat instans, men en hel distribueret fl\u00e5de af proxyer, gennem hvilke applikationerne tilsluttes til databasen. Enhver af noderne kan n\u00e6sten \u00f8jeblikkeligt erstattes, hvis den fejler.<\/p>\n<p><strong>Vi tilf\u00f8jede et pulje af varme noder i forskellige st\u00f8rrelser.<\/strong>Derfor, ved behov for at tildele en ny node af st\u00f8rre eller mindre st\u00f8rrelse, er den straks tilg\u00e6ngelig. Der er ikke brug for at vente p\u00e5, at den indl\u00e6ses.<\/p>\n<p><strong>Hele skaleringsprocessen styres af et specialiseret overv\u00e5gningssystem. <\/strong>Overv\u00e5gningen holder konstant \u00f8je med tilstanden af den aktuelle master-node. Hvis den for eksempel opdager, at belastningen p\u00e5 processoren har n\u00e5et et kritisk niveau, informerer den puljen af varme instanser om behovet for at alloere en ny node.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/b5693b64e3468a4b6bcafb4fd5732bd8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Fordelte proxyer, varme instanser og overv\u00e5gning.<\/em><\/p>\n<p>En node med den n\u00f8dvendige kapacitet er tilg\u00e6ngelig. Bufferpuljer kopieres til den, og systemet begynder at vente p\u00e5 et sikkert tidspunkt til at skifte.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/fcbc5529352477b824cc969afd0a4fec.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSom regel indtr\u00e6ffer tidspunktet for skiftet hurtigt. Kommunikation mellem proxyen og den gamle master-node pauses, og alle sessioner flyttes til den nye node.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/b3b4af9be2cdd28aaaecd97cae48621d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArbejdet med databasen genoptages.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/eeeae3ba3fc3ff014657f9786a25fd2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGrafen viser, at pausen faktisk er meget kort. Den bl\u00e5 graf viser belastningen, mens de r\u00f8de trapper markerer skiftetidspunkterne. De kortvarige fald i den bl\u00e5 graf er netop den korte forsinkelse.<\/p>\n<p><img decoding=\"async\" alt=\"Hvordan AWS &quot;koger&quot; sine elastiske tjenester. Skalering af servere og databaser\" src=\"\/wp-content\/uploads\/2019\/10\/ac55eadb5f0b182b93fdd1617961a930.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor \u00f8vrigt giver Amazon Aurora mulighed for at spare penge ved at slukke for databasen, n\u00e5r den ikke er i brug, for eksempel i weekenden. Efter at have reduceret belastningen, falder databasen gradvist i kapacitet og slukkes i en periode. N\u00e5r belastningen vender tilbage, stiger den langsomt igen.<\/p>\n<blockquote><p>I den n\u00e6ste del af fort\u00e6llingen om Amazons ops\u00e6tning vil vi tale om netv\u00e6rksskalerbarhed. Tilmeld dig <noindex><a rel=\"nofollow\" href=\"http:\/\/eepurl.com\/VYVaf\">nyhedsbrevet<\/a><\/noindex> og hold dig opdateret, s\u00e5 du ikke g\u00e5r glip af artiklen.<\/p>\n<p>P\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\">HighLoad++<\/a><\/noindex> Vasiliy Pantyukhin vil holde et foredrag om \"<noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\/5977\">Houston, vi har et problem. Design af fejltolerante systemer, m\u00f8nstre til udvikling af interne tjenester i Amazon-cloud.<\/a><\/noindex>\" Hvilke designm\u00f8nstre for fordelte systemer bruger Amazon-udviklere, hvilke \u00e5rsager kan f\u00f8re til fejlsystemer, hvad er Cell-based architecture, Constant Work, Shuffle Sharding \u2014 det bliver sp\u00e6ndende. Der er under en m\u00e5ned til konferencen \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/conf.ontico.ru\/conference\/join\/hl2019.html\">bestil billetter<\/a><\/noindex>. Priserne stiger den 24. oktober.<\/p><\/blockquote>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/471686\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0431\u043b\u0430\u043a\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0435 \u2014 \u0437\u0430\u0434\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e, \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437 \u043d\u0438\u043e\u0442\u043a\u0443\u0434\u0430. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u044c \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0431\u0435. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u043d\u0430\u043d\u0442\u044b \u043e\u0431\u043b\u0430\u043a\u0430, \u043d\u043e \u0432 \u0441\u0432\u043e\u0435\u0439 \u0412\u0441\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0442\u044b \u0435\u0434\u0438\u043d\u043e\u043b\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044c. \u0422\u044b \u0443\u0432\u0435\u0440\u0435\u043d, \u0447\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0448\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043d\u0438 \u0441 \u043a\u0435\u043c \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0448\u044c\u0441\u044f \u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0448\u044c, \u043a\u0430\u043a\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":39303,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39302","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0431\u043b\u0430\u043a\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0435 \u2014 \u0437\u0430\u0434\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e, \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437 \u043d\u0438\u043e\u0442\u043a\u0443\u0434\u0430. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u044c \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0431\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a AWS \u00ab\u0432\u0430\u0440\u0438\u0442\u00bb \u0441\u0432\u043e\u0438 \u044d\u043b\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0431\u043b\u0430\u043a\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0435 \u2014 \u0437\u0430\u0434\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e, \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437 \u043d\u0438\u043e\u0442\u043a\u0443\u0434\u0430. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u044c \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0431\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:29:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:29:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hvordan AWS \"koger\" sine elastiske tjenester. Skalerning af servere og databaser | ProHoster","description":"Skymilj\u00f8er minder om en magisk kiste \u2014 du angiver, hvad du har brug for, og ressourcerne dukker simpelthen op ud af ingenting. Virtuelle maskiner, databaser, netv\u00e6rk \u2014 alt tilh\u00f8rer kun dig.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a AWS \u00ab\u0432\u0430\u0440\u0438\u0442\u00bb \u0441\u0432\u043e\u0438 \u044d\u043b\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster","og:description":"\u041e\u0431\u043b\u0430\u043a\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u044b \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0448\u043a\u0430\u0442\u0443\u043b\u043a\u0435 \u2014 \u0437\u0430\u0434\u0430\u0435\u0448\u044c, \u0447\u0442\u043e \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e, \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u0437 \u043d\u0438\u043e\u0442\u043a\u0443\u0434\u0430. \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0435\u0442\u044c \u2014 \u0432\u0441\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0431\u0435.","og:url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/kak-aws-varit-svoi-elastichnye-servisy-masshtabirovanie-serverov-i-bazy-dannyh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:29:40+00:00","article:modified_time":"2019-10-31T19:29:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39302","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 01:37:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:52:26","updated":"2026-01-24 01:37:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/39302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=39302"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/39302\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/39303"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=39302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=39302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=39302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}