{"id":55700,"date":"2020-01-26T00:00:00","date_gmt":"2020-01-25T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti"},"modified":"2020-02-18T14:03:50","modified_gmt":"2020-02-18T11:03:50","slug":"trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","title":{"rendered":"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Principi i pasiguris\u00eb i Heisenbergut thot\u00eb se nuk mund t\u00eb matet nj\u00ebkoh\u00ebsisht pozita e nj\u00eb objekti dhe shpejt\u00ebsia e tij. N\u00ebse objekti l\u00ebviz, at\u00ebher\u00eb ai nuk ka vendndodhje. Nd\u00ebrsa n\u00ebse ekziston nj\u00eb vendndodhje \u2013 at\u00ebher\u00eb ai nuk ka shpejt\u00ebsi.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/617ace5f892b62652b404b24585537b0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSa i p\u00ebrket mikrosh\u00ebrbimeve n\u00eb platform\u00ebn Red Hat OpenShift (dhe n\u00ebn menaxhimin e Kubernetes-it), fal\u00eb softuerit p\u00ebrkat\u00ebs me kod t\u00eb hapur, ato mund t\u00eb raportohet nj\u00ebkoh\u00ebsisht mbi performanc\u00ebn e tyre dhe funksionalitetin. Kjo, natyrisht, nuk e kund\u00ebrshton z. Heisenberg, por ndihmon n\u00eb eliminimin e pasiguris\u00eb gjat\u00eb pun\u00ebs me aplikacionet n\u00eb re. Istio lejon q\u00eb t\u00eb organizohet leht\u00ebsisht ndjekja (k\u00ebrcimi) dhe monitorimi i k\u00ebtyre aplikacioneve p\u00ebr t\u00eb mbajtur gjith\u00e7ka n\u00ebn kontroll.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Po e p\u00ebrcaktojm\u00eb terminologjin\u00eb<\/h3>\n<p>\nN\u00ebn <b>k\u00ebrcimin<\/b> (Tracing) kuptojm\u00eb logimin e aktiviteteve sistemike. D\u00ebgjohet mjaft p\u00ebrgjith\u00ebsisht, por n\u00eb t\u00eb v\u00ebrtet\u00eb nj\u00eb nga rregullat kryesore k\u00ebtu \u00ebsht\u00eb q\u00eb t\u00eb derdhen t\u00eb dh\u00ebnat e k\u00ebrcimit n\u00eb nj\u00eb ruajtje t\u00eb p\u00ebrshtatshme, pa u shqet\u00ebsuar p\u00ebr formatizimin e tyre. E gjith\u00eb puna e k\u00ebrkimit dhe analiz\u00ebs s\u00eb t\u00eb dh\u00ebnave i besohet p\u00ebrdoruesit t\u00eb tyre. N\u00eb Istio p\u00ebrdoret sistemi i k\u00ebrcimit Jaeger, q\u00eb implementon modelin e t\u00eb dh\u00ebnave OpenTracing.<\/p>\n<p><b>K\u00ebrcimet<\/b> (Traces, dhe fjala \"k\u00ebrcime\" k\u00ebtu p\u00ebrdoret n\u00eb kuptimin e \"gjurm\u00ebve\", si p\u00ebr shembull n\u00eb ekspertiz\u00ebn ballistike) ne do t\u2019i quajm\u00eb t\u00eb dh\u00ebnat q\u00eb p\u00ebrshkruajn\u00eb plot\u00ebsisht kalimin e nj\u00eb k\u00ebrkese ose nj\u00eb nj\u00ebsie pune, si\u00e7 thuhet, \"nga fillimi n\u00eb fund\". P\u00ebr shembull, gjith\u00e7ka q\u00eb ndodh q\u00eb nga momenti kur p\u00ebrdoruesi shtyp nj\u00eb buton n\u00eb nj\u00eb faqe web dhe deri n\u00eb momentin e kthimit t\u00eb t\u00eb dh\u00ebnave, duke p\u00ebrfshir\u00eb t\u00eb gjitha mikrosh\u00ebrbimet e angazhuara n\u00eb t\u00eb. Mund t\u00eb thuhet se nj\u00eb k\u00ebrcim p\u00ebrshkruan plot\u00ebsisht (apo modelon) kalimin e nj\u00eb k\u00ebrkese p\u00ebrpara dhe prapa. N\u00eb nd\u00ebrfaqen Jaeger, k\u00ebrcimet jan\u00eb t\u00eb ndara n\u00eb komponent\u00eb sipas boshtit t\u00eb koh\u00ebs, si\u00e7 mund t\u00eb ndahet nj\u00eb zinxhir n\u00eb lidhje t\u00eb ve\u00e7anta. Vet\u00ebm se n\u00eb vend t\u00eb lidhjeve, k\u00ebrcimi p\u00ebrb\u00ebhet nga ato q\u00eb quhen span.<\/p>\n<p><b>Span<\/b> \u2013 \u00ebsht\u00eb intervali nga fillimi i ekzekutimit t\u00eb nj\u00eb nj\u00ebsie pune deri n\u00eb p\u00ebrfundimin e saj. Duke vijuar analogjin\u00eb, mund t\u00eb thuhet se secili span \u00ebsht\u00eb nj\u00eb lidhje e ve\u00e7ant\u00eb e zinxhirit. Span mund t\u00eb ket\u00eb (ose nuk ka) nj\u00eb ose m\u00eb shum\u00eb span t\u00eb f\u00ebmij\u00ebve. Si pasoj\u00eb, span i nivelit m\u00eb t\u00eb lart\u00eb (root span) do t\u00eb ket\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb totale si dhe pista q\u00eb i p\u00ebrket.<\/p>\n<p><b>Monitorimi<\/b> \u2013 \u00ebsht\u00eb, n\u00eb thelb, vet\u00eb v\u00ebzhgimi i sistemit tuaj \u2013 me sy, p\u00ebrmes UI ose mjeteve t\u00eb automatizimit. N\u00eb thelb t\u00eb monitorimit jan\u00eb t\u00eb dh\u00ebnat e gjurmimit. N\u00eb Istio, monitorimi realizohet p\u00ebrmes Prometheus dhe ka UI p\u00ebrkat\u00ebs. Prometheus mb\u00ebshtet automatikisht monitorimin me p\u00ebrdorimin e alarmet Alerts dhe Menaxher\u00ebve t\u00eb Alarmit.<\/p>\n<h3>L\u00ebm\u00eb shenjat<\/h3>\n<p>\nP\u00ebr t\u00eb b\u00ebr\u00eb t\u00eb mundur gjurmimin, aplikacioni duhet t\u00eb krijoj\u00eb nj\u00eb koleksion span-esh. M\u00eb pas, ato duhet t\u00eb eksportohen n\u00eb Jaeger, n\u00eb m\u00ebnyr\u00eb q\u00eb ai gjithashtu t\u00eb krijoj\u00eb nj\u00eb p\u00ebrfaq\u00ebsim grafik t\u00eb gjurmimit. Mes t\u00eb tjerash, k\u00ebto span sh\u00ebnojn\u00eb emrin e operacionit, si dhe etiketat e koh\u00ebs p\u00ebr fillimin dhe p\u00ebrfundimin e tij. Transferimi i span-\u00ebve realizohet p\u00ebrmes riadresimit t\u00eb titujve t\u00eb HTTP q\u00eb jan\u00eb t\u00eb destinuara p\u00ebr Jaeger nga k\u00ebrkesat hyr\u00ebse n\u00eb ato dal\u00ebse. N\u00eb var\u00ebsi t\u00eb gjuh\u00ebs s\u00eb p\u00ebrdorur t\u00eb programimit, kjo mund t\u00eb k\u00ebrkoj\u00eb disa modifikime t\u00eb vogla t\u00eb kodit burimor t\u00eb aplikacioneve. M\u00eb posht\u00eb jepet nj\u00eb shembull kodi n\u00eb Java (nd\u00ebrsa p\u00ebrdorim korniz\u00ebn Spring Boot), e cila shton titujt B3 (n\u00eb stilin Zipkin) n\u00eb k\u00ebrkes\u00ebn tuaj n\u00eb klas\u00ebn konfigurimit t\u00eb Spring:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/2314e2d156dc9b9fdb299af2dac01f66.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00ebr k\u00ebt\u00eb p\u00ebrdoren cil\u00ebsimet e m\u00ebposhtme t\u00eb titujve:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/18f0a13af27665ec2d154ff4cff48157.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00ebse p\u00ebrdorni Java, kodin nuk \u00ebsht\u00eb e nevojshme ta prekni, por thjesht addoni disa rreshta n\u00eb skedarin POM dhe caktoni variablat e ambientit. Ja cilat rreshta duhet t\u00eb shtoni n\u00eb skedarin POM.XML p\u00ebr t\u00eb futur Jaeger Tracer Resolver:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/a63a634c2c22fc09a237cafc4873855d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDhe variablat p\u00ebrkat\u00ebs t\u00eb ambientit caktosh n\u00eb Dockerfile:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/7fe9046242d7e628342a6266e4a2f743.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nE gjith\u00eb, tani gjith\u00e7ka \u00ebsht\u00eb e konfiguruar, dhe mikrosh\u00ebrbimet tona do t\u00eb fillojn\u00eb t\u00eb gjenerojn\u00eb t\u00eb dh\u00ebna gjurmimi.<\/p>\n<h3>Shikojm\u00eb n\u00eb p\u00ebrgjith\u00ebsi<\/h3>\n<p>\nN\u00eb p\u00ebrb\u00ebrje t\u00eb Istio ndodhet nj\u00eb panel kontrolli t\u00eb thjesht\u00eb t\u00eb bazuar n\u00eb Grafana. Kur t\u00eb gjitha jan\u00eb t\u00eb konfiguruara dhe funksionojn\u00eb n\u00eb platform\u00ebn Red Hat OpenShift PaaS (n\u00eb shembulin ton\u00eb, Red Hat OpenShift dhe Kubernetes jan\u00eb vendosur n\u00eb minishift), ky panel fillon me komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"plaintext\">hap&laquo;$(minishift openshift service grafana -u)\\\/d\\\/1\\\/istio-dashboard?refresh=5&amp;ord;Id=1&raquo;\n<\/code><\/pre>\n<p>\nPana Grafana lejon t\u00eb vler\u00ebsoj\u00eb shpejt performanc\u00ebn e sistemit. Nj\u00eb fragment i k\u00ebsaj panele \u00ebsht\u00eb treguar n\u00eb figur\u00ebn m\u00eb posht\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/2c10cd23fd5166f437c2b3c1d50c6a18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nK\u00ebtu shihet se mikrosh\u00ebrbimi customer th\u00ebrret mikrosh\u00ebrbimin preference v1, dhe ky i fundit th\u00ebrret mikrosh\u00ebrbimet recommendation v1 dhe v2. N\u00eb pan\u00ebn Grafana ka nj\u00eb bllok Dashboard Row p\u00ebr metrika t\u00eb nivelit t\u00eb lart\u00eb, si\u00e7 jan\u00eb numri i p\u00ebrgjithsh\u00ebm i k\u00ebrkesave (Global Request Volume), shkalla e sukseseve (success rates), gabimet 4xx. P\u00ebr m\u00eb tep\u00ebr, atje ka nj\u00eb pamje Server Mesh me grafika p\u00ebr \u00e7do sh\u00ebrbim dhe nj\u00eb bllok Services Row p\u00ebr t\u00eb par\u00eb detajet e holl\u00ebsishme p\u00ebr \u00e7do kontejner p\u00ebr \u00e7do sh\u00ebrbim.<\/p>\n<h3>Tani do t\u00eb thellojm\u00eb m\u00eb thell\u00eb<\/h3>\n<p>\nMe konfigurimin e duhur t\u00eb gjurmimit Istio, \u00e7far\u00ebdo q\u00eb quhet, lejon nj\u00eb analiz\u00eb t\u00eb thelluar t\u00eb performanc\u00ebs s\u00eb sistemit direkt nga kutia. N\u00eb UI-n\u00eb Jaeger mund t\u00eb shihni gjurmimet dhe t\u00eb shihni se si arrijn\u00eb deri n\u00eb thell\u00ebsi, si dhe t\u00eb lokalizoni vizualisht ngushticat n\u00eb performanc\u00eb. Duke p\u00ebrdorur Red Hat OpenShift n\u00eb platform\u00ebn minishift, mund t\u00eb nisni UI-n\u00eb Jaeger me komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"plaintext\">minishift openshift service jaeger-query --in-browser\n<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/074fea646ad191f819a9a67a3f311c8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00c7far\u00eb mund t\u00eb themi mbi gjurmimin n\u00eb k\u00ebt\u00eb ekran:<\/p>\n<ul>\n<li>Ajo ndahen n\u00eb 7 span\u2019\u00eb.<\/li>\n<li>Koha e p\u00ebrgjithshme e ekzekutimit \u00ebsht\u00eb 6.99 ms.<\/li>\n<li>P\u00ebr mikrosh\u00ebrbimin recommendation, i cili \u00ebsht\u00eb i fundit n\u00eb zinxhir, shpenzohen 0.69 ms.<\/li>\n<\/ul>\n<p>\nDiagramet e k\u00ebtij lloji lejojn\u00eb shpejt t\u00eb kuptohet situata kur nj\u00eb sh\u00ebrbim jo shum\u00eb funksional ndikon n\u00eb performanc\u00ebn e gjith\u00eb sistemit.<\/p>\n<p>Tani tani e komplikuar detyr\u00ebn dhe do t\u00eb ekzekutojm\u00eb dy instanca t\u00eb mikrosh\u00ebrbimit recommendation:v2 me komand\u00ebn oc scale \u2014replicas=2 deployment\\\/recommendation-v2. K\u00ebto do t\u00eb jen\u00eb pod'\u00ebt tan\u00eb pas k\u00ebsaj:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/0ecb8d78d6967d0392de67be6553b870.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00ebse tani kalojm\u00eb p\u00ebrs\u00ebri n\u00eb Jaeger dhe zgjerojm\u00eb span p\u00ebr sh\u00ebrbimin recommendation, do t\u00eb shohim se n\u00eb cilin pod po ruten k\u00ebrkesat. K\u00ebshtu, mund t\u00eb lokalizojm\u00eb leht\u00ebsisht ngadal\u00ebsimet n\u00eb nivelin e nj\u00eb pod\u2019i t\u00eb ve\u00e7ant\u00eb. Duhet t\u00eb shohim n\u00eb fush\u00ebn node_id:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/474da66c581692cd11070a1732ac5458.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Ku dhe si shkojn\u00eb t\u00eb gjitha<\/h3>\n<p>\nTani kalojm\u00eb n\u00eb nd\u00ebrfaqen e Prometheus dhe pritet t\u00eb shohim atje se k\u00ebrkesat midis versioneve t\u00eb dyta dhe t\u00eb para t\u00eb sh\u00ebrbimit recommendation ndahen n\u00eb raportin 2:1, rrept\u00ebsisht sipas numrit t\u00eb pod\u2019\u00ebve q\u00eb punojn\u00eb. Ky grafik do t\u00eb ndryshoj\u00eb dinamikisht kur t\u00eb shkall\u00ebzojm\u00eb pod\u2019\u00ebt lart-posht\u00eb, q\u00eb do t\u00eb jet\u00eb ve\u00e7an\u00ebrisht e dobishme gjat\u00eb Canary Deployment (ne do ta shqyrtojm\u00eb k\u00ebt\u00eb skem\u00eb shp\u00ebrndarjeje m\u00eb pas).<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c080fffd2398b0a2eac3e63665bdb0a7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>E gjitha sapo ka filluar<\/h3>\n<p>\nN\u00eb t\u00eb v\u00ebrtet\u00eb, sot ne, ashtu si\u00e7 thuhet, prekem vet\u00ebm leht\u00ebsisht nj\u00eb minier\u00eb informacioni t\u00eb dobish\u00ebm rreth Jaeger, Grafana dhe Prometheus. N\u00eb t\u00eb v\u00ebrtet\u00eb, ky ishte q\u00ebllimi yn\u00eb \u2013 t'ju drejtojm\u00eb n\u00eb drejtimin e duhur dhe t\u00eb hapim perspektivat p\u00ebr Istio.<\/p>\n<p>Dhe mbani mend, e gjith\u00eb kjo \u00ebsht\u00eb e nd\u00ebrtuar tashm\u00eb brenda Istio. Kur p\u00ebrdoren disa gjuh\u00eb programimi (si Java) dhe framework-e (si Spring Boot), t\u00eb gjitha k\u00ebto mund t\u00eb realizohen pa e prekur kodin e aplikacioneve. Po, do t'ju duhet t\u00eb modifikoni pak kodin n\u00ebse p\u00ebrdorni gjuh\u00eb t\u00eb tjera, sidomos Nodejs ose C#. Por, pasi q\u00eb ndjekshm\u00ebria (lexo \"gjurmimi\") \u00ebsht\u00eb nj\u00eb nga kushtet e domosdoshme p\u00ebr nd\u00ebrtimin e sistemeve t\u00eb besueshme n\u00eb re, n\u00eb \u00e7do rast do t'ju duhet t\u00eb rregulloni kodin, qofshi me Istio apo jo. Pra, pse t\u00eb mos e shfryt\u00ebzoni k\u00ebt\u00eb mund\u00ebsi n\u00eb m\u00ebnyr\u00eb m\u00eb t\u00eb dobishme?<\/p>\n<p>T\u00eb pakt\u00ebn p\u00ebr t'iu p\u00ebrgjigjur gjithmon\u00eb pyetjeve \"ku?\" dhe \"sa shpejt?\" me 100% siguri.<\/p>\n<h3>Inxhinieria e kaosit n\u00eb Istio: k\u00ebshtu ishte menduar<\/h3>\n<p><\/p>\n<h3>Aft\u00ebsia p\u00ebr t\u00eb thyer gj\u00ebra ndihmon q\u00eb ato t\u00eb mos thyhen.<\/h3>\n<p>\nTestimi i softuerit \u00ebsht\u00eb di\u00e7ka jo vet\u00ebm e komplikuar, por edhe e r\u00ebnd\u00ebsishme. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, testimi i sakt\u00ebsis\u00eb (p\u00ebr shembull, a kthen funksioni rezultatin e duhur) \u00ebsht\u00eb nj\u00eb gj\u00eb, nd\u00ebrsa testimi n\u00eb kushte t\u00eb nj\u00eb rrjeti t\u00eb paparashikuesh\u00ebm \u00ebsht\u00eb nj\u00eb detyr\u00eb krejt\u00ebsisht e ndryshme (shpesh besohet se rrjeti gjithmon\u00eb funksionon pa probleme, dhe kjo \u00ebsht\u00eb nj\u00eb nga tet\u00eb mitet kryesore mbi llogarit\u00eb e shp\u00ebrndara). Nj\u00eb nga v\u00ebshtir\u00ebsit\u00eb n\u00eb zgjidhjen e k\u00ebsaj p\u00ebrgjegj\u00ebsie \u00ebsht\u00eb se si t\u00eb imitosh d\u00ebshtimet n\u00eb sistem ose t'i sjell\u00ebsh ato q\u00ebllimisht, duke kryer at\u00eb q\u00eb quhet \"injeksion d\u00ebshtimi\". Kjo mund t\u00eb b\u00ebhet duke modifikuar kodin burimor t\u00eb vet\u00eb aplikacionit. Por at\u00ebher\u00eb do t\u00eb jeni n\u00eb testimin e nj\u00eb versioni q\u00eb simulohet posa\u00e7\u00ebrisht p\u00ebr d\u00ebshtime. Si rezultat, rrezikoni t\u00eb bini n\u00eb p\u00ebrqafimet vdekjeprur\u00ebse t\u00eb injeksionit t\u00eb d\u00ebshtimit dhe t\u00eb p\u00ebrballeni me \"gajzenbag\u00ebt\" \u2013 d\u00ebshtime q\u00eb zhduken gjat\u00eb p\u00ebrpjekjes p\u00ebr t'i zbuluar ato.<\/p>\n<p>Tani do t\u00eb tregojm\u00eb se si Istio ndihmon p\u00ebr t\u00eb p\u00ebrballuar k\u00ebto v\u00ebshtir\u00ebsi leht\u00ebsisht.<\/p>\n<h3>Si duket gjith\u00e7ka kur gjith\u00e7ka shkon si\u00e7 duhet.<\/h3>\n<p>\nLe t\u00eb shqyrtojm\u00eb skenarin e m\u00ebposht\u00ebm: ne kemi dy pod-e p\u00ebr mikroserevizin ton\u00eb t\u00eb rekomandimeve, t\u00eb cilin e mor\u00ebm nga nj\u00eb manual p\u00ebr Istio. Nj\u00eb pod \u00ebsht\u00eb etiketuar si v1, nd\u00ebrsa tjetri si v2. Si\u00e7 e shohim, deri tani gjith\u00e7ka funksionon si\u00e7 duhet:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c50387b7cfd12298cfab8123f13b2ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(Nga ana tjet\u00ebr, numri n\u00eb t\u00eb djatht\u00eb \u00ebsht\u00eb thjesht nj\u00eb num\u00ebrues i thirrjeve p\u00ebr \u00e7do pod)<\/p>\n<p>Por ne na duhet aspak kjo, apo jo? Epo, do t\u00eb p\u00ebrpiqemi ta d\u00ebrgojm\u00eb n\u00eb d\u00ebshtim, pa prekur fare kodin burimor.<\/p>\n<h3>Po organizojm\u00eb nd\u00ebrprerje n\u00eb funksionimin e mikrosh\u00ebrbimit<\/h3>\n<p>\nM\u00eb posht\u00eb \u00ebsht\u00eb nj\u00eb skedar yaml p\u00ebr rregullin e routing-ut Istio, i cili n\u00eb gjysm\u00ebn e rasteve do t\u00eb d\u00ebshtoj\u00eb (gabim) <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/dts-los-angeles\/\"   title=\"server\u00eb\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3597\">server\u00eb<\/a> 503):<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/8fb3ed7f16ed7fd1a57b27dfc3bfd2da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nVini re, ne qart\u00eb shkruajm\u00eb se n\u00eb gjysm\u00ebn e rasteve duhet t\u00eb kthehet nj\u00eb gabim 503.<\/p>\n<p>K\u00ebtu \u00ebsht\u00eb si do t\u00eb duket nj\u00eb screenshot i komand\u00ebs curl t\u00eb ekzekutuar n\u00eb cik\u00ebl pasi ta aktivizojm\u00eb k\u00ebt\u00eb rregull p\u00ebr t\u00eb simuluar d\u00ebshtimet. Si\u00e7 shohim, gjysma e k\u00ebrkesave kthejn\u00eb gabim 503, pavar\u00ebsisht nga pod-i \u2013 v1 ose v2 \u2013 ku ato d\u00ebrgohen:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/3d9760cf5abc7480ad3aab826c274766.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00ebr t\u00eb rikthyer funksionimin normal, mjafton t\u00eb hiqni k\u00ebt\u00eb rregull, n\u00eb rastin ton\u00eb me komand\u00ebn istioctl delete routerule recommendation-503 -n tutorial. K\u00ebtu Tutorial \u00ebsht\u00eb emri i projektit Red Hat OpenShift, n\u00eb t\u00eb cilin po punojm\u00eb me udh\u00ebzimet tona p\u00ebr Istio.<\/p>\n<h3>Shtojm\u00eb vonesa artificiale<\/h3>\n<p>\nGabimet artificiale 503 ndihmojn\u00eb p\u00ebr t\u00eb testuar sistemin p\u00ebr q\u00ebndrushm\u00ebrin\u00eb ndaj d\u00ebshtimeve, por aft\u00ebsia p\u00ebr t\u00eb parashikuar dhe trajtuar vonesat duhet t'ju impresionoj\u00eb edhe m\u00eb shum\u00eb. Vonesat n\u00eb realitet ndodhin m\u00eb shpesh se d\u00ebshtimet. Nj\u00eb mikrosh\u00ebrbim i ngadalsh\u00ebm \u00ebsht\u00eb kancer, nga i cili vuan i gjith\u00eb sistemi. Me ndihm\u00ebn e Istio, mund t\u00eb testoni kodin q\u00eb lidhet me trajtimin e vonesave, pa e ndryshuar at\u00eb. Fillimisht, ne do t\u00eb tregojm\u00eb se si ta b\u00ebjm\u00eb k\u00ebt\u00eb n\u00eb rastin e vonesave artificiale t\u00eb rrjetit.<\/p>\n<p>Vini re se pas nj\u00eb testimi t\u00eb till\u00eb, mund t'ju nevojitet (ose do t\u00eb d\u00ebshironit) t\u00eb p\u00ebrmir\u00ebsoni kodin tuaj. Lajmi i mir\u00eb k\u00ebtu \u00ebsht\u00eb se n\u00eb k\u00ebt\u00eb rast do t\u00eb veproni proaktivisht dhe jo reaktivisht. Ky \u00ebsht\u00eb cikli i duhur i zhvillimit: kodim \u2013 testim \u2013 feedback \u2013 kodim \u2013 testim\u2026<\/p>\n<p>K\u00ebtu \u00ebsht\u00eb si duket rregulli, i cili... Megjithat\u00eb, e dini \u00e7far\u00eb? Istio \u00ebsht\u00eb kaq i thjesht\u00eb, dhe ky skedar yaml \u00ebsht\u00eb kaq i qart\u00eb, sa \u00e7do gj\u00eb n\u00eb k\u00ebt\u00eb shembull flet p\u00ebr vete, thjesht shikoni:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/e077e891cbccc66ebc4d4c7b67a0f1ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb gjysm\u00ebn e rasteve do t\u00eb kemi nj\u00eb vones\u00eb prej 7 sekondash. Dhe kjo nuk \u00ebsht\u00eb aspak e nj\u00ebjt\u00eb me sa do t\u00eb ndodhte n\u00ebse do t\u00eb p\u00ebrdornim nj\u00eb komand\u00eb spanjolle n\u00eb kodin burimor, sepse Istio realisht ndalon k\u00ebrkes\u00ebn p\u00ebr 7 sekonda. Duke qen\u00eb se Istio mb\u00ebshtet gjurmimin Jaeger, kjo vones\u00eb v\u00ebrtet\u00eb v\u00ebrehet n\u00eb UI t\u00eb Jaeger, si\u00e7 tregohet n\u00eb skrinin m\u00eb posht\u00eb. Vini re k\u00ebrkes\u00ebn e gjat\u00eb n\u00eb k\u00ebndin e sip\u00ebrm t\u00eb djatht\u00eb t\u00eb diagramit \u2013 koha e saj \u00ebsht\u00eb 7.02 sekonda:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/97a7b33fb7e0455973c7fd1b2aefadf3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKy skenar lejon testimin e kodit n\u00eb kushte vonesash n\u00eb rrjet. Dhe \u00ebsht\u00eb e qart\u00eb se, duke hequr k\u00ebt\u00eb rregull, ne do t\u00eb heqim vones\u00ebn artificiale. E p\u00ebrs\u00ebrisim, por ne s\u00ebrish e b\u00ebm\u00eb t\u00eb gjith\u00eb k\u00ebt\u00eb pa prekur kodin burimor.<\/p>\n<h3>T\u00eb mos heqim dor\u00eb dhe t\u00eb mos dor\u00ebzohemi<\/h3>\n<p>\nNj\u00eb funksion tjet\u00ebr i dobish\u00ebm p\u00ebr inxhinierin\u00eb e kaosit n\u00eb Istio \u00ebsht\u00eb p\u00ebrs\u00ebritja e k\u00ebrkesave ndaj sh\u00ebrbimit nj\u00eb num\u00ebr t\u00eb caktuar her\u00ebsh. Q\u00ebllimi k\u00ebtu \u00ebsht\u00eb t\u00eb mos ndalojm\u00eb p\u00ebrpjekjet kur k\u00ebrkesa e par\u00eb p\u00ebrfundon me nj\u00eb gabim 503 \u2013 dhe at\u00ebher\u00eb, ndoshta, n\u00eb her\u00ebn e N-t\u00eb do t\u00eb kemi fat. Mund t\u00eb jet\u00eb q\u00eb sh\u00ebrbimi thjesht ka qen\u00eb n\u00eb gjum\u00eb p\u00ebr nj\u00eb arsye apo nj\u00eb tjet\u00ebr. Po, arsyeja duhet t\u00eb zbulohet dhe t\u00eb eliminohet. Por kjo \u00ebsht\u00eb p\u00ebr m\u00eb von\u00eb, nd\u00ebrsa tani ne do t\u00eb p\u00ebrpiqemi t\u00eb b\u00ebjm\u00eb q\u00eb sistemi t\u00eb vazhdoj\u00eb t\u00eb punoj\u00eb.<\/p>\n<p>Pra, ne duam q\u00eb sh\u00ebrbimi her\u00eb pas here t\u00eb jap\u00eb nj\u00eb gabim 503, dhe Istio pas k\u00ebsaj t\u00eb provoj\u00eb p\u00ebrs\u00ebri t\u00eb lidhet me t\u00eb. Dhe k\u00ebtu na nevojitet nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb gjeneruar gabimin 503, pa prekur kodin e vet...<\/p>\n<p>Stop, prit! Ne sapo e b\u00ebm\u00eb k\u00ebt\u00eb.<\/p>\n<p>Ky skedar do ta b\u00ebj\u00eb q\u00eb sh\u00ebrbimi recommendation-v2 n\u00eb gjysm\u00ebn e rasteve t\u00eb jap\u00eb nj\u00eb gabim 503:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/f446528f9c968e40cc2cf318cf0acde9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nE dukshme \u00ebsht\u00eb se disa nga k\u00ebrkesat do t\u00eb p\u00ebrfundojn\u00eb me d\u00ebshtim:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/f998513746604beda241b8d6de2ed727.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTani do t\u00eb aktivizojm\u00eb funksionin Retry t\u00eb Istio:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/32e210b6ecbf4c1ecf121ee73e64ba35.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKy rregull i \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0458\u0430\u0442\u0430 b\u00ebn tre p\u00ebrs\u00ebritje me nj\u00eb interval prej dy sekondash dhe duhet t\u00eb reduktoj\u00eb (dhe n\u00eb ide t\u00eb heq\u00eb p\u00ebrfundimisht nga radar\u00ebt) gabimet 503:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/7f9711c52949072b823399e59141cb64.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00ebrmbledhim: ne e b\u00ebm\u00eb q\u00eb Istio, s\u00eb pari, t\u00eb gjeneronte nj\u00eb gabim 503 p\u00ebr gjysm\u00ebn e k\u00ebrkesave. Dhe s\u00eb dyti, po ai Istio b\u00ebn tre p\u00ebrpjekje p\u00ebr t\u00eb lidhur s\u00ebrish me sh\u00ebrbimin n\u00eb rastin e nj\u00eb gabimi 503. Si rezultat, gjith\u00e7ka funksionon thjesht shk\u00eblqyese. K\u00ebshtu, duke p\u00ebrdorur funksionin Retry, ne p\u00ebrmbush\u00ebm premtimin ton\u00eb p\u00ebr t\u00eb mos hequr dor\u00eb dhe p\u00ebr t\u00eb mos u dor\u00ebzuar.<\/p>\n<p>Po, ne e b\u00ebm\u00eb k\u00ebt\u00eb p\u00ebrs\u00ebri, pa prekur fare kodin. E vetmja gj\u00eb q\u00eb na duhej, ishin dy rregulla \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0458\u0435 t\u00eb Istio:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c21a1cfd2d78ae4145a57d1cefcc6c59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Si t\u00eb mos e l\u00ebshosh p\u00ebrdoruesin ose shtat\u00eb nj\u00ebri t\u00eb pres\u00eb<\/h3>\n<p>\nTani tani, do ta shohim situat\u00ebn nga nj\u00eb k\u00ebndv\u00ebshtrim t\u00eb ndryshuar dhe do t\u00eb shqyrtojm\u00eb skenarin ku nuk \u00ebsht\u00eb e nevojshme t\u00eb t\u00ebrhiqemi ose dor\u00ebzohemi vet\u00ebm p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar. Pas k\u00ebsaj, duhet thjesht t\u00eb ndalim p\u00ebrpjekjet p\u00ebr t\u00eb p\u00ebrpunuar k\u00ebrkes\u00ebn, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos i b\u00ebjm\u00eb t\u00eb gjith\u00eb t\u00eb presin p\u00ebr nj\u00eb sh\u00ebrbim t\u00eb ngadalt\u00eb. N\u00eb terma t\u00eb tjer\u00eb, nuk do ta mbrojm\u00eb pozitat e humbura, por do t\u00eb t\u00ebrhiqemi n\u00eb nj\u00eb linj\u00eb rezerv\u00eb, q\u00eb t\u00eb mos e d\u00ebshtojm\u00eb p\u00ebrdoruesin e sitit dhe t\u00eb mos e l\u00ebm\u00eb at\u00eb n\u00eb paqart\u00ebsi.<\/p>\n<p>N\u00eb Istio \u00ebsht\u00eb e mundur t\u00eb vendoset nj\u00eb kufi p\u00ebr koh\u00ebn e ekzekutimit t\u00eb k\u00ebrkes\u00ebs. N\u00ebse sh\u00ebrbimi e kalon k\u00ebt\u00eb kufi, kthehet nj\u00eb gabim 504 (Gateway Timeout) \u2013 p\u00ebrs\u00ebri, t\u00eb gjitha k\u00ebto b\u00ebhen p\u00ebrmes konfigurimit t\u00eb Istio. Por ne do t\u00eb duhet t\u00eb shtojm\u00eb nj\u00eb komand\u00eb sleep n\u00eb kodin burimor t\u00eb sh\u00ebrbimit (dhe pastaj, sigurisht, t\u00eb kryejm\u00eb rebuild dhe redeploy), p\u00ebr t\u00eb imituar nj\u00eb pun\u00eb t\u00eb ngadalt\u00eb t\u00eb sh\u00ebrbimit. Me keqardhje, ndryshe nuk do t'ia dalim.<\/p>\n<p>Pra, ne kemi inseruar nj\u00eb sleep prej tre sekondash n\u00eb kodin e sh\u00ebrbimit rekomandimi v2, kemi nd\u00ebrtuar p\u00ebrs\u00ebri imazhin p\u00ebrkat\u00ebs dhe kemi b\u00ebr\u00eb redeploy t\u00eb kontejnerit, tani do t\u00eb shtojm\u00eb kufizimin me an\u00eb t\u00eb rregullit t\u00eb ardhsh\u00ebm t\u00eb rrug\u00ebzgjidhjes Istio:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c03fc452b98dd875a8a7d3ac561893ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb imazhin e p\u00ebrmendur m\u00eb sip\u00ebr, shihet se ne heqim dor\u00eb nga p\u00ebrpjekjet p\u00ebr t\u00eb kontaktuar sh\u00ebrbimin e rekomandimit, n\u00ebse nuk marrim p\u00ebrgjigje brenda nj\u00eb sekonde, dometh\u00ebn\u00eb akoma para se t\u00eb ndodhi gabimi 504. Pas aplikimit t\u00eb k\u00ebtij rregulli t\u00eb rrug\u00ebzgjidhjes (dhe shtimit t\u00eb sleep prej tre sekondash n\u00eb kodin e sh\u00ebrbimit rekomandimi:v2), ne do t\u00eb marrim k\u00ebt\u00eb rezultatin e m\u00ebposht\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrcimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe principi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/ed6e80052c67254718b1fde2bd873e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nS\u00ebrish po e p\u00ebrs\u00ebrim, por kufiri i koh\u00ebs mund t\u00eb vendoset pa prekur kodin burimor. Nj\u00eb bonus shtes\u00eb k\u00ebtu \u00ebsht\u00eb se tani mund t\u00eb modifikoni kodin tuaj n\u00eb m\u00ebnyr\u00eb q\u00eb ai t\u00eb reagoj\u00eb ndaj kufirit t\u00eb koh\u00ebs, dhe leht\u00ebsisht t\u00eb testoni k\u00ebto p\u00ebrmir\u00ebsime me an\u00eb t\u00eb Istio.<\/p>\n<h3>Tani s\u00eb bashku<\/h3>\n<p>\nShtimi i pak kaosit me an\u00eb t\u00eb Istio \u00ebsht\u00eb nj\u00eb m\u00ebnyr\u00eb e shk\u00eblqyer p\u00ebr t\u00eb testuar kodin tuaj dhe q\u00ebndrueshm\u00ebrin\u00eb e sistemit tuaj n\u00eb p\u00ebrgjith\u00ebsi. Shabllonet fallback, bulkhead dhe circuit breaker, mekanizmat p\u00ebr krijimin e d\u00ebshtimeve dhe vonesave artificiale, si dhe rikthimet dhe kufijt\u00eb e koh\u00ebs, do t\u00eb jen\u00eb shum\u00eb t\u00eb dobishme p\u00ebr nd\u00ebrtimin e sistemeve t\u00eb q\u00ebndrueshme n\u00eb cloud. N\u00eb kombinim me Kubernetes dhe Red Hat OpenShift, k\u00ebto mjete do t\u00eb ndihmojn\u00eb p\u00ebr t\u00eb p\u00ebrballuar t\u00eb ardhmen me siguri.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/485136\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0410 \u0435\u0441\u043b\u0438 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c \u2013 \u0437\u043d\u0430\u0447\u0438\u0442 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Red Hat OpenShift (\u0438 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c Kubernetes), \u0442\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0441\u043e\u0444\u0442\u0443 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0440\u0430\u043f\u043e\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55700","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\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\/sq\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432 Istio: \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti\" \/>\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-01-25T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:50+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\udd47 Ndjekja dhe monitorimi n\u00eb Istio: mikroserviset dhe parimi i pasiguris\u00eb | ProHoster","description":"Parimi i pasiguris\u00eb s\u00eb Heisenberg thot\u00eb se nuk \u00ebsht\u00eb e mundur t\u00eb mas\u00ebsh n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb pozitat e nj\u00eb objekti dhe shpejt\u00ebsin\u00eb e tij. N\u00ebse objekti \u00ebsht\u00eb n\u00eb l\u00ebvizje, ai nuk ka nj\u00eb vendndodhje t\u00eb sakt\u00eb.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432 Istio: \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u043d\u0446\u0438\u043f \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0413\u0435\u0439\u0437\u0435\u043d\u0431\u0435\u0440\u0433\u0430 \u0433\u043b\u0430\u0441\u0438\u0442, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f, \u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/trassirovka-i-monitoring-v-istio-mikroservisy-i-printsip-neopredelennosti","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-01-25T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55700","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 19:38:32","updated":"2026-02-22 15:29:16","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/55700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=55700"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/55700\/revisions"}],"predecessor-version":[{"id":162124,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/55700\/revisions\/162124"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=55700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=55700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=55700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}