I a tatou e neke ana mai i te tono monolithic ki te hoahoanga microservices, ka raru tatou i nga wero hou.
I roto i te tono monolithic, he maamaa noa te whakatau ko tehea waahanga o te punaha i puta te hapa. Ko te nuinga, ko te raruraru kei roto i te waehere o te monolith ake, kei roto ranei i te papaarangi. Engari ka tiimata ana taatau ki te rapu raru i roto i te hoahoanga microservice, kua kore e tino kitea nga mea katoa. Me kimihia te huarahi katoa i puta i te tono mai i te timatanga ki te mutunga ka kowhiri mai i nga rau o nga ratonga miihini. I tua atu, he maha o raatau kei a raatau ake waahi rokiroki, ka taea ano hoki nga hapa arorau, tae atu ki nga raru o te mahi me te aukati i te he.
Kua roa ahau e rapu ana mo tetahi taputapu hei awhina i enei raru (I tuhi ahau mo tenei i runga i a Habré:
Ko te whaiwhai toha he otinga noa ki te raru o te rapu hapa i roto i nga punaha toha. Engari he aha tenei huarahi ki te kohi korero mo nga taunekeneke whatunga kaore ano kia whakatinanahia i roto i te punaha, he kino ake ranei, i tetahi waahanga o te punaha kua pai te mahi, engari i tetahi waahanga kaore, na te mea kaore ano kia whakauruhia ki nga ratonga tawhito. ? Hei whakatau i te tino take o te raruraru, me whai pikitia katoa mo nga mea e tupu ana i roto i te punaha. He mea nui kia mohio ko wai nga ratonga moroiti e uru ana ki nga huarahi whakahirahira-pakihi.
I konei ka taea e te huarahi ratonga kawa ki te awhina i a maatau, ka mahi ki nga miihini katoa mo te kohi korero whatunga i te taumata iti ake i te mahi a nga ratonga. Ma tenei huarahi ka taea e tatou te haukoti i nga waka katoa me te tātari i runga i te rere. I tua atu, kaore nga tono e mohio ki tetahi mea mo taua mea.
Te huarahi ratonga mata
Ko te whakaaro nui mo te huarahi maatanga ratonga ko te taapiri i tetahi atu paparanga hanganga ki runga i te whatunga, ka taea e taatau te mahi i tetahi mea me te taunekeneke-a-ratonga. Ko te nuinga o nga mahi e whai ake nei: ka taapirihia he ipu taapiri me te takawaenga maramara ki ia ratonga moroiti, ma reira ka tukuna katoa nga waka taumai me te puta atu o te ratonga. Na koinei te waahi ka taea e taatau te whakarite i te whakataurite o nga kaihoko, te whakamahi i nga kaupapa here haumarutanga, te aukati i te maha o nga tono me te kohi korero nui mo te taunekeneke o nga ratonga i roto i te whakaputa.
Nga raruraru
He maha nga whakatinanatanga o tenei huarahi:
Ko te mutunga mai, i ata tirohia e matou he aha nga kaha e hiahiatia ana e matou i tenei wa, ka whakatau ko te tino take i timata ai matou ki te whakatinana i aua otinga ko te kaha ki te kohi korero tirotiro mai i te punaha katoa. I hiahia hoki matou ki te whai mana whakahaere i runga i te taunekeneke o nga ratonga me te mahi i nga momo whawhe me nga pane e whakawhiti ana i waenga i nga ratonga.
Ko te mutunga mai, ka whakatauhia e matou:
Netramesh
Ko nga whainga matua o te otinga hou ko te iti rawa o nga rauemi i runga ake me te mahi nui. I roto i nga waahanga nui, i hiahia tonu matou kia kaha ki te tuku i nga waahanga tirotiro ki ta maatau punaha Jaeger.
I tenei ra, ko te nuinga o nga otinga kapua ka whakatinanahia ki Golang. A, o te akoranga, he take mo tenei. Ko te tuhi i nga tono whatunga ki Golang e mahi ana me te I/O me te tauine puta noa i nga uho ka hiahiatia he watea me te ngawari. Na, he aha te mea nui, he ranea te mahi ki te whakaoti i tenei raru. Koia hoki i whiriwhiria e matou a Golang.
Te whai hua
Kua arotahi matou i a matou mahi ki te whakatutuki i te hua tino nui. Mo tetahi otinga ka tukuna ki te taha o ia waahanga o te ratonga, me iti te kai o te RAM me te wa CPU. A, ko te tikanga, me iti ano te roa o te whakautu.
Kia kite tatou he aha nga hua i puta mai.
RAM
Ka pau te Netramesh ~ 10Mb kaore he waka me te 50Mb te teitei me te uta ki runga ki te 10000 RPS ia tauira.
Istio karere takawaenga pau tonu ~300Mb i roto i to tatou tautau me nga mano o nga wa. Kare e taea e tenei te whakahiatohia ki te huinga katoa.
Ma te Netramesh ka whiwhi matou i te ~10x whakaiti i te kohi mahara.
PTM
He rite tonu te whakamahi PTM i raro i te kawenga. Kei runga i te maha o nga tono mo ia waeine wa ki te waka taha. Ko nga uara i te 3000 tono mo ia hekona i te tihi:
He mea nui ake ano: Netramesh - he otinga kaore he rererangi whakahaere me te kore kawenga kaore e pau te wa CPU. Ma te Istio, ka whakahouhia e nga motuka taha nga waahi mutunga ratonga. Ko te mutunga, ka kite tatou i tenei pikitia kaore he kawenga:
Ka whakamahi matou i te HTTP/1 mo te whakawhitiwhiti korero i waenga i nga ratonga. Ko te pikinga o te wa whakautu mo Istio i te wa e mahi takawaenga ana ma te kaikawe kua eke ki te 5-10ms, he tino nui mo nga ratonga kua rite ki te whakautu i roto i te mirihakona. Ki a Netramesh kua heke tenei wa ki te 0.5-2ms.
Tauineine
Ko te iti o nga rauemi e pau ana e ia takawaenga ka taea te whakanoho ki te taha o ia ratonga. He mea hanga a Netramesh me te kore he waahanga rererangi whakahaere hei pupuri noa i ia motuka taha. I te nuinga o nga wa i roto i nga otinga ratonga mata, ka tohatohahia e te waka rererangi nga korero rapu ratonga ki ia motuka. Ka tae mai nga korero mo nga waahi me nga tautuhinga taurite. Ko enei mea katoa ka taea e koe te mahi i te maha o nga mea whai hua, engari, karekau, ka pupuhi i nga sidecars i te rahi.
Te kitenga ratonga
Karekau a Netramesh e taapiri etahi atu tikanga mo te rapu ratonga. Ko nga waka katoa ka tukuna ma te maramara ma te waka taha netra.
Ka tautoko a Netramesh i te kawa tono HTTP/1. Hei tautuhi, ka whakamahia he rarangi tauranga whirihora. Ko te tikanga, he maha nga tauranga o te punaha e puta ai te whakawhitiwhiti HTTP. Hei tauira, ka whakamahia e matou te 80, 8890, 8080 mo te taunekeneke i waenga i nga ratonga me nga tono o waho. NETRA_HTTP_PORTS
.
Mena kei te whakamahi koe i a Kubernetes hei kaitoi me tana tikanga hinonga Ratonga mo te whakawhitiwhiti-a-roto i waenga i nga ratonga, ka noho rite tonu te tikanga. Tuatahi, ka whiwhi te microservice i tetahi wahitau IP ratonga ma te whakamahi i te kube-dns ka whakatuwhera i tetahi hononga hou ki a ia. I te tuatahi ka whakauhia tenei hononga me te netra-sidecar o te rohe, ka tae tuatahi nga paakete TCP katoa ki te netra. I muri mai, ka whakatauhia e te netra-sidecar he hononga ki te haerenga taketake. Ko te NAT i runga i te pod IP i runga i te node he rite tonu ki te kore netra.
Tohaina te whainga me te tuku horopaki
Ka whakarato a Netramesh i nga mahi e hiahiatia ana hei tuku i nga waahanga tirotiro mo nga taunekeneke HTTP. Ko te Netra-sidecar ka poroporoaki i te kawa HTTP, ka ine i nga whakaroa tono, ka tango i nga korero e tika ana mai i nga pane HTTP. I te mutunga, ka whiwhi tatou i nga tohu katoa i roto i te punaha Jaeger kotahi. Mo te whirihoranga pai, ka taea hoki e koe te whakamahi i nga taurangi taiao e whakaratohia ana e te whare pukapuka mana
Engari he raruraru. Kia tae ra ano nga ratonga ki te whakaputa me te tuku i tetahi pane uber motuhake, kare matou e kite i nga waahanga tirotiro hono i roto i te punaha. A koinei te mea e tika ana kia tere te kimi i te take o nga raru. Anei ano he otinga a Netramesh. Ka panuihia e te hunga takawaenga nga pane HTTP, a, ki te kore e mau te id tohu uber, hangaia tetahi. Ka penapena a Netramesh i nga korero e pa ana ki nga tono taumai me nga tono puta i roto i te waka taha ka whakataurite i a raatau ma te whakarangatira i a raatau ki nga pane tono whakaputa e tika ana. Ko nga mea katoa hei mahi i roto i nga ratonga ko te tuku i tetahi pane anake X-Request-Id
, ka taea te whirihora ma te whakamahi i te taurangi taiao NETRA_HTTP_REQUEST_ID_HEADER_NAME
. Hei whakahaere i te rahi o te horopaki i Netramesh, ka taea e koe te whakarite i nga taurangi taiao e whai ake nei: NETRA_TRACING_CONTEXT_EXPIRATION_MILLISECONDS
(te wa e penapena ai te horopaki) me te NETRA_TRACING_CONTEXT_CLEANUP_INTERVAL
(te auau o te whakapai i te horopaki).
Ka taea hoki te whakakotahi i nga huarahi maha i runga i to punaha ma te tohu ki tetahi tohu huihuinga motuhake. Netra ka taea e koe te whakauru HTTP_HEADER_TAG_MAP
ki te huri i nga pane HTTP ki nga tohu tohu mokowhiti. Ka tino whai hua tenei mo te whakamatautau. Whai muri i te paahitanga o te whakamatautau mahi, ka kite koe ko tehea waahanga o te punaha i pa mai i te tātari ma te kii hui e pa ana.
Te whakatau i te Puna Tono
Hei whakatau no hea te tono, ka taea e koe te whakamahi i te mahi o te taapiri aunoa i te pane me te puna. Te whakamahi i te taurangi taiao NETRA_HTTP_X_SOURCE_HEADER_NAME
Ka taea e koe te tautuhi i tetahi ingoa pane ka whakauruhia aunoa. Ma te whakamahi NETRA_HTTP_X_SOURCE_VALUE
ka taea e koe te whakarite i te uara ka whakatauhia te pane X-Source mo nga tono puta katoa.
Ma tenei ka taea te tohatoha o tenei pane whai hua ki te tohatoha rite puta noa i te whatunga. Na ka taea e koe te whakamahi i roto i nga ratonga ka taapiri atu ki nga raarangi me nga inenga.
Te ararere waka me nga roto o Netramesh
E rua nga waahanga matua o Netramesh. Ko te tuatahi, netra-init, ka whakatakoto i nga ture whatunga hei haukoti i nga waka. Ka whakamahia e ia INBOUND_INTERCEPT_PORTS, OUTBOUND_INTERCEPT_PORTS
.
He mea whakamere ano te taputapu - ararere pea. Mena ka whakamahi koe i a Netramesh anake mo te kohi i nga waahi whaiwhai, katahi ka taea e koe te penapena rauemi i roto i te taiao whakangao me te whakaahei i te ararere tūponotanga ma te whakamahi taurangi. NETRA_INBOUND_PROBABILITY
и NETRA_OUTBOUND_PROBABILITY
(mai i te 0 ki te 1). Ko te uara taunoa he 1 (ka haukotia nga waka katoa).
Whai muri i te wawaotanga angitu, ka whakaae a netra sidecar te hononga hou me te whakamahi SO_ORIGINAL_DST
kōwhiringa turanga ki te tiki i te ūnga taketake. Ka whakatuwherahia e Netra tetahi hononga hou ki te wahitau IP taketake me te whakatuu korero TCP-rua i waenga i nga roopu, whakarongo ki nga waka katoa e haere ana. Mena kua tautuhia te tauranga hei HTTP, ka ngana a Netra ki te tarai me te whai. Ki te rahua te poroporoaki HTTP, ka hoki a Netra ki TCP me te whakamaarama i nga paita.
Te hanga kauwhata whakawhirinaki
Whai muri i te whiwhi i te maha o nga korero tirotiro i Jaeger, e hiahia ana ahau ki te tiki kauwhata katoa o nga taunekeneke i roto i te punaha. Engari ki te tino utaina to punaha me te maha o nga piriona mo te tirotiro i ia ra, ehara i te mea ngawari te mahi whakahiato. He huarahi whaimana hei mahi i tenei:
Mena kei te whakamahi koe i te Elasticsearch ki te penapena i nga waahanga tirotiro, ka taea e koe te whakamahi
Me pehea te whakamahi Netramesh
Ka taea te taapiri a Netra ki tetahi ratonga e whakahaere ana i tetahi kaitoi. Ka kite koe i tetahi tauira
I tenei wa, kaore a Netra i te kaha ki te whakauru aunoa i nga sidecars ki nga ratonga, engari he mahere mo te whakatinanatanga.
Te heke mai o Netramesh
whāinga matua
Hei nga ra kei mua, ka tautoko a Netramesh i etahi atu kawa paparanga tono i tua atu i te HTTP. Ka watea mai te ararere L7 i nga wa e heke mai nei.
Whakamahia a Netramesh mena ka pa ki a koe etahi raru ka tuhi mai ki a maatau me nga patai me nga whakaaro.
Source: will.com