{"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":"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Principi i paqart\u00ebsis\u00eb i Heisenbergut thot\u00eb se nuk \u00ebsht\u00eb e mundur t\u00eb matin ngjash\u00ebm pozita dhe shpejt\u00ebsin\u00eb e nj\u00eb objekti. N\u00ebse objekti \u00ebsht\u00eb n\u00eb l\u00ebvizje, at\u00ebher\u00eb ai nuk ka nj\u00eb vendndodhje t\u00eb sakt\u00eb. Nd\u00ebrsa, n\u00ebse ka nj\u00eb vendndodhje, at\u00ebher\u00eb nuk ka shpejt\u00ebsi.<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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 mbi platform\u00ebn Red Hat OpenShift (n\u00ebn menaxhimin e Kubernetes), p\u00ebrmes softuerit p\u00ebrkat\u00ebs me burim t\u00eb hapur, ato mund t\u00eb raportojn\u00eb nj\u00ebkoh\u00ebsisht p\u00ebr performanc\u00ebn dhe gjendjen e tyre. Kjo nuk e mohon teorin\u00eb e Heisenbergut, por ndihmon n\u00eb eleminimin e paqart\u00ebsis\u00eb gjat\u00eb pun\u00ebs me aplikacionet cloud. Istio lejon organizimin e leht\u00eb t\u00eb gjurmimit dhe monitorimit t\u00eb 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>P\u00ebrcaktojm\u00eb terminologjin\u00eb<\/h3>\n<p>\nN\u00ebn <b>gjurmimit<\/b> (Tracing) ne kuptojm\u00eb si regjistrimin e aktivitetit t\u00eb sistemit. Kjo ting\u00ebllon mjaft e p\u00ebrgjithshme, por n\u00eb t\u00eb v\u00ebrtet\u00eb nj\u00eb nga rregullat kryesore k\u00ebtu \u00ebsht\u00eb q\u00eb t\u00eb d\u00ebrgosh t\u00eb dh\u00ebnat e gjurmimit n\u00eb nj\u00eb depo t\u00eb p\u00ebrshtatshme, pa u shqet\u00ebsuar p\u00ebr formatimin e tyre. T\u00eb gjitha pun\u00ebt p\u00ebr gjetjen dhe analizimin e t\u00eb dh\u00ebnave jan\u00eb ngarkuar te p\u00ebrdoruesi i tyre. N\u00eb Istio p\u00ebrdoret sistemi i gjurmimit Jaeger, i cili realizon modelin e t\u00eb dh\u00ebnave OpenTracing.<\/p>\n<p><b>Gjurm\u00ebt<\/b> (Traces, dhe fjala \"gjurm\u00ebt\" p\u00ebrdoret k\u00ebtu n\u00eb kuptimin e \"shenjave\", si p\u00ebr shembull n\u00eb ekspertiz\u00ebn ballistike) ne do t'i referohemi t\u00eb dh\u00ebnave q\u00eb p\u00ebrshkruajn\u00eb plot\u00ebsisht kalimin e nj\u00eb k\u00ebrkese ose nj\u00ebsi pune, si\u00e7 thot\u00eb shprehja \"nga fillimi deri n\u00eb fund\". P\u00ebr shembull, \u00e7do gj\u00eb q\u00eb ndodh nga momenti kur p\u00ebrdoruesi klikon nj\u00eb buton n\u00eb nj\u00eb faqe interneti dhe deri n\u00eb momentin e kthimit t\u00eb t\u00eb dh\u00ebnave, duke p\u00ebrfshir\u00eb t\u00eb gjith\u00eb mikrosh\u00ebrbimet e angazhuara n\u00eb k\u00ebt\u00eb proces. Mund t\u00eb themi se nj\u00eb gjurm\u00eb p\u00ebrshkruan plot\u00ebsisht (ose modelon) kalimin e k\u00ebrkes\u00ebs p\u00ebrpara dhe prapa. N\u00eb nd\u00ebrfaqen Jaeger, gjurm\u00ebt shfaqen t\u00eb organizuara n\u00eb p\u00ebrb\u00ebr\u00ebs n\u00eb boshtin temporal, ashtu si nj\u00eb zinxhir mund t\u00eb shp\u00ebrndahen n\u00eb lidhjet e tij t\u00eb ve\u00e7anta. Vet\u00ebm q\u00eb n\u00eb vend t\u00eb lidhjeve, gjurma p\u00ebrb\u00ebhet nga t\u00eb ashtuquajturat span.<\/p>\n<p><b>Span<\/b> \u2013 \u00ebsht\u00eb intervali nga fillimi i realizimit t\u00eb nj\u00eb nj\u00ebsie pune deri n\u00eb p\u00ebrfundimin e saj. Duke vazhduar analogjin\u00eb, mund t\u00eb themi se \u00e7do span p\u00ebrfaq\u00ebson nj\u00eb lidhje t\u00eb ve\u00e7ant\u00eb n\u00eb zinxhir. Span mund t\u00eb ket\u00eb (ose jo) nj\u00eb ose m\u00eb shum\u00eb span t\u00eb f\u00ebmij\u00ebve. Si pasoj\u00eb, span-i m\u00eb i lart\u00eb (root span) do t\u00eb ket\u00eb t\u00eb nj\u00ebjt\u00ebn p\u00ebrmbledhje kohore si gjurma q\u00eb i referohet.<\/p>\n<p><b>Monitorimi<\/b> \u2013 \u00ebsht\u00eb, n\u00eb t\u00eb v\u00ebrtet\u00eb, vet\u00eb v\u00ebzhgimi i sistemit tuaj \u2013 me syt\u00eb, p\u00ebrmes UI ose mjeteve t\u00eb automatizimit. Monitorimi bazohet n\u00eb t\u00eb dh\u00ebnat e gjurmimit. N\u00eb Istio, monitorimi realizohet me ndihm\u00ebn e Prometheus dhe ka UI p\u00ebrkat\u00ebs. Prometheus mb\u00ebshtet monitorimin automatike duke p\u00ebrdorur njoftime Alerts dhe Alert Managers.<\/p>\n<h3>L\u00ebm\u00eb shenjat<\/h3>\n<p>\nQ\u00eb gjurmimi t\u00eb b\u00ebhet i mundur, aplikacioni duhet t\u00eb krijoj\u00eb nj\u00eb koleksion span. Pastaj ato duhet t\u00eb eksportohen n\u00eb Jaeger, n\u00eb m\u00ebnyr\u00eb q\u00eb ai t\u00eb krijoj\u00eb nj\u00eb paraqitje vizuale t\u00eb gjurmimit. Nd\u00ebr t\u00eb tjera, k\u00ebto span sh\u00ebnojn\u00eb emrin e operacionit, si dhe shenjat e koh\u00ebs s\u00eb nisjes dhe p\u00ebrfundimit t\u00eb tij. Transferimi i span b\u00ebhet duke ridrejtuar titujt e HTTP k\u00ebrkesave 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 programimit t\u00eb p\u00ebrdorur, p\u00ebr k\u00ebt\u00eb mund t\u00eb k\u00ebrkohet nj\u00eb modifikim i vog\u00ebl i kodit burimor t\u00eb aplikacioneve. M\u00eb posht\u00eb \u00ebsht\u00eb nj\u00eb shembull kodi n\u00eb Java (duke p\u00ebrdorur framework-un Spring Boot), i cili shton titujt B3 (Zipkin-style) n\u00eb k\u00ebrkes\u00ebn tuaj n\u00eb klas\u00ebn konfiguruese t\u00eb Spring:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/2314e2d156dc9b9fdb299af2dac01f66.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nK\u00ebtu p\u00ebrdoren cil\u00ebsimet e m\u00ebposhtme t\u00eb titujve:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/18f0a13af27665ec2d154ff4cff48157.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00ebse po p\u00ebrdorni Java, at\u00ebher\u00eb kodi mund t\u00eb mos prek\u00ebt, vet\u00ebm shtoni disa rreshta n\u00eb skedarin POM t\u00eb Maven dhe caktoni variablat e ambientit. Ja cilat rreshta duhet t\u00eb shtoni n\u00eb skedarin POM.XML p\u00ebr t\u00eb vendosur Jaeger Tracer Resolver:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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 caktohen n\u00eb Dockerfile:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/7fe9046242d7e628342a6266e4a2f743.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTani, gjith\u00e7ka \u00ebsht\u00eb e konfiguruar, dhe mikrosh\u00ebrbimet tona do t\u00eb fillojn\u00eb t\u00eb japin t\u00eb dh\u00ebna gjurmimi.<\/p>\n<h3>Shikojm\u00eb nga nj\u00eb k\u00ebndv\u00ebshtrim i p\u00ebrgjithsh\u00ebm<\/h3>\n<p>\nIstio p\u00ebrmban nj\u00eb panel t\u00eb thjesht\u00eb kontrolli t\u00eb bazuar n\u00eb Grafana. Kur gjith\u00e7ka \u00ebsht\u00eb e konfiguruar dhe punon mbi platform\u00ebn Red Hat OpenShift PaaS (n\u00eb shembullin ton\u00eb, Red Hat OpenShift dhe Kubernetes jan\u00eb vendosur n\u00eb minishift), ky panel aktivizohet me komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"plaintext\">open &quot;$(minishift openshift service grafana -u)\/d\/1\/istio-dashboard?refresh=5&ord;Id=1&quot;\n<\/code><\/pre>\n<p>\nPaneli Grafana lejon nj\u00eb vler\u00ebsim t\u00eb shpejt\u00eb t\u00eb funksionimit t\u00eb sistemit. Nj\u00eb fragment i k\u00ebtij paneli \u00ebsht\u00eb treguar n\u00eb figur\u00ebn m\u00eb posht\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/2c10cd23fd5166f437c2b3c1d50c6a18.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nK\u00ebtu shihet se mikros\u00ebrvici customer th\u00ebrret mikros\u00ebrvicin preference v1, i cili nga ana e tij th\u00ebrret mikros\u00ebrvicet recommendation v1 dhe v2. N\u00eb panelin Grafana, ka nj\u00eb bllok Dashboard Row p\u00ebr metrikat e nivelit t\u00eb lart\u00eb, si\u00e7 jan\u00eb numri i p\u00ebrgjithsh\u00ebm i k\u00ebrkesave (Global Request Volume), p\u00ebrqindja e k\u00ebrkesave t\u00eb suksesshme (success rates), dhe gabimet 4xx. P\u00ebrve\u00e7 k\u00ebsaj, aty ka nj\u00eb paraqitje t\u00eb Server Mesh me grafik\u00eb p\u00ebr \u00e7do sh\u00ebrbim dhe nj\u00eb bllok Services Row p\u00ebr shikimin e detajeve t\u00eb plota p\u00ebr \u00e7do kontejner p\u00ebr secilin sh\u00ebrbim.<\/p>\n<h3>Tani le t\u00eb thellohemi m\u00eb thell\u00eb<\/h3>\n<p>\nMe nj\u00eb gjurmim t\u00eb konfiguruar si\u00e7 duhet t\u00eb Istio, i cili, si\u00e7 quhet, vjen direkt nga kutia, lejon t\u00eb thellohemi n\u00eb analiz\u00ebn e performanc\u00ebs s\u00eb sistemit. N\u00eb UI-n\u00eb e Jaeger-it, mund t\u00eb shikoni gjurmimet dhe t\u00eb shihni se sa larg dhe thell\u00eb shkojn\u00eb ato, si dhe t\u00eb lokalizoni vizualisht ngushticat n\u00eb performanc\u00eb. Kur p\u00ebrdorni Red Hat OpenShift n\u00eb platform\u00ebn minishift, nisja e UI-s\u00eb s\u00eb Jaeger b\u00ebhet me komand\u00ebn n\u00eb vijim:<\/p>\n<pre><code class=\"plaintext\">minishift openshift service jaeger-query --in-browser\n<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/074fea646ad191f819a9a67a3f311c8f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00c7far\u00eb mund t\u00eb thuhet p\u00ebr gjurmimin n\u00eb k\u00ebt\u00eb screenshot:<\/p>\n<ul>\n<li>Ajo ndahen n\u00eb 7 span-e.<\/li>\n<li>Koha totale e ekzekutimit \u00ebsht\u00eb 6.99 ms.<\/li>\n<li>P\u00ebr mikros\u00ebrvicin recommendation, q\u00eb \u00ebsht\u00eb i fundit n\u00eb zinxhir, shpenzohet 0.69 ms.<\/li>\n<\/ul>\n<p>\nGrafik\u00ebt e k\u00ebtij lloji ndihmojn\u00eb p\u00ebr t\u00eb kuptuar shpejt situat\u00ebn kur nj\u00eb sh\u00ebrbim i panjohur po d\u00ebmton performanc\u00ebn e gjith\u00eb sistemit.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0434\u0432\u0430 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430 recommendation:v2 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 oc scale &#8212;replicas=2 deployment\/recommendation-v2. \u0412\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0431\u0443\u0434\u0443\u0442 pod\u2019\u044b:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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 hapim span-in p\u00ebr sh\u00ebrbimin recommendation, do t\u00eb shohim se n\u00eb cilin pod po drejtohen k\u00ebrkesat. K\u00ebshtu, mund t\u00eb lokalizojm\u00eb leht\u00ebsisht ngadal\u00ebsimet n\u00eb nivelin e nj\u00eb pod-i konkret. Duhet t\u00eb shikoni n\u00eb fush\u00ebn node_id:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/474da66c581692cd11070a1732ac5458.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Ku dhe si shkon gjith\u00e7ka<\/h3>\n<p>\nTani kalojm\u00eb n\u00eb nd\u00ebrfaqen e Prometheus dhe, si\u00e7 pritej, shohim atje se k\u00ebrkesat mes versionit t\u00eb dyt\u00eb dhe t\u00eb par\u00eb t\u00eb sh\u00ebrbimit recommendation ndahen n\u00eb nj\u00eb raport 2:1, sakt\u00ebsisht sipas numrit t\u00eb pod-\u00ebve aktiv\u00eb. Kjo grafik do t\u00eb ndryshoj\u00eb dinamikisht gjat\u00eb shikimeve t\u00eb pod-\u00ebve lart-posht\u00eb, gj\u00eb q\u00eb do t\u00eb jet\u00eb ve\u00e7an\u00ebrisht e dobishme gjat\u00eb Canary Deployment (do t\u2019i trajtojm\u00eb k\u00ebt\u00eb skem\u00eb t\u00eb shp\u00ebrndarjes m\u00eb n\u00eb holl\u00ebsi her\u00ebn tjet\u00ebr).<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c080fffd2398b0a2eac3e63665bdb0a7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Gjith\u00e7ka sapo ka filluar<\/h3>\n<p>\nN\u00eb t\u00eb v\u00ebrtet\u00eb sot, si\u00e7 thuhet, ne thjesht e kemi prekur leht\u00ebsisht thesarin e informacionit t\u00eb dobish\u00ebm rreth Jaeger, Grafana dhe Prometheus. N\u00eb thelb, kjo ishte edhe q\u00ebllimi yn\u00eb \u2013 t\u2019ju drejtojm\u00eb n\u00eb drejtimin e duhur dhe t\u2019ju hapim perspektivat e Istio.<\/p>\n<p>Dhe mbani mend, t\u00eb gjitha k\u00ebto jan\u00eb tashm\u00eb t\u00eb nd\u00ebrtuara n\u00eb Istio. Kur p\u00ebrdorni disa gjuh\u00eb programimi (p.sh. Java) dhe framework-e (p.sh. Spring Boot), t\u00eb gjitha k\u00ebto mund t\u00eb realizohen, pa prekur vet\u00eb kodin e aplikacioneve. Po, kodi do t\u00eb duhet t\u00eb modifikohet paksa n\u00ebse p\u00ebrdorni gjuh\u00eb t\u00eb tjera, sidomos Nodejs ose C#. Por pasi gjurmimi (lexo, \"trace\") \u00ebsht\u00eb nj\u00eb nga kushtet e domosdoshme p\u00ebr krijimin e sistemeve t\u00eb besueshme n\u00eb cloud, do t\u2019ju duhet n\u00eb \u00e7do rast t\u00eb rregulloni kodin, pavar\u00ebsisht n\u00ebse keni Istio apo jo. Prandaj, pse t\u00eb mos e shfryt\u00ebzoni k\u00ebt\u00eb p\u00ebrpjekje n\u00eb nj\u00eb m\u00ebnyr\u00eb m\u00eb t\u00eb dobishme?<\/p>\n<p>T\u00eb pakt\u00ebn p\u00ebr t\u00eb qen\u00eb gjithmon\u00eb n\u00eb gjendje t\u00eb p\u00ebrgjigjeni n\u00eb pyetjet \"ku?\" dhe \"sa shpejt?\" me 100% sakt\u00ebsi.<\/p>\n<h3>Inxhinieria e kaosit n\u00eb Istio: k\u00ebshtu \u00ebsht\u00eb menduar<\/h3>\n<p><\/p>\n<h3>Aft\u00ebsia p\u00ebr t\u00eb prishur gj\u00ebra ndihmon p\u00ebr t'i b\u00ebr\u00eb ato t\u00eb mos prishen<\/h3>\n<p>\nTestimi i softuerit \u00ebsht\u00eb nj\u00eb gj\u00eb jo vet\u00ebm komplekse, por edhe e r\u00ebnd\u00ebsishme. N\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, testimi i sakt\u00ebsis\u00eb (p.sh. a kthen funksioni rezultatin e sakt\u00eb) \u00ebsht\u00eb nj\u00eb \u00e7\u00ebshtje, nd\u00ebrsa testimi n\u00eb kushte rrjeti t\u00eb paq\u00ebndruesh\u00ebm \u00ebsht\u00eb nj\u00eb detyr\u00eb krejt tjet\u00ebr (shpesh supozohet se rrjeti gjithmon\u00eb punon pa nd\u00ebrprerje, dhe kjo \u00ebsht\u00eb e para nga tet\u00eb iluzionet mbi llogaritjet e shp\u00ebrndara). Nj\u00eb nga v\u00ebshtir\u00ebsit\u00eb n\u00eb zgjidhjen e k\u00ebsaj \u00e7\u00ebshtjeje \u00ebsht\u00eb se si t\u00eb simulosh d\u00ebshtimet n\u00eb sistem ose t'i fut\u00ebsh ato me q\u00ebllim, duke kryer at\u00eb q\u00eb quhet injeksion t\u00eb defekteve. Kjo mund t\u00eb b\u00ebhet p\u00ebrmes modifikimit t\u00eb kodit burimor t\u00eb aplikacionit. Por pastaj do t\u00eb jeni duke testuar jo kodin tuaj origjinal, por nj\u00eb version t\u00eb tij, i cili simulon posa\u00e7\u00ebrisht defektet. Si rezultat, ju rrezikoni t\u00eb kapeni n\u00eb p\u00ebrqafimin vdekjeprur\u00ebs t\u00eb injeksionit t\u00eb defekteve dhe t\u00eb p\u00ebrballeni me gjezhenbaga \u2013 defekte, t\u00eb cilat zhduken kur p\u00ebrpiqeni t'i zbulo\u00e7ni.<\/p>\n<p>Tani ne do t\u00eb tregojm\u00eb se si Istio ndihmon t\u00eb p\u00ebrballojm\u00eb k\u00ebto v\u00ebshtir\u00ebsi me leht\u00ebsi.<\/p>\n<h3>Si duket gjith\u00e7ka kur gjith\u00e7ka shkon mrekullisht<\/h3>\n<p>\nLe t\u00eb shqyrtojm\u00eb skenarin e m\u00ebposht\u00ebm: kemi dy pod-e p\u00ebr mikros\u00ebrvicin ton\u00eb recommendation, t\u00eb cilin e kemi marr\u00eb nga udh\u00ebzuesi i Istio. Nj\u00eb pod \u00ebsht\u00eb i sh\u00ebnuar si v1, dhe tjetri si v2. Si\u00e7 e shohim, derisa gjith\u00e7ka funksionon shk\u00eblqyesh\u00ebm:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c50387b7cfd12298cfab8123f13b2ca4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(P.S. numri n\u00eb t\u00eb djatht\u00eb \u00ebsht\u00eb thjesht nj\u00eb num\u00ebrues thirrjesh p\u00ebr \u00e7do pod)<\/p>\n<p>Por ne nuk kemi nevoj\u00eb p\u00ebr k\u00ebt\u00eb, a jo? Mir\u00eb, le t\u00eb p\u00ebrpiqemi t\u00eb prishim gjith\u00e7ka, pa prekur fare kodin origjinal.<\/p>\n<h3>Organizojm\u00eb nd\u00ebrprerje n\u00eb funksionimin e mikros\u00ebrvicit<\/h3>\n<p>\nM\u00eb posht\u00eb \u00ebsht\u00eb nj\u00eb skedar yaml p\u00ebr rregullin e nisjes Istio, i cili do t\u00eb d\u00ebshtoj\u00eb (me gabim) n\u00eb gjysm\u00ebn e rasteve. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3597\">server<\/a> 503):<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/8fb3ed7f16ed7fd1a57b27dfc3bfd2da.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nVini re, ne qart\u00eb e definojm\u00eb se n\u00eb gjysm\u00ebn e rasteve duhet t\u00eb kthehet gabimi 503.<\/p>\n<p>K\u00ebtu \u00ebsht\u00eb si do t\u00eb duket nj\u00eb screenshot i komand\u00ebs curl, e cila ekzekutohet n\u00eb cik\u00ebl pas aktivizimit t\u00eb k\u00ebtij rregulli p\u00ebr t\u00eb imituar d\u00ebshtimet. Si\u00e7 shohim, gjysma e k\u00ebrkesave kthejn\u00eb gabimin 503, pavar\u00ebsisht se n\u00eb cilin pod \u2013 v1 ose v2 \u2013 ato shkojn\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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 fshihet ky 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, ku po zhvillohet tutoriali yn\u00eb p\u00ebr Istio.<\/p>\n<h3>Shtojm\u00eb vonesa artificiale<\/h3>\n<p>\nGabimet artificiale 503 ndihmojn\u00eb n\u00eb testimin e sistemit p\u00ebr q\u00ebndrueshm\u00ebri ndaj d\u00ebshtimeve, por aft\u00ebsia p\u00ebr t\u00eb parashikuar dhe trajtuar vonesat duhet t'ju impresionoj\u00eb edhe m\u00eb shum\u00eb. D\u00ebshtimet nuk ndodhin aq shpesh sa vonesat n\u00eb jet\u00ebn reale. Nj\u00eb mikrosistem q\u00eb punon ngadal\u00eb \u00ebsht\u00eb nj\u00eb bllokim q\u00eb d\u00ebmton t\u00ebr\u00eb sistemin. Fal\u00eb Istio, mund t\u00eb testoni kodin n\u00eb lidhje me trajtimin e vonesave pa e ndryshuar at\u00eb. N\u00eb fillim, ne do t\u00eb tregojm\u00eb se si ta b\u00ebjm\u00eb k\u00ebt\u00eb n\u00eb rastin e vonesave q\u00eb \u00ebsht\u00eb injektuar n\u00eb m\u00ebnyr\u00eb artificiale n\u00eb rrjet.<\/p>\n<p>Vini re, se pas nj\u00eb testi t\u00eb till\u00eb, ju ndoshta do t\u00eb keni nevoj\u00eb (ose do t\u00eb d\u00ebshironit) t\u00eb p\u00ebrmir\u00ebsoni kodin tuaj. Lajmi i mir\u00eb k\u00ebtu \u00ebsht\u00eb se do t\u00eb veproni proaktivisht, jo reaktivisht. Ky \u00ebsht\u00eb cikli i zhvillimit q\u00eb duhet ndjekur: kodim-testim-reagim-kodim-testim...<\/p>\n<p>K\u00ebtu \u00ebsht\u00eb si duket rregulli, q\u00eb... \u00c7far\u00eb? Istio \u00ebsht\u00eb kaq e thjesht\u00eb, dhe ky skedar yaml \u00ebsht\u00eb kaq i qart\u00eb, sa gjith\u00e7ka n\u00eb k\u00ebt\u00eb shembull flet p\u00ebr vete, vet\u00ebm shikoni:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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 7-sekond\u00ebshe. Dhe kjo nuk \u00ebsht\u00eb e nj\u00ebjt\u00eb si n\u00ebse do t\u00eb ishim futur n\u00eb kodin burimor komand\u00ebn sleep, sepse Istio realisht e ndalon k\u00ebrkes\u00ebn p\u00ebr 7 sekonda. Duke qen\u00eb se Istio mb\u00ebshtet trajtimin e Jaeger, kjo vones\u00eb mund t\u00eb v\u00ebrehet qart\u00eb n\u00eb UI-n\u00eb Jaeger, si\u00e7 tregohet n\u00eb screenshotin m\u00eb posht\u00eb. Vini re k\u00ebrkes\u00ebn e gjat\u00eb n\u00eb qoshen e sip\u00ebrme t\u00eb djatht\u00eb t\u00eb grafik\u00ebs - koha e saj e p\u00ebrfundimit \u00ebsht\u00eb 7.02 sekonda:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi 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\u00ebn kushte vonesash rrjet\u00ebrore. Dhe \u00ebsht\u00eb evidente se, duke hequr k\u00ebt\u00eb rregull, do t\u00eb heqim edhe vones\u00ebn artificiale. E p\u00ebrs\u00ebrisim, por ne s\u00ebrish e b\u00ebm\u00eb k\u00ebt\u00eb, pa e prekur kodin burimor.<\/p>\n<h3>Mos u dor\u00ebzoni dhe mos u b\u00ebni pasiv\u00eb<\/h3>\n<p>\nNj\u00eb tjet\u00ebr funksion i dobish\u00ebm p\u00ebr inxhinierin\u00eb e kaosit n\u00eb Istio \u00ebsht\u00eb rip\u00ebrs\u00ebritja e k\u00ebrkesave ndaj sh\u00ebrbimit p\u00ebr nj\u00eb num\u00ebr t\u00eb caktuar her\u00ebsh. Sensi k\u00ebtu \u00ebsht\u00eb q\u00eb t\u00eb mos ndaloni p\u00ebrpjekjet, kur k\u00ebrkesa e par\u00eb p\u00ebrfundon me nj\u00eb gabim 503 \u2013 dhe pastaj, ndoshta, n\u00eb N-nj\u00eb her\u00eb do t\u00eb kemi fat. Ndoshta, sh\u00ebrbimi thjesht \u00ebsht\u00eb krijuar p\u00ebr ndonj\u00eb arsye p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar. Po, kjo arsye duhet t\u00eb identifikohet dhe t\u00eb eliminohet. Por kjo \u00ebsht\u00eb p\u00ebr m\u00eb von\u00eb, dhe p\u00ebr momentin le t\u00eb provojm\u00eb 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 kthej\u00eb gabimin 503, dhe Istio pas k\u00ebsaj t\u00eb rip\u00ebrs\u00ebris\u00eb p\u00ebrpjekjet p\u00ebr ta kontaktuar. Dhe k\u00ebtu pa dyshim na nevojitet nj\u00eb m\u00ebnyr\u00eb p\u00ebr t\u00eb gjeneruar gabimin 503 pa e prekur vet\u00eb kodin...<\/p>\n<p>Prit, ndalo! Ne sapo e b\u00ebm\u00eb k\u00ebt\u00eb.<\/p>\n<p>Ky skedar do t\u00eb b\u00ebj\u00eb q\u00eb sh\u00ebrbimi recommendation-v2 n\u00eb gjysm\u00ebn e rasteve t\u00eb kthej\u00eb gabimin 503:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/f446528f9c968e40cc2cf318cf0acde9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nE qart\u00eb \u00ebsht\u00eb se disa nga k\u00ebrkesat do t\u00eb p\u00ebrfundojn\u00eb me d\u00ebshtim:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/f998513746604beda241b8d6de2ed727.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTani aktivizojm\u00eb funksionin Istio t\u00eb Rip\u00ebrs\u00ebritjes:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/32e210b6ecbf4c1ecf121ee73e64ba35.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKy rregull i nisjes b\u00ebn tre p\u00ebrs\u00ebritje me nj\u00eb interval prej dy sekondash dhe duhet t\u00eb reduktoj\u00eb (idealisht t\u00eb eliminoj\u00eb plot\u00ebsisht) gabimet 503:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/7f9711c52949072b823399e59141cb64.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb p\u00ebrfundim: ne e b\u00ebm\u00eb q\u00eb Istio, s\u00eb pari, t\u00eb gjeneroj\u00eb gabimin 503 p\u00ebr gjysm\u00ebn e k\u00ebrkesave. Dhe, s\u00eb dyti, t\u00eb nj\u00ebjt\u00ebn Istio kryen tre p\u00ebrpjekje p\u00ebr t\u00eb lidhur s\u00ebrish me sh\u00ebrbimin n\u00eb rast t\u00eb gabimit 503. Si rezultat, gjith\u00e7ka funksionon thjesht shk\u00eblqyesh\u00ebm. Pra, duke p\u00ebrdorur funksionin e Rip\u00ebrs\u00ebritjes, ne sostuam premtimin ton\u00eb p\u00ebr t\u00eb mos u dor\u00ebzuar.<\/p>\n<p>Dhe po, s\u00ebrish e b\u00ebm\u00eb k\u00ebt\u00eb pa e prekur fare kodin. E gjith\u00eb \u00e7far\u00eb na nevojitet ishin dy rregulla nisjeje Istio:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c21a1cfd2d78ae4145a57d1cefcc6c59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Si t\u00eb mos zhg\u00ebnjejm\u00eb p\u00ebrdoruesin ose se shtat\u00eb nj\u00eb nuk presin<\/h3>\n<p>\nTani le ta kthejm\u00eb situat\u00ebn p\u00ebrmbys dhe t\u00eb shqyrtojm\u00eb skenarin kur t\u00eb mos dor\u00ebzohesh dhe t\u00eb mos heq\u00ebsh dor\u00eb do t\u00eb thot\u00eb vet\u00ebm p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar. M\u00eb pas, duhet t\u00eb ndalojm\u00eb p\u00ebrpjekjet p\u00ebr t\u00eb trajtuar k\u00ebrkes\u00ebn, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb mos e shtyjm\u00eb t\u00eb gjith\u00eb t\u00eb presin p\u00ebr ndonj\u00eb sh\u00ebrbim ngadal\u00eb q\u00eb ndalon. N\u00eb terma t\u00eb tjera, ne nuk do t\u00eb mbrojm\u00eb pozita t\u00eb humbura, por do t\u00eb t\u00ebrhiqemi n\u00eb nj\u00eb pozicion rezerv\u00eb, p\u00ebr t\u00eb mos e zhg\u00ebnjyer p\u00ebrdoruesin e sitit dhe p\u00ebr ta liruar at\u00eb nga keqkuptimet.<\/p>\n<p>N\u00eb Istio, mund t\u00eb caktoni koh\u00ebzgjatjen e ekzekutimit t\u00eb k\u00ebrkes\u00ebs. N\u00ebse sh\u00ebrbimi tejkalon k\u00ebt\u00eb koh\u00ebzgjatje, kthehet nj\u00eb gabim 504 (Gateway Timeout) \u2013 kjo gjithashtu b\u00ebhet p\u00ebrmes konfigurimit t\u00eb Istio. Por do t\u00eb na nevojitet t\u00eb shtojm\u00eb n\u00eb kodin burimor t\u00eb sh\u00ebrbimit nj\u00eb komand\u00eb sleep (dhe m\u00eb pas, 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. Fatkeq\u00ebsisht, ndryshe nuk do t\u00eb jet\u00eb e mundur.<\/p>\n<p>Pra, ne vendos\u00ebm nj\u00eb sleep prej tre sekondash n\u00eb kodin e sh\u00ebrbimit recommendation v2, rind\u00ebrtuam imazhin p\u00ebrkat\u00ebs dhe b\u00ebm\u00eb redeploy t\u00eb kontejnerit, tani do t\u00eb shtojm\u00eb nj\u00eb koh\u00ebzgjatje p\u00ebrmes k\u00ebtij rregulli t\u00eb rrug\u00ebs Istio:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/c03fc452b98dd875a8a7d3ac561893ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00eb skenarin e m\u00ebsip\u00ebrm, shihet se ne ndalojm\u00eb p\u00ebrpjekjet p\u00ebr t'u lidhur me sh\u00ebrbimin recommendation, n\u00ebse nuk marrim nj\u00eb p\u00ebrgjigje brenda nj\u00eb sekonde, pra akoma p\u00ebrpara se t\u00eb ndodhte gabimi 504. Pas aplikimit t\u00eb k\u00ebtij rregulli t\u00eb rrug\u00ebs (dhe shtimit t\u00eb sleep-it prej tre sekondash n\u00eb kodin e sh\u00ebrbimit recommendation:v2), do t\u00eb marrim k\u00ebt\u00eb rezultat:<\/p>\n<p><img decoding=\"async\" alt=\"Gjeografikimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb\" src=\"\/wp-content\/uploads\/2020\/01\/ed6e80052c67254718b1fde2bd873e71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nP\u00ebrs\u00ebri po p\u00ebrs\u00ebrisim, por koh\u00ebzgjatja mund t\u00eb caktohet pa prekur fare 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 t\u00eb reagoni ndaj koh\u00ebzgjatjes, dhe leht\u00ebsisht t\u00eb testoni k\u00ebto p\u00ebrmir\u00ebsime p\u00ebrmes Istio.<\/p>\n<h3>Tani gjith\u00e7ka s\u00eb bashku<\/h3>\n<p>\nT\u00eb sjell\u00ebsh pak kaos p\u00ebrmes Istio \u00ebsht\u00eb nj\u00eb m\u00ebnyr\u00eb e shk\u00eblqyer p\u00ebr t\u00eb testuar kodin tuaj dhe besueshm\u00ebrin\u00eb e sistemit tuaj n\u00eb p\u00ebrgjith\u00ebsi. M\u00ebnyrat fallback, bulkhead dhe circuit breaker, mekanizmat p\u00ebr t\u00eb krijuar d\u00ebshtime artificiale dhe vonesa, si dhe thirrjet e p\u00ebrs\u00ebritura dhe koh\u00ebzgjatjet do t\u00eb vijn\u00eb shum\u00eb n\u00eb ndihm\u00eb p\u00ebr krijimin e sistemeve t\u00eb q\u00ebndrueshme n\u00eb cloud. S\u00eb bashku me Kubernetes dhe Red Hat OpenShift, k\u00ebto mjete do t'ju ndihmojn\u00eb t\u00eb p\u00ebrballoni me besim t\u00eb ardhmen.<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.0.1 - 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.0.1\" \/>\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\udd47Gjurmimi dhe monitorimi n\u00eb Istio: mikrosh\u00ebrbimet dhe parimi i pasiguris\u00eb | ProHoster","description":"Parimi i paqart\u00ebsis\u00eb s\u00eb Heisenbergut thot\u00eb se nuk \u00ebsht\u00eb e mundur t\u00eb matet nj\u00ebkoh\u00ebsisht pozita e nj\u00eb objekti dhe shpejt\u00ebsia e tij. N\u00ebse objekti \u00ebsht\u00eb n\u00eb l\u00ebvizje, ai nuk ka nj\u00eb pozicion t\u00eb caktuar.","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}]}}