Qaphela. transl.: Amameshi esevisi abe yisixazululo esifanelekile kungqalasizinda yesimanje yezinhlelo zokusebenza ezilandela ukwakhiwa kwe-microservice. Nakuba i-Istio ingase ibe sezindebeni zonjiniyela abaningi be-DevOps, iwumkhiqizo omusha othe, nakuba uphelele ngokwamakhono ewunikezayo, ungase udinge isikhathi esibalulekile ukuze ujwayelane nawo. Unjiniyela waseJalimane u-Rinor Maloku, obhekele ukwenza ikhompuyutha yamafu kumakhasimende amakhulu enkampanini yezokuxhumana i-Orange Networks, ubhale uchungechunge oluhle lwezinto ezikuvumela ukuthi ungene ngokushesha nangokujulile ku-Istio. Uqala indaba yakhe ngalokho i-Istio engayenza ngokujwayelekile nokuthi ungayibona kanjani ngokushesha ngamehlo akho.
Istio - Iphrojekthi yomthombo ovulekile eyakhiwe ngokubambisana namaqembu avela ku-Google, IBM kanye neLyft. Ixazulula izingqinamba ezivela ezinhlelweni ezisuselwa ku-microservices, njenge:
- Ukuphathwa Kwethrafikhi: ukuphela kwesikhathi, ukuzama futhi, ukulinganisa komthwalo;
- Ukuphepha: ukuqinisekiswa komsebenzisi wokugcina nokugunyazwa;
- Ukuqaphela: ukulandelela, ukuqapha, ukugawulwa kwemithi.
Konke lokhu kungaxazululwa ezingeni lesicelo, kodwa ngemva kwalokho izinsiza zakho ngeke zisaba βncaneβ. Yonke imizamo eyengeziwe yokuxazulula lezi zinkinga iwukumosha izinsiza zenkampani ezingase zisetshenziselwe inani lebhizinisi ngokuqondile. Ake sibheke isibonelo:
Umphathi Wephrojekthi: Kuthatha isikhathi esingakanani ukwengeza isici sempendulo?
Unjiniyela: Ama-sprints amabili.MP: Yini?.. I-CRUD nje!
R: Ukwenza i-CRUD yingxenye elula, kodwa sisadinga ukuqinisekisa nokugunyaza abasebenzisi namasevisi. Njengoba inethiwekhi ingathembeki, uzodinga ukusebenzisa izicelo eziphindaphindiwe, kanyeiphethini ye-circuit breaker kumakhasimende. Futhi, ukuze uqiniseke ukuthi lonke uhlelo aluphahlazeka, uzodinga izikhathi zokuvala kanyeama-bulkheads (ukuthola imininingwane eyengeziwe mayelana namaphethini omabili ashiwo, bheka kamuva esihlokweni - cishe. transl.), futhi ukuze kutholwe izinkinga, ukuqapha, ukulandelela, [β¦]MP: Oh, manje-ke ake sifake lesi sici kusevisi yoMkhiqizo.
Ngicabanga ukuthi umbono ucacile: inani lezinyathelo nomzamo odingekayo wokwengeza isevisi eyodwa likhulu kakhulu. Kulesi sihloko, sizobheka ukuthi i-Istio isusa kanjani yonke inkimbinkimbi eshiwo ngenhla (okungahlosiwe ukuba ibe nengqondo yebhizinisi) kusuka kumasevisi.
Ukubhala: Lesi sihloko sithatha ukuthi unolwazi olusebenzayo lwe-Kubernetes. Uma kungenjalo, ngincoma ukufunda
Umbono we-Istio
Ezweni elingenayo i-Istio, insizakalo eyodwa yenza izicelo eziqondile komunye, futhi uma kwenzeka ukwehluleka, insizakalo kufanele iziphathe ngokwayo: yenza umzamo omusha, unikeze isikhathi sokuvala, uvule i-breaker circuit, njll.
Ithrafikhi yenethiwekhi e-Kubernetes
I-Istio inikeza isisombululo esikhethekile, esihlukaniswe ngokuphelele nezinsizakalo nokusebenza ngokuphazamisa ukuxhumana kwenethiwekhi. Futhi ngaleyo ndlela isebenza:
- ukubekezelelana kwamaphutha: Ngokusekelwe kukhodi yesimo empendulweni, iyaqonda ukuthi isicelo sehlulekile yini bese isenza kabusha.
- Ukukhishwa kwe-Canary: iqondisa kabusha kuphela amaphesenti angashintshi ezicelo enguqulweni entsha yesevisi.
- Ukuqapha namamethrikhi: Kuthathe isikhathi esingakanani ukuthi inkonzo iphendule?
- Ukulandela nokubonakala: Yengeza izihloko ezikhethekile esicelweni ngasinye futhi ilandelela kuzo zonke iqoqo.
- Ukuphepha: Ibuyisa ithokheni ye-JWT, iqinisekisa futhi igunyaze abasebenzisi.
Lawa ngamathuba ambalwa (okumbalwa nje!) okukuthakasela. Manje ake singene emininingwaneni yobuchwepheshe!
I-Istio Architecture
I-Istio ibamba yonke ithrafikhi yenethiwekhi futhi isebenzise isethi yemithetho kuyo, ifaka ummeleli ohlakaniphile osesimweni sesiqukathi se-sidecar kuphodi ngayinye. Amaphrokzi avula wonke amandla enza a Indiza Yedatha, futhi zingalungiswa ngokuguquguqukayo kusetshenziswa Indiza Yokulawula.
Indiza Yedatha
Ama-proxies afakwe kuma-pods avumela i-Istio ukuthi ihlangabezane kalula nezimfuneko esizidingayo. Isibonelo, ake sihlole imisebenzi ye-circuit breaker.
Ukuthi ukuzama futhi nokuphulwa kwesekethe kuqaliswa kanjani kokuthi Envoy
Ukufingqa:
- isithunywa (sikhuluma ngommeleli otholakala esitsheni senqola eseceleni, esatshalaliswa njenge
umkhiqizo ohlukene - cishe. transl.) ithumela isicelo esimweni sokuqala sesevisi B bese yehluleka. - I-envoy Sidecar iyazama futhi (zama futhi). (1)
- Isicelo siyehluleka futhi sibuyiselwa kummeleli osibizile.
- Lokhu kuvula i-Circuit Breaker futhi kubize isevisi elandelayo ngezicelo ezilandelayo. (2)
Lokhu kusho ukuthi awudingi ukusebenzisa omunye umtapo wezincwadi Zama futhi, akudingekile ukuba uzenzele owakho ukusebenzisa i-Circuit Breaking and Service Discovery ngolimi lokuhlela X, Y noma Z. Konke lokhu nokunye okuningi kuyatholakala ngaphandle kwebhokisi. ku-Istio futhi ayidingi cha izinguquko kukhodi.
Kuhle! Manje ungase ufune ukuhamba nohambo nge-Istio, kodwa usenokungabaza, imibuzo evulekile. Uma lokhu kuyisixazululo sendawo yonke yazo zonke izikhathi zokuphila, khona-ke unokusola okungokwemvelo: ngemuva kwakho konke, zonke izixazululo ezinjalo empeleni ziphenduka zingafaneleki kunoma yiliphi icala.
Futhi ekugcineni uyabuza: "Ingabe kuyenzeka ngokwezifiso?"
Manje usulungele uhambo lwasolwandle, ake sijwayelane ne-Control Plane.
Indiza Yokulawula
Iqukethe izingxenye ezintathu: Pilot, I-mixer ΠΈ citadel, ezisebenza ndawonye ukuze zilungiselele Izithunywa umzila wethrafikhi, zisebenzise izinqubomgomo, futhi ziqoqe idatha ye-telemetry. Ngokohlelo konke kubukeka kanje:
Ukusebenzisana Kwendiza Yokulawula Nendiza Yedatha
Izithunywa (okungukuthi indiza yedatha) zicushwa kusetshenziswa
Ubudlelwano bezinsizakalo ne-Istio
Sichaze ubudlelwano be-Istio nezinsizakalo, kodwa hhayi okuphambene: izinsiza zihlobene kanjani ne-Istio?
Uma sikhuluma iqiniso, izinsizakalo ziyaqaphela ukuba khona kwe-Istio njengoba izinhlanzi zingamanzi lapho zizibuza, "Ayini amanzi noma kunjalo?"
Umfanekiso
Ngakho-ke, ungathatha iqoqo elisebenzayo futhi ngemva kokufaka izingxenye ze-Istio, izinsizakalo ezikuyo zizoqhubeka nokusebenza, futhi ngemva kokukhipha lezi zingxenye, konke kuzolunga futhi. Kuyacaca ukuthi kulokhu uzolahlekelwa amandla anikezwe i-Istio.
Ithiyori eyanele - asisebenzise lolu lwazi!
Istio in practice
I-Istio idinga iqoqo le-Kubernetes okungenani elinama-vCPU angu-4 no-8 GB we-RAM etholakalayo. Ukuze umise ngokushesha iqoqo futhi ulandele imiyalelo evela esihlokweni, ngincoma ukusebenzisa i-Google Cloud Platform, enikeza abasebenzisi abasha.
Ngemva kokudala iqoqo nokumisa ukufinyelela ku-Kubernetes ngokusebenzisa insiza ye-console, ungafaka i-Istio ngokusebenzisa imenenja yephakheji ye-Helm.
Ukufakwa kwe-Helm
Faka iklayenti le-Helm kukhompyutha yakho, njengoba kuchazwe ku
Ifaka i-Istio
Landa izinsiza ze-Istio kusuka [istio-resources]
.
Ukuze uhlonze kalula izinsiza ze-Istio, dala indawo yamagama kuqoqo le-K8s istio-system
:
$ kubectl create namespace istio-system
Qedela ukufakwa ngokuya kuhla lwemibhalo [istio-resources]
bese usebenzisa umyalo:
$ helm template install/kubernetes/helm/istio
--set global.mtls.enabled=false
--set tracing.enabled=true
--set kiali.enabled=true
--set grafana.enabled=true
--namespace istio-system > istio.yaml
Lo myalo uzokhipha izingxenye ezibalulekile ze-Istio efayeleni istio.yaml
. Silungise isifanekiso esijwayelekile ukuze sivumelane nathi, sicacisa amapharamitha alandelayo:
-
global.mtls.enabled
efakwe kufalse
(okungukuthi ukuqinisekiswa kwe-mTLS kukhutshaziwe - cishe.)ukwenza lula inqubo yethu yokuqomisana; -
tracing.enabled
kuhlanganisa isicelo sokulandelela kusetshenziswa i-Jaeger; -
kiali.enabled
ifaka i-Kiali kuqoqo ukuze ubone ngeso lengqondo izinsizakalo kanye nokuhamba kwezimoto; -
grafana.enabled
ifaka i-Grafana ukuze ibone ngeso lengqondo amamethrikhi aqoqiwe.
Masisebenzise izinsiza ezikhiqiziwe ngomyalo:
$ kubectl apply -f istio.yaml
Ukufakwa kwe-Istio kuqoqo kuqediwe! Linda kuze kube yilapho wonke ama-pods asendaweni yamagama istio-system
uzokwazi Running
noma Completed
ngokusebenzisa umyalo ongezansi:
$ kubectl get pods -n istio-system
Manje sesilungele ukuqhubeka esigabeni esilandelayo, lapho sizokwenza khona uhlelo lusebenze.
Isakhiwo sohlelo lokusebenza lwe-Sentiment Analysis
Ake sisebenzise isibonelo sohlelo lokusebenza lwe-Sentiment Analysis microservice olusetshenziswe kulokhu osekushiwo
Isicelo siqukethe ama-microservices amane:
- service SA-Frontend, esebenzela indawo engaphambili yohlelo lokusebenza lwe-Reactjs;
- service SA-WebApp, ehlinzeka ngemibuzo Yokuhlaziya Imizwa;
- service SA-Logic, ezenzela yona
ukuhlaziywa kwemizwelo ; - service SA-Impendulo, ethola impendulo evela kubasebenzisi mayelana nokunemba kokuhlaziya.
Kulo mdwebo, ngaphezu kwezinsizakalo, siphinde sibone i-Ingress Controller, okuthi ku-Kubernetes ihambise izicelo ezingenayo ezinsizeni ezifanele. I-Istio isebenzisa umqondo ofanayo ngaphakathi kwe-Ingress Gateway yayo, eminye imininingwane yayo ezolandela.
Ukusebenzisa uhlelo lokusebenza ngommeleli ovela ku-Istio
Ukuze uthole eminye imisebenzi eshiwo esihlokweni, fanisa inqolobane yakho
Ifaka ama-sidecars
Ukufakwa kungenziwa ngokuzenzakalelayo noma ngesandla. Ukuze ufake ngokuzenzakalelayo iziqukathi ze-sidecar, uzodinga ukusetha ilebula endaweni yamagama istio-injection=enabled
, okwenziwa ngomyalo olandelayo:
$ kubectl label namespace default istio-injection=enabled
namespace/default labeled
Manje i-pod ngayinye ezosetshenziswa endaweni yamagama ezenzakalelayo (default
) izothola isitsha sayo senqola eseceleni. Ukuze uqinisekise lokhu, ake sikhiphe uhlelo lokusebenza lokuhlola ngokuya kumkhombandlela wezimpande wendawo yokugcina [istio-mastery]
bese usebenzisa umyalo olandelayo:
$ kubectl apply -f resource-manifests/kube
persistentvolumeclaim/sqlite-pvc created
deployment.extensions/sa-feedback created
service/sa-feedback created
deployment.extensions/sa-frontend created
service/sa-frontend created
deployment.extensions/sa-logic created
service/sa-logic created
deployment.extensions/sa-web-app created
service/sa-web-app created
Ngemva kokukhipha izinsizakalo, ake sihlole ukuthi ama-pods aneziqukathi ezimbili (enesevisi ngokwayo kanye nenqola yayo eseceleni) ngokusebenzisa umyalo. kubectl get pods
nokuqinisekisa ukuthi ngaphansi kwekholomu READY
inani elicacisiwe 2/2
, okubonisa ukuthi zombili iziqukathi ziyasebenza:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
sa-feedback-55f5dc4d9c-c9wfv 2/2 Running 0 12m
sa-frontend-558f8986-hhkj9 2/2 Running 0 12m
sa-logic-568498cb4d-2sjwj 2/2 Running 0 12m
sa-logic-568498cb4d-p4f8c 2/2 Running 0 12m
sa-web-app-599cf47c7c-s7cvd 2/2 Running 0 12m
Ngokubukeka kubukeka kanjena:
Ummeleli wenxusa kwelinye lamaphodi
Manje njengoba uhlelo seluyasebenza futhi, sizodinga ukuvumela ithrafikhi engenayo ukuthi ingene ohlelweni.
I-Ingress Gateway
Umkhuba ongcono kakhulu wokufeza lokhu (vumela ithrafikhi ku-cluster) udlula I-Ingress Gateway ku-Istio, etholakala "emaphethelweni" eqoqo futhi ikuvumela ukuthi unike amandla izici ze-Istio ezifana nomzila, ukulinganisa ukulayisha, ukuphepha nokuqapha kwethrafikhi engenayo.
Ingxenye ye-Ingress Gateway kanye nesevisi eyidlulisela ngaphandle kwafakwa kuqoqo ngesikhathi sokufakwa kwe-Istio. Ukuze uthole ikheli le-IP langaphandle lesevisi, sebenzisa:
$ kubectl get svc -n istio-system -l istio=ingressgateway
NAME TYPE CLUSTER-IP EXTERNAL-IP
istio-ingressgateway LoadBalancer 10.0.132.127 13.93.30.120
Sizoqhubeka nokufinyelela kuhlelo lokusebenza sisebenzisa le-IP (ngizoyibiza ngele-IP YAPHANDLE), ngakho-ke ukuze kube lula sizobhala inani libe yinto eguquguqukayo:
$ EXTERNAL_IP=$(kubectl get svc -n istio-system
-l app=istio-ingressgateway
-o jsonpath='{.items[0].status.loadBalancer.ingress[0].ip}')
Uma uzama ukufinyelela le-IP ngesiphequluli manje, uzothola Iphutha Lesevisi Engatholakali, ngoba ngokuzenzakalelayo i-Istio ivimba yonke ithrafikhi engenayo, Isango alikachazwa.
Insiza yesango
I-Gateway iyi-CRD (Incazelo Yensiza Yangokwezifiso) ku-Kubernetes, echazwa ngemva kokufaka i-Istio kuqoqo futhi inika amandla amandla okucacisa izimbobo, iphrothokholi kanye nabasingathi esifuna ukuvumela ithrafikhi yabo engenayo.
Esimweni sethu, sifuna ukuvumela ithrafikhi ye-HTTP ku-port 80 kubo bonke ababungazi. Umsebenzi wenziwa ngencazelo elandelayo (
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: http-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
Lokhu kulungiselelwa akudingi incazelo ngaphandle kwesikhethi istio: ingressgateway
. Ngalesi sikhethi singacacisa ukuthi iyiphi i-Ingress Gateway esingafaka kuyo ukucushwa. Esimweni sethu, lesi yisilawuli se-Ingress Gateway, esifakwe ngokuzenzakalelayo ku-Istio.
Ukucushwa kusetshenziswa ngokubiza umyalo olandelayo:
$ kubectl apply -f resource-manifests/istio/http-gateway.yaml gateway.networking.istio.io/http-gateway created
Isango manje livumela ukufinyelela ku-port 80, kodwa alinalwazi lokuthi izicelo zomzila zizoyiswa kuphi. Ukuze lokhu uzodinga Izinsizakalo ze-Virtual.
Insiza ye-VirtualService
I-VirtualService itshela i-Ingress Gateway indlela yokuhambisa izicelo ezivunyelwe ngaphakathi kweqoqo.
Izicelo zesicelo sethu eziza nge-http-gateway kufanele zithunyelwe ku-sa-frontend, i-sa-web-app kanye nezinsizakalo ze-sa-feedback:
Imizila edinga ukulungiswa nge-VirtualServices
Ake sibheke izicelo okufanele zithunyelwe kwa-SA-Frontend:
- Ukufana okuqondile endleleni
/
kufanele ithunyelwe kwa-SA-Frontend ukuze uthole index.html; - Izindlela ezinesiqalo
/static/*
kufanele ithunyelwe ku-SA-Frontend ukuze ithole amafayela amile asetshenziswa ngaphambili, njenge-CSS ne-JavaScript; - Izindlela ezihambisana nokusho okuvamile
'^.*.(ico|png|jpg)$'
, kumele ithunyelwe kwa-SA-Frontend, ngoba Lezi yizithombe ezivezwe ekhasini.
Ukuqaliswa kufinyelelwa ngokucushwa okulandelayo (
kind: VirtualService
metadata:
name: sa-external-services
spec:
hosts:
- "*"
gateways:
- http-gateway # 1
http:
- match:
- uri:
exact: /
- uri:
exact: /callback
- uri:
prefix: /static
- uri:
regex: '^.*.(ico|png|jpg)$'
route:
- destination:
host: sa-frontend # 2
port:
number: 80
Amaphuzu abalulekile:
- Le sevisi ye-Virtual ibhekisela ezicelweni ezizayo http-isango;
- Π
destination
isevisi okuthunyelwa kuyo izicelo iyanqunywa.
Ukubhala: Ukucushwa okungenhla kugcinwa kufayela sa-virtualservice-external.yaml
, equkethe nezilungiselelo zomzila ku-SA-WebApp kanye ne-SA-Feedback, kodwa ifushanisiwe lapha esihlokweni ukuze ibe mfushane.
Masisebenzise i-VirtualService ngokushayela:
$ kubectl apply -f resource-manifests/istio/sa-virtualservice-external.yaml
virtualservice.networking.istio.io/sa-external-services created
Ukubhala: Uma sisebenzisa izinsiza ze-Istio, Iseva ye-Kubernetes API idala umcimbi owamukelwe i-Istio Control Plane, futhi ngemva kwalokho ukulungiselelwa okusha kusetshenziswa kuma-proxies Ezithunywa ze-pod ngayinye. Futhi isilawuli se-Ingress Gateway sibonakala singesinye isithunywa esimisiwe ku-Control Plane. Konke lokhu kubukeka kanje emdwebeni:
Ukucushwa kwe-Istio-IngressGateway komzila wesicelo
Uhlelo lokusebenza lwe-Sentiment Analysis manje seluyatholakala http://{EXTERNAL-IP}/
. Ungakhathazeki uma uthola isimo sokuthi Awutholakali: Kwesinye isikhathi kuthatha isikhashana ukuthi ukucushwa kusebenze futhi izinqolobane zezithunywa zevangeli zibuyekeze.
Ngaphambi kokuthi uqhubeke, dlala nohlelo lokusebenza kancane ukuze ukhiqize ithrafikhi. (ukuba khona kwayo kuyadingeka ukuze kucace ezenzweni ezilandelayo - approx. transl.).
I-Kiali: ukubonwa
Ukuze ufike kusixhumi esibonakalayo sokuphatha se-Kiali, sebenzisa umyalo olandelayo:
$ kubectl port-forward
$(kubectl get pod -n istio-system -l app=kiali
-o jsonpath='{.items[0].metadata.name}')
-n istio-system 20001
... futhi uvule
I-Grafana: ukubonwa kwamamethrikhi
Amamethrikhi aqoqwe ku-Istio aya ku-Prometheus futhi aboniswa nge-Grafana. Ukuze ufike kusixhumi esibonakalayo sokuphatha se-Grafana, sebenzisa umyalo ongezansi bese uvula
$ kubectl -n istio-system port-forward
$(kubectl -n istio-system get pod -l app=grafana
-o jsonpath={.items[0].metadata.name}) 3000
Ngokuchofoza imenyu Ikhaya phezulu kwesokunxele bese ukhetha Ideshibhodi Yesevisi ye-Istio ekhoneni eliphezulu kwesokunxele, qala ngesevisi sa-web-appukuze ubheke amamethrikhi aqoqiwe:
Okusilindile lapha wukusebenza okungenalutho nokuyisicefe ngokuphelele - abaphathi abasoze bakuvumela lokhu. Masidale umthwalo omncane ngomyalo olandelayo:
$ while true; do
curl -i http://$EXTERNAL_IP/sentiment
-H "Content-type: application/json"
-d '{"sentence": "I love yogobella"}';
sleep .8; done
Manje sesinamagrafu amahle kakhulu, futhi ngaphezu kwawo, amathuluzi amangalisayo we-Prometheus okuqapha kanye ne-Grafana yokubona ngeso lengqondo amamethrikhi azosivumela ukuthi sifunde ngokusebenza, impilo, ukuthuthukiswa / ukuwohloka kwezinsizakalo ngokuhamba kwesikhathi.
Okokugcina, ake sibheke ukulandelela izicelo kumasevisi.
UJaeger: ukulandelela
Sizodinga ukulandelelwa ngoba uma sinezinsiza eziningi, kuba nzima kakhulu ukuthola imbangela yokwehluleka. Ake sibheke icala elilula esithombeni esingezansi:
Isibonelo esijwayelekile sesicelo esihlulekile ngokungahleliwe
Isicelo siyeza, siwela - siyini isizathu? Isevisi yokuqala? Noma owesibili? Kukhona okuhlukile kukho kokubili - ake sibheke izingodo zayo ngayinye. Kukangaki uzithole wenza lokhu? Umsebenzi wethu ufana nabaseshi be-software kunonjiniyela...
Lena inkinga evamile kuma-microservices futhi ixazululwa ngamasistimu okulandelela asabalalisiwe, lapho izinsizakalo zidlulisela isihloko esiyingqayizivele komunye nomunye, ngemva kwalokho lolu lwazi ludluliselwa ohlelweni lokulandelela, lapho luqhathaniswa nedatha yesicelo. Nawu umfanekiso:
I-TraceId isetshenziselwa ukukhomba isicelo
I-Istio isebenzisa i-Jaeger Tracer, esebenzisa uhlaka lwe-OpenTracing API oluzimele. Ungafinyelela ku-interface yomsebenzisi we-Jaeger ngomyalo olandelayo:
$ kubectl port-forward -n istio-system
$(kubectl get pod -n istio-system -l app=jaeger
-o jsonpath='{.items[0].metadata.name}') 16686
Manje hamba ku
Lo mkhondo ubonisa:
- Isicelo siyangena i-istio-ingressgateway (lokhu ukusebenzisana kokuqala neyodwa yamasevisi, bese i-Trace ID ikhiqizwa ukuze kufakwe isicelo), ngemva kwalokho isango lithumela isicelo kusevisi. sa-web-app.
- Isenkonzweni sa-web-app isicelo sithathwa yinqola eseceleni ye-Evoy, "ingane" idalwe ngesikhathi (yingakho siyibona emithonjeni) futhi iqondiswe kabusha esitsheni. sa-web-app. (
span - iyunithi enengqondo yomsebenzi e-Jaeger, enegama, isikhathi sokuqala sokusebenza kanye nobude bayo. Ama-spans angafakwa futhi a-odwe. Igrafu ye-acyclic eqondisiwe ye-spans yakha umkhondo. - cishe. transl.) - Lapha isicelo sicutshungulwa ngendlela sentimentAnalysis. Le mikhondo isivele yenziwe uhlelo lokusebenza, i.e. babedinga izinguquko zekhodi.
- Kusukela kulo mzuzu kuqhubeke, isicelo se-POST siyaqalwa sa-logic. I-Trace ID kufanele idluliselwe kusuka sa-web-app.
- ...
Ukubhala: Esinyathelweni sesi-4, uhlelo lokusebenza kufanele lubone izihloko ezikhiqizwe i-Istio futhi lizidlulisele ezicelweni ezilandelayo njengoba kuboniswe esithombeni esingezansi:
(A) I-Istio inesibopho sokudlulisa izihloko; (B) Izinsizakalo zinesibopho sezihloko
I-Istio yenza umsebenzi omningi ngoba... yakha izihloko zezicelo ezingenayo, idala izikhala ezintsha ekunakekelweni okuseceleni ngakunye futhi izidlulisele phambili. Nokho, ngaphandle kokusebenzisa izihloko zangaphakathi kwamasevisi, indlela egcwele yokulandela umkhondo izolahleka.
Izihloko ezilandelayo kufanele zicatshangelwe:
x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context
Lona akuwona umsebenzi onzima, kodwa ukwenza lula ukuqaliswa kwawo sekukhona kakade
Qaphela ukuthi uhlelo lokusebenza lwe-Sentiment Analysis lubonisa ukusetshenziswa ku-Flask, Spring, kanye ne-ASP.NET Core.
Manje njengoba sekucacile ukuthi yini esiyitholayo ebhokisini (noma cishe ngaphandle kwebhokisi), ake sibheke umzila olungiswe kahle, ukuphathwa kwethrafikhi yenethiwekhi, ukuphepha, njll.!
Qaphela. transl.: Funda ngalokhu engxenyeni elandelayo yezinto zokwakha ku-Istio evela ku-Rinor Maloku, okuhunyushiwe kwakho kuzolandela kubhulogi yethu maduze nje. QAPHELA (March 14):
I-PS evela kumhumushi
Funda futhi kubhulogi yethu:
- "Buyela kuma-microservices nge-Istio":
ingxenye 2 (umzila, ukulawulwa kwethrafikhi) ,Ingxenye 3 (ukuqinisekisa nokugunyazwa) ; - Β«
I-Conduit - isevisi enemeshi engasindi ye-Kubernetes "; - Β«
Iyini i-mesh yesevisi futhi kungani ngiyidinga [ngohlelo lokusebenza lwefu olunama-microservices]? "; - Β«
Umhlahlandlela onemifanekiso wokuxhumana e-Kubernetes. Izingxenye 1 no-2 "; - Β«
Ingabe lesi sitsha senqola eseceleni sifike kanjani lapha [e-Kubernetes]? ".
Source: www.habr.com