{"id":92810,"date":"2020-08-31T07:42:09","date_gmt":"2020-08-31T05:42:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1"},"modified":"2020-08-31T07:42:09","modified_gmt":"2020-08-31T05:42:09","slug":"vybor-arhitekturnogo-stilya-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1","title":{"rendered":"Alegerea stilului arhitectural (partea 1)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Salut, Habr. \u00cen acest moment, OTUS a deschis o nou\u0103 perioad\u0103 a cursului. <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/5RTk\/\">\u201eSoftware Architect\u201d<\/a><\/noindex>. Cu ocazia \u00eenceperii cursului, vreau s\u0103 \u00eemp\u0103rt\u0103\u0219esc cu voi articolul meu autor.<\/i><\/b><\/p>\n<p><\/p>\n<h2>Introducere<\/h2>\n<p>\nAlegerea stilului arhitectural este una dintre deciziile tehnice fundamentale \u00een construirea unui sistem informa\u021bional. \u00cen aceast\u0103 serie de articole, propun s\u0103 analizez cele mai populare stiluri arhitecturale pentru construirea aplica\u021biilor \u0219i s\u0103 r\u0103spund la \u00eentrebarea c\u00e2nd este preferabil un anumit stil arhitectural. Pe parcursul expunerii, voi \u00eencerca s\u0103 urmez un fir logic care explic\u0103 evolu\u021bia stilurilor arhitecturale de la monolite la microservicii. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Pu\u021bin istorie<\/h2>\n<p>\nDac\u0103 \u00eencerci s\u0103 \u00eentrebi dezvoltatorii: \u201eDe ce sunt necesare microserviciile?\u201d, vei primi cele mai variate r\u0103spunsuri. Vei auzi c\u0103 microserviciile \u00eembun\u0103t\u0103\u021besc scalabilitatea, simplific\u0103 \u00een\u021belegerea codului, \u00eembun\u0103t\u0103\u021besc rezilien\u021ba, uneori po\u021bi auzi c\u0103 ele permit \u201ecur\u0103\u021barea codului\u201d. Haide\u021bi s\u0103 ne \u00eentoarcem la istorie pentru a \u00een\u021belege ce scop a avut apari\u021bia microserviciilor.<\/p>\n<p>Pe scurt, microserviciile, a\u0219a cum le \u00een\u021belegem acum, au ap\u0103rut astfel: \u00een 2011, James Lewis, analiz\u00e2nd lucr\u0103rile diferitelor companii, a observat apari\u021bia unui nou model \u201emicro-app\u201d, care a optimizat SOA \u00een ceea ce prive\u0219te accelerarea desf\u0103\u0219ur\u0103rii serviciilor. Pu\u021bin mai t\u00e2rziu, \u00een 2012, la summitul arhitectural, modelul a fost redenumit microserviciu. Astfel, scopul ini\u021bial al implement\u0103rii microserviciilor a fost \u00eembun\u0103t\u0103\u021birea celebrului <b>time to market<\/b>.<\/p>\n<p>Pe valul hype-ului, microserviciile au fost \u00een 2015. Conform unor cercet\u0103ri, nicio conferin\u021b\u0103 nu se desf\u0103\u0219ura f\u0103r\u0103 o prezentare pe tema microserviciilor. Mai mult, unele conferin\u021be au fost dedicate exclusiv microserviciilor. Acum, multe proiecte \u00eencep s\u0103 utilizeze acest stil arhitectural, iar dac\u0103 un proiect con\u021bine tone de cod vechi, atunci cu siguran\u021b\u0103 se desf\u0103\u0219oar\u0103 o migrare activ\u0103 c\u0103tre microservicii.<\/p>\n<p>\u00cen ciuda celor spuse mai sus, \u00een continuare un num\u0103r relativ mic de dezvoltatori poate defini conceptul de \u201emicroserviciu\u201d. Dar despre asta vom vorbi pu\u021bin mai t\u00e2rziu\u2026<\/p>\n<h2>Monolit<\/h2>\n<p>\nStilul arhitectural, opus microserviciilor, este monolitul (sau \u201etotul \u00eentr-unul\u201d). Probabil c\u0103 nu are sens s\u0103 explic\u0103m ce este un monolit, a\u0219a c\u0103 voi lista imediat dezavantajele acestui stil arhitectural, care au ini\u021biat dezvoltarea ulterior a stilurilor arhitecturale: dimensiune, interdependen\u021b\u0103, desf\u0103\u0219urare, scalabilitate, fiabilitate \u0219i rigiditate. Mai jos, v\u0103 propun s\u0103 ne familiariz\u0103m cu fiecare dintre dezavantaje separat.<\/p>\n<h3>Dimensiune<\/h3>\n<p>\nMonolitul este foarte mare. De obicei comunic\u0103 cu o baz\u0103 de date foarte extins\u0103. Aplica\u021bia devine prea mare pentru a fi \u00een\u021beleas\u0103 de un singur dezvoltator. Numai cei care au petrecut mult timp cu acest cod pot lucra eficient cu monolitul, \u00een timp ce \u00eencep\u0103torii vor pierde foarte mult timp \u00eencerc\u00e2nd s\u0103 \u00een\u021beleag\u0103 monolitul, f\u0103r\u0103 garan\u021bia c\u0103 vor reu\u0219i. De obicei, \u00een timpul lucrului cu monolitul, exist\u0103 un \u201esenior\u201d \u201econdi\u021bionat\u201d care cunoa\u0219te monolitul destul de bine \u0219i care \u00eei corecteaz\u0103 pe noii dezvoltatori pe parcursul unui an sau a unei perioade de un an \u0219i jum\u0103tate. Evident, acest senior \u201econdi\u021bionat\u201d reprezint\u0103 un punct unic de e\u0219ec, iar plecarea sa poate duce la distrugerea monolitului. <\/p>\n<h3>Leg\u0103tura<\/h3>\n<p>\nMonolitul este pur \u0219i simplu \u201eo mare bul\u0103 de noroi\u201d (big ball of mud), iar modific\u0103rile \u00een acesta pot provoca consecin\u021be imprevizibile. Schimb\u00e2nd ceva \u00eentr-un loc, po\u021bi afecta monolitul \u00een alt loc (acela\u0219i lucru cu \u201em-am sc\u0103rpinat la ureche, *@ s-a desprins\u201d). Acest lucru este legat de faptul c\u0103 componentele din monolit au rela\u021bii foarte complexe \u0219i, cel mai important, nea\u0219teptate.<\/p>\n<h3>Implementare<\/h3>\n<p>\nImplementarea monolitului, datorit\u0103 rela\u021biilor complexe dintre componentele sale, este un proces \u00eendelungat cu propriul s\u0103u ritual. Acest ritual nu este de obicei complet standardizat \u0219i se transmite \u201edin gur\u0103 \u00een gur\u0103\u201d. <\/p>\n<h3>Scalabilitate<\/h3>\n<p>\nMediile monolitului pot avea nevoi conflictuale \u00een ceea ce prive\u0219te resursele, ceea ce face necesar\u0103 g\u0103sirea unui compromis din perspectiva hardware-ului. Imagineaz\u0103-\u021bi c\u0103 monolitul t\u0103u este format din serviciile A \u0219i B. Serviciul A are cerin\u021be mari legate de dimensiunea discului dur, \u00een timp ce servicii B este necesar \u00een ce prive\u0219te memoria RAM. \u00cen acest caz, fie ma\u0219ina pe care este instalat monolitul trebuie s\u0103 sus\u021bin\u0103 cerin\u021bele ambelor servicii, fie va fi necesar s\u0103 dezactivezi manual unul dintre servicii.<\/p>\n<p>Un alt exemplu (mai clasic): serviciul A este mult mai popular dec\u00e2t serviciul B, a\u0219a c\u0103 vrei s\u0103 ai 100 de instan\u021be ale serviciului A \u0219i 10 instan\u021be ale serviciului B. Din nou, exist\u0103 dou\u0103 op\u021biuni: fie desf\u0103\u0219ur\u0103m 100 de monolite complete, fie va fi nevoie s\u0103 dezactivezi manual anumite servicii B pe unele dintre acestea. <\/p>\n<h3>Fiabilitate<\/h3>\n<p>\nDeoarece toate serviciile sunt \u00eempreun\u0103, dac\u0103 monolitul se pr\u0103bu\u0219e\u0219te, toate serviciile cedeaz\u0103 simultan. \u00cen realitate, este posibil ca acest lucru s\u0103 nu fie at\u00e2t de r\u0103u, cel pu\u021bin nu vor exista defec\u021biuni par\u021biale \u00eentr-un sistem distribuit, dar, pe de alt\u0103 parte, din cauza unei erori \u00een func\u021bionalitate, folosit\u0103 de 0.001% din utilizatori, ai putea pierde to\u021bi utilizatorii sistemului t\u0103u. <\/p>\n<h3>Rigiditate<\/h3>\n<p>\nDatorit\u0103 dimensiunii monolitului, este dificil s\u0103 se treac\u0103 la noi tehnologii. Ca urmare, o sarcin\u0103 distinct\u0103 devine p\u0103strarea acelui senior care este condi\u021bionat. Tehnologia aleas\u0103 la \u00eenceputul proiectului poate deveni un blocaj care \u00eempiedic\u0103 dezvoltarea produsului. <\/p>\n<h2>Concluzie<\/h2>\n<p>\nData viitoare vom discuta despre cum oamenii au \u00eencercat s\u0103 rezolve problemele enun\u021bate, trec\u00e2nd la componente \u0219i SOA.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/5RTk\/\"><img decoding=\"async\" alt=\"Alegerea stilului arhitectural (partea 1)\" src=\"\/wp-content\/uploads\/2020\/08\/d1582a83ad9cf8722a035dfd9a212aa5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<blockquote>\n<h4>Cite\u0219te mai mult:<\/h4>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/504144\/\">De ce SQL Server nu garanteaz\u0103 sortarea rezultatelor f\u0103r\u0103 ORDER BY<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/508206\/\">Arhitectura pentru dezvoltatori \u0219i administratori: ce abilit\u0103\u021bi sunt necesare fiecarei categorii?<\/a><\/noindex><\/li>\n<\/ul>\n<\/blockquote>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/516880\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440. \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abSoftware Architect\u00bb. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0441\u0432\u043e\u0435\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412\u044b\u0431\u043e\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043e\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0449\u0438\u0445 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0430\u043c\u044b\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":92811,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-92810","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.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440. \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abSoftware Architect\u00bb.\" \/>\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\/ro\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\u0412\u044b\u0431\u043e\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440. \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abSoftware Architect\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1\" \/>\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=\"2020-08-31T05:42:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-31T05:42:09+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\udd47Alegerea stilului arhitectural (partea 1) | ProHoster","description":"Bun\u0103, Habr. Chiar acum, la OTUS, este deschis\u0103 \u00eenscrierea pentru un nou curs de \u2018Software Architect\u2019.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\u0412\u044b\u0431\u043e\u0440 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0441\u0442\u0438\u043b\u044f (\u0447\u0430\u0441\u0442\u044c 1) | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440. \u041f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0432 OTUS \u043e\u0442\u043a\u0440\u044b\u0442 \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u00abSoftware Architect\u00bb.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/vybor-arhitekturnogo-stilya-chast-1","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":"2020-08-31T05:42:09+00:00","article:modified_time":"2020-08-31T05:42:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92810","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:00:37","updated":"2022-10-03 23:14:42","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/92810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=92810"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/92810\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/92811"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=92810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=92810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=92810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}