{"id":85697,"date":"2020-06-18T13:42:52","date_gmt":"2020-06-18T11:42:52","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-service-mesh"},"modified":"2020-06-18T13:42:52","modified_gmt":"2020-06-18T11:42:52","slug":"chto-takoe-service-mesh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-takoe-service-mesh","title":{"rendered":"Ce este Service Mesh?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Salut din nou!.. \u00cen ajunul \u00eenceperii cursului <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">\u201eArhitect de Software\u201d<\/a><\/noindex> am preg\u0103tit o alt\u0103 traducere util\u0103.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"Ce este Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/afc53e48443ce4a402b6b1cba1184e6c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Service Mesh este un nivel de infrastructur\u0103 configurabil, cu laten\u021b\u0103 sc\u0103zut\u0103, necesar pentru a gestiona un volum mare de comunica\u021bii \u00eentre procesele din re\u021bea, \u00eentre interfe\u021bele programului aplica\u021biei (API-uri). Service Mesh asigur\u0103 comunica\u021bii rapide, fiabile \u0219i sigure \u00eentre serviciile containerizate \u0219i, adesea, efemere ale infrastructurii aplica\u021biilor. Service Mesh ofer\u0103 capabilit\u0103\u021bi precum descoperirea serviciilor, echilibrarea \u00eenc\u0103rc\u0103turii, criptarea, transparen\u021ba, trasabilitatea, autentificarea \u0219i autorizarea, precum \u0219i suport pentru modelul de oprire automat\u0103 (<i>circuit breaker<\/i>).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n Service Mesh este de obicei implementat prin furnizarea fiec\u0103rei instan\u021be de serviciu cu o instan\u021b\u0103 proxy, numit\u0103 <i>Sidecar. Sidecar<\/i> gestioneaz\u0103 comunica\u021biile \u00eentre servicii, monitorizeaz\u0103 \u0219i elimin\u0103 problemele de securitate, adic\u0103 tot ceea ce poate fi abstractizat de serviciile individuale. Astfel, dezvoltatorii pot scrie, \u00eentre\u021bine \u0219i oferi suport pentru codul aplica\u021biei \u00een servicii, iar administratorii de sistem pot lucra cu Service Mesh \u0219i lansa aplica\u021bia.<\/p>\n<p>Istio de la Google, IBM \u0219i Lyft este \u00een prezent cea mai cunoscut\u0103 arhitectur\u0103 Service Mesh. Kubernetes, care a fost ini\u021bial dezvoltat de Google, este acum singurul cadru de orchestrare a containerelor care este sus\u021binut de Istio. V\u00e2nz\u0103torii \u00eencearc\u0103 s\u0103 creeze versiuni comerciale sus\u021binute ale Istio. Este interesant ce nout\u0103\u021bi vor putea aduce \u00een proiectul open source.<\/p>\n<p>\u00cens\u0103 Istio nu este singura op\u021biune, deoarece sunt dezvoltate \u0219i alte implement\u0103ri de Service Mesh. Modelul <code>proxy sidecar<\/code> este cea mai popular\u0103 implementare, dup\u0103 cum se poate observa din proiectele Buoyant, HashiCorp, Solo.io \u0219i altele. Exist\u0103 \u0219i arhitecturi alternative: setul de instrumente tehnologice de la Netflix este una dintre abord\u0103ri, unde func\u021bionalitatea Service Mesh este realizat\u0103 prin intermediul bibliotecilor Ribbon, Hysterix, Eureka, Archaius, precum \u0219i a unor platforme precum Azure Service Fabric.<\/p>\n<p>Service Mesh are, de asemenea, propria sa terminologie pentru componentele serviciilor \u0219i func\u021biile acestora:<\/p>\n<ul>\n<li><b>Cadru de orchestrare a containerelor<\/b>. Pe m\u0103sur\u0103 ce tot mai multe containeere sunt ad\u0103ugate \u00een infrastructura aplica\u021biei, apare necesitatea unui instrument dedicat pentru monitorizarea \u0219i gestionarea containerelor \u2013 un cadru de orchestrare a containerelor. Kubernetes a ocupat aceast\u0103 ni\u0219\u0103 \u00eentr-un mod at\u00e2t de str\u00e2ns, \u00eenc\u00e2t chiar \u0219i principalii s\u0103i concuren\u021bi, Docker Swarm \u0219i Mesosphere DC\/OS, ofer\u0103 ca alternativ\u0103 integrarea cu Kubernetes.<\/li>\n<li><b>Servicii \u0219i instan\u021be (poduri Kubernetes)<\/b>. Instan\u021ba este o singur\u0103 copie activ\u0103 a unui microserviciu. Uneori, o instan\u021b\u0103 este un singur container. \u00cen Kubernetes, o instan\u021b\u0103 este constituit\u0103 dintr-un grup mic de containere independente, numit pod. Clien\u021bii se adreseaz\u0103 rar direct unei instan\u021be sau unui pod, de obicei, ei se adreseaz\u0103 unui serviciu, care reprezint\u0103 un set de instan\u021be sau poduri (replici) identice, scalabile \u0219i rezistente la defec\u021biuni.<\/li>\n<li><b>Proxy Sidecar<\/b>. Proxy Sidecar lucreaz\u0103 cu o singur\u0103 instan\u021b\u0103 sau pod. Scopul Proxy-ului Sidecar este de a directiona sau a proxifica traficul venit de la containerul cu care lucreaz\u0103 \u0219i traficul de \u00eentoarcere. Sidecar interac\u021bioneaz\u0103 cu alte Proxy-uri Sidecar \u0219i este gestionat de cadrul de orchestrare. Multe implement\u0103ri de Service Mesh utilizeaz\u0103 Proxy-uri Sidecar pentru a intercepta \u0219i gestiona tot traficul de intrare \u0219i ie\u0219ire al instan\u021bei sau pod-ului.<\/li>\n<li><b>Descoperirea serviciilor<\/b>. C\u00e2nd o instan\u021b\u0103 trebuie s\u0103 interac\u021bioneze cu un alt serviciu, aceasta trebuie s\u0103 g\u0103seasc\u0103 (s\u0103 descopere) o instan\u021b\u0103 func\u021bional\u0103 \u0219i disponibil\u0103 a celuilalt serviciu. De regul\u0103, instan\u021ba efectueaz\u0103 c\u0103utarea prin DNS. Cadrul de orchestrare a containerelor men\u021bine o list\u0103 de instan\u021be care sunt preg\u0103tite s\u0103 primeasc\u0103 cereri \u0219i ofer\u0103 o interfa\u021b\u0103 pentru solicit\u0103rile DNS.<\/li>\n<li><b>\u00cenc\u0103rcarea echilibrat\u0103<\/b>. Majoritatea cadrelor de orchestrare a containerelor ofer\u0103 echilibrarea \u00eenc\u0103rc\u0103rii la nivelul 4 (transport). Service Mesh implementeaz\u0103 o echilibrare a \u00eenc\u0103rc\u0103rii mai complex\u0103 la nivelul 7 (aplica\u021bie), bogat\u0103 \u00een algoritmi \u0219i mai eficient\u0103 \u00een gestionarea traficului. Op\u021biunile de echilibrare a \u00eenc\u0103rc\u0103rii pot fi modificate prin API, ceea ce permite orchestrarea unei desf\u0103\u0219ur\u0103ri blue-green sau canary.<\/li>\n<li><b>Criptare<\/b>. Service Mesh poate cripta \u0219i decripta cererile \u0219i r\u0103spunsurile, elimin\u00e2nd aceast\u0103 povar\u0103 de pe servicii. De asemenea, Service Mesh poate \u00eembun\u0103t\u0103\u021bi performan\u021ba prin prioritizarea sau reutilizarea conexiunilor persistente existente, ceea ce reduce necesitatea calculelor costisitoare pentru a crea noi conexiuni. Cea mai comun\u0103 implementare a cript\u0103rii traficului este <i>mutual TLS (mTLS)<\/i>, unde infrastructura de chei publice (PKI) genereaz\u0103 \u0219i distribuie certificate \u0219i chei pentru a fi utilizate \u00een Sidecar Proxy.<\/li>\n<li><b>Autentificarea \u0219i autorizarea<\/b>. Service Mesh poate autoriza \u0219i autentifica cereri f\u0103cute din exterior sau din interiorul aplica\u021biei, trimi\u021b\u00e2nd instan\u021belor doar cereri validate.<\/li>\n<li><b>Suport pentru modelul de oprire automat\u0103<\/b>. Service Mesh suport\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-reference-architecture-nginx-circuit-breaker-pattern\/\">modelul de oprire automat\u0103<\/a><\/noindex>, care izoleaz\u0103 instan\u021bele nes\u0103n\u0103toase \u0219i apoi le restabile\u0219te treptat \u00een grupul de instan\u021be s\u0103n\u0103toase, atunci c\u00e2nd este necesar.<\/li>\n<\/ul>\n<p>\nPartea aplica\u021biei Service Mesh care gestioneaz\u0103 traficul de re\u021bea \u00eentre instan\u021be se nume\u0219te <i>Data Plane<\/i>. Crearea \u0219i desf\u0103\u0219urarea configura\u021biei care gestioneaz\u0103 comportamentul <i>Data Plane<\/i>, se realizeaz\u0103 cu ajutorul unei <i>Control Plane<\/i>. <i>Control Plane<\/i> de obicei include sau este proiectat pentru a se conecta la API, CLI sau GUI pentru gestionarea aplica\u021biei.<\/p>\n<p><img decoding=\"async\" alt=\"Ce este Service Mesh?\" src=\"\/wp-content\/uploads\/2020\/06\/130fe71904f72a76dfe8e8dbc405e498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Control Plane \u00een Service Mesh distribuie configura\u021bia \u00eentre Sidecar Proxy \u0219i Data Plane.<\/i><\/p>\n<p>Adesea, arhitectura Service Mesh este aplicat\u0103 pentru a rezolva sarcini opera\u021bionale complexe folosind containere \u0219i microservicii. Pionierii din acest domeniu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introduction-to-microservices\/\">microservicii<\/a><\/noindex> sunt companii precum Lyft, Netflix \u0219i Twitter, care ofer\u0103 servicii care func\u021bioneaz\u0103 constant pentru milioane de utilizatori din \u00eentreaga lume. (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/microservices-at-netflix-architectural-best-practices\/\">Aici pute\u021bi g\u0103si o descriere detaliat\u0103 a unor provoc\u0103ri arhitecturale cu care s-a confruntat Netflix<\/a><\/noindex>). Pentru sarcini aplica\u021bionale mai pu\u021bin exigente, cel mai probabil va fi suficient un set de arhitecturi mai simple.<\/p>\n<p>Arhitectura Service Mesh nu va fi niciodat\u0103 r\u0103spunsul la toate \u00eentreb\u0103rile legate de func\u021bionarea aplica\u021biilor \u0219i livrarea acestora. Arhitec\u021bii \u0219i dezvoltatorii dispun de un arsenal imens de instrumente, iar doar unul dintre ele este ciocanul, care, printre numeroasele sarcini, trebuie s\u0103 rezolve doar una \u2013 s\u0103 bat\u0103 cuie. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/introducing-the-nginx-microservices-reference-architecture\/\">Microservices Reference Architecture de la NGINX<\/a><\/noindex>, de exemplu, include mai multe modele diferite care ofer\u0103 un spectru continuu de abord\u0103ri pentru rezolvarea problemelor cu ajutorul microserviciilor.<\/p>\n<p>Elementele care se combin\u0103 \u00een arhitectura Service Mesh, cum ar fi NGINX, containerele, Kubernetes \u0219i microserviciile ca abordare arhitectural\u0103, pot fi utilizate la fel de productiv \u0219i \u00een implement\u0103rile f\u0103r\u0103 Service Mesh. De exemplu, Istio a fost dezvoltat ca o arhitectur\u0103 complet\u0103 Service Mesh, dar modularitatea indic\u0103 faptul c\u0103 dezvoltatorii pot alege \u0219i aplica doar componentele tehnologice de care au nevoie. \u021ain\u00e2nd cont de acest lucru, este necesar s\u0103 form\u0103m o \u00een\u021belegere clar\u0103 a conceptului Service Mesh, chiar dac\u0103 nu sunte\u021bi sigur c\u0103 ve\u021bi putea vreodat\u0103 s\u0103 \u00eel implementa\u021bi pe deplin \u00een aplica\u021bia dumneavoastr\u0103.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/UNlX\/\">Monolite modulare \u0219i DDD<\/a><\/noindex><\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/506916\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!.. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434. Service Mesh \u2013 \u044d\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441 \u043d\u0438\u0437\u043a\u043e\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (API). Service Mesh \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0443\u044e, \u043d\u0430\u0434\u0451\u0436\u043d\u0443\u044e \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0447\u0430\u0441\u0442\u043e \u044d\u0444\u0435\u043c\u0435\u0440\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":85698,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-85697","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=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\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\/ro\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-takoe-service-mesh\" \/>\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-06-18T11:42:52+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-18T11:42:52+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\udd47Ce este Service Mesh? | ProHoster","description":"\u0218i din nou salut!..","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-takoe-service-mesh","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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Service Mesh? | ProHoster","og:description":"\u0418 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!..","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/chto-takoe-service-mesh","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-06-18T11:42:52+00:00","article:modified_time":"2020-06-18T11:42:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"85697","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 14:32:46","updated":"2022-09-28 09:55:06","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\/85697","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=85697"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/85697\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/85698"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=85697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=85697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=85697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}