Rererangi raraunga mata ratonga me te rererangi whakahaere

Hei Habr! Ka whakaatu ahau ki a koutou te whakamaoritanga o te tuhinga "Rererangi raraunga mata ratonga me te rererangi whakahaere" kaituhi Matt Klein.

Rererangi raraunga mata ratonga me te rererangi whakahaere

I tenei wa, ka "hiahia e ahau me te whakamaori" te whakaahuatanga o nga waahanga ratonga e rua, te rererangi raraunga me te rererangi whakahaere. Ko tenei whakaahuatanga ki ahau ko te mea tino marama me te whakamere, me te mea tino nui ki te maarama ki te "Me tika ranei?"

I te mea kua piki haere te whakaaro mo te "Mata Ratonga" i roto i nga tau e rua kua hipa (Tuhinga taketake Oketopa 10, 2017) me te maha o nga kaiuru i te waahi kua piki ake, kua kite ahau i te pikinga o te whakama i waenga i te katoa. hapori hangarau mo te whakataurite me te whakataurite i nga otinga rereke.

Ko te ahuatanga ka tino whakarapopotohia e nga raupapa tweets e whai ake nei i tuhia e au i te marama o Hurae:

Poauauautanga mata ratonga #1: Linkerd ~ = Nginx ~ = Haproxy ~ = Karere. Kaore tetahi o ratou e rite ana ki a Istio. Ko Istio tetahi mea tino rereke. 1 /

Ko te tuatahi ko nga rererangi raraunga noa. Ko ratou anake kaore e mahi i tetahi mea. Me noho ratou i roto i te ahua mo tetahi mea ake. 2/

He tauira a Istio o te rererangi whakahaere e hono ana i nga waahanga. He paparanga ano tenei. /mutunga

Ko nga tweets o mua e whakahua ana i etahi kaupapa rereke (Linkerd, NGINX, HAProxy, Envoy, me Istio), engari ko te mea nui ake ko te whakauru i nga ariā whanui o te rererangi raraunga, te miihini ratonga, me te rererangi whakahaere. I roto i tenei pou, ka hoki ahau ki muri me te korero mo taku tikanga mo nga kupu "rererangi raraunga" me te "rererangi whakahaere" i te taumata tiketike rawa, ka korero mo te ahua o nga tikanga e pa ana ki nga kaupapa kua whakahuahia i roto i nga tweets.

He aha te mea he mata ratonga, tino?

Rererangi raraunga mata ratonga me te rererangi whakahaere
Whakaatu 1: Tirohanga mata o te ratonga

1 Whakaatu e whakaatu ana i te ariā o te mata ratonga i tona taumata tino taketake. E wha nga roopu ratonga (AD). Ko ia tauira ratonga e hono ana ki tetahi tūmau takawaenga paetata. Ko nga hokohoko whatunga katoa (HTTP, REST, gRPC, Redis, me etahi atu) mai i te tauira tono kotahi ka tukuna ma te takawaenga rohe ki nga tautau ratonga o waho e tika ana. Ma tenei ara, karekau te tauira tono e mohio ki te whatunga whanui me te mohio noa ki tana takawaenga rohe. Ko te tikanga, i tangohia te whatunga punaha tohatoha mai i te ratonga.

rererangi Raraunga

I roto i te mata ratonga, ka mahia e te tūmau takawaenga kei te rohe mo te tono nga mahi e whai ake nei:

  • Te kitenga ratonga. He aha nga ratonga/tono e waatea ana mo to tono?
  • Te arowhai hauora. Kei te pai ranei nga tauira ratonga i whakahokia mai e te kitenga ratonga me te reri ki te whakaae ki nga hokohoko whatunga? Ka taea e tenei te whakauru i nga mahi e rua (hei tauira, te urupare/te tirotiro hauora) me te haunga (hei tauira, te whakamahi i nga hapa 3xx e toru ngatahi hei tohu mo te ahua kino o te ratonga) arowhai hauora.
  • Ararere. Ina whiwhi tono ki te "/foo" mai i te ratonga REST, me tuku te tono ki te roopu ratonga?
  • Te whakataurite kawenga. Ina kowhiria he kahui ratonga i te wa e ararere ana, me tuku te tono ki hea? He aha te wa mutunga? He aha nga tautuhinga pakaru iahiko? Ki te kore te tono, me whakamatau ano?
  • Motuhēhēnga me te whakamanatanga. Mo nga tono e tau mai ana, ka taea ranei te mahi waea waea te tautuhi/whakamanahia ma te whakamahi mTLS me etahi atu tikanga? Mēnā ka mōhiotia/whakamanahia, ka whakaaetia kia waeahia te mahi i tonoa (mutunga) i runga i te ratonga, me whakahoki mai ranei he whakautu kore pono?
  • Te Tirohanga. Ko nga tatauranga taipitopito, nga raarangi / raarangi, me nga raraunga tohu kua tohatohahia me hanga mo ia tono kia mohio ai nga kaiwhakahaere ki te rere o nga waka me nga take patuiro i te wa e ara ake ana.

Ko te rererangi raraunga te kawenga mo nga waahi katoa o mua i roto i te mata ratonga. Inaa, ko te takawaenga o te rohe ki te ratonga (sidecar) ko te rererangi raraunga. Arā, ko te rererangi raraunga te kawenga mo te tuku herenga, te tuku whakamua, me te aro turuki i nga paanui whatunga ka tukuna mai ki tetahi ratonga ranei.

Ko te rererangi whakahaere

Ko te tangohanga whatunga e whakaratohia ana e te takawaenga rohe i roto i te paparangi raraunga he makutu(?). Heoi, me pehea te mohio o te takawaenga mo te ara "/foo" ki te ratonga B? Me pehea te whakamahi i nga raraunga kitenga ratonga e kapihia ana e nga tono takawaenga? He pehea te whirihora i nga tawhā mo te whakataurite kawenga, te waahi, te pakaru iahiko, aha atu? Me pehea te whakatakoto tono ma te whakamahi i te tikanga puru/matomato, te tikanga whakawhiti waka ataahua ranei? Ko wai ka whirihora i nga tautuhinga whakamotuhēhēnga puta noa i te punaha me te whakamanatanga?

Ko nga mea katoa i runga ake nei kei raro i te mana whakahaere o te waka rererangi o te mata ratonga. Ka mauhia e te waka rererangi he huinga takawaenga kore whenua ka huri hei punaha toha.

Ki taku whakaaro ko te take e pohehe ai te maha o nga tohunga hangarau i nga ariā motuhake o te rererangi raraunga me te waka rererangi whakahaere na te mea mo te nuinga o nga tangata he taunga te waka rererangi raraunga i te mea he tauhou te waka rererangi. Kua roa matou e mahi tahi ana me nga pouara whatunga tinana me nga whakawhiti. Kei te mohio matou me haere nga paakete/tono mai i te waahi A ki te tohu B ka taea e matou te whakamahi i nga taputapu me nga rorohiko hei mahi i tenei. Ko te reanga hou o nga takawaenga raupaparorohiko he momo ahua rerehua noa o nga taputapu kua roa e whakamahia ana e matou.

Rererangi raraunga mata ratonga me te rererangi whakahaere
Whakaahua 2: Te rererangi whakahaere a te tangata

Engari, kua roa matou e whakamahi ana i nga rererangi whakahaere, ahakoa ko te nuinga o nga kaiwhakarato whatunga kaore pea i te hono i tenei waahanga o te punaha ki tetahi waahanga hangarau. He ngawari te take:
Ko te nuinga o nga rererangi whakahaere e whakamahia ana i enei ra ko... matou.

I roto i te Whakaahua 2 e whakaatu ana i taku e kii nei ko te "manuera whakahaere tangata." I roto i tenei momo whakatakotoranga, he mea noa tonu, ka hanga e te tangata nanakia he whirihoranga pateko - ma te tuhi tuhi pea - ka tukuna ma etahi mahi motuhake ki nga takawaenga katoa. Ka timata nga kaiwawao ki te whakamahi i tenei whirihoranga ka timata ki te tukatuka i te rererangi raraunga ma te whakamahi i nga tautuhinga kua whakahoutia.

Rererangi raraunga mata ratonga me te rererangi whakahaere
Whakaahua 3: Te rererangi whakahaere mata ratonga matatau

I roto i te Whakaahua 3 e whakaatu ana i te rererangi whakahaere "whakaroa" o te mata ratonga. Kei roto i nga waahanga e whai ake nei:

  • Te tangata: He tangata tonu (ko te tumanako ka iti te riri) ka whakatau i nga taumata teitei mo te katoa o te punaha.
  • Whakahaere rererangi UI: Ka mahi tahi te tangata me etahi momo atanga kaiwhakamahi hei whakahaere i te punaha. He tomokanga tukutuku pea tenei, he tono raina whakahau (CLI), tetahi atu atanga ranei. Ma te whakamahi i te atanga kaiwhakamahi, ka whai waahi te kaiwhakahaere ki nga tawhā whirihoranga punaha o te ao penei:
    • Te mana tuku, te whakawhiti waka puru/matomato me/ranei
    • Motuhēhēnga me ngā Kōwhiringa Whakamana
    • Nga whakaritenga ripanga ararere, hei tauira ina tono a tono A i nga korero mo "/foo" ka aha
    • Tautuhinga taurite utaina, penei i te taima, te ngana ano, nga tautuhinga pakaru iahiko, aha atu.
  • Kaiwhakarite mahi: Ka whakahaeretia nga ratonga i runga i nga hanganga ma etahi momo punaha whakarite/whakaahua, penei i a Kubernetes, Nomad ranei. Ko te kaihōtaka te kawenga mo te uta i te ratonga me tana takawaenga rohe.
  • Te kitenga ratonga. Ina timata te kaiwhakariterite me te whakamutu i nga waahi ratonga, ka ripoatahia te mana hauora ki te punaha rapu ratonga.
  • Nga API whirihoranga takawaenga taha : Ko nga takawaenga a-rohe ka kaha ki te tango i te ahua mai i nga momo waahanga punaha ma te whakamahi i te tauira rite tonu me te kore e wawaohia e te kaiwhakahaere. Ko te punaha katoa, kei roto i nga waahanga ratonga katoa e whakahaere ana i tenei wa me nga kaitoro takawaenga o te rohe, ka huri ki te punaha rauropi kotahi. Ko te API rererangi raraunga mo te ao a Envoy tetahi tauira o te mahi o tenei mahi.

Ko te mea nui, ko te kaupapa o te waka rererangi ko te whakatakoto kaupapa here ka whakaaehia e te waka rererangi raraunga. Ko nga rererangi whakahaere teitei ake ka tango i etahi atu waahanga o etahi punaha mai i te kaiwhakahaere me te iti ake te mahi a-ringa, mena ka mahi tika!...

Te rererangi raraunga me te rererangi whakahaere. Rererangi Raraunga me te whakarāpopototanga rererangi whakahaere

  • Rererangi raraunga mata ratonga: Ka pa ki ia kete/tono i roto i te punaha. Ko te kawenga mo te rapu tono/ratonga, te tirotiro hauora, te ararere, te whakataurite uta, te whakamotuhēhētanga/whakamana me te mataki.
  • Te rererangi whakahaere mata ratonga: Ka whakarato kaupapa here me te whirihoranga mo nga rererangi raraunga rere katoa i roto i te whatunga ratonga. Kaore e pa ki nga kete / tono i runga i te punaha. Ka hurihia e te waka rererangi nga rererangi raraunga katoa ki te punaha tohatoha.

Te whenua kaupapa o naianei

I te maarama ki te whakamaramatanga i runga ake nei, me titiro tatou ki te ahuatanga o naianei o te kaupapa mesh service.

  • Nga rererangi raraunga: Linkerd, NGINX, HAProxy, Envoy, Traefik
  • Nga rererangi whakahaere: Istio, Nelson, SmartStack

Engari kaua ki te tirotiro hohonu mo ia otinga i runga ake nei, ka korero poto ahau ki etahi o nga mea e whakapono ana ahau kei te raruraru te puunaha rauwiringa kaiao inaianei.

Ko Linkerd tetahi o nga kaiwhakarato takawaenga rererangi raraunga tuatahi mo te mata ratonga i te timatanga o te tau 2016, a he mahi tino pai ki te whakatairanga me te aro ki te tauira hoahoa mata ratonga. Tata ki te ono marama i muri mai, ka uru atu a Envoy ki Linkerd (ahakoa i noho ia ki Lyft mai i te mutunga o te tau 6). Ko Linkerd me te Envoy nga kaupapa e rua e tino whakahuahia ana i te wa e korero ana mo nga mahanga ratonga.

I panuitia a Istio i Mei 2017. Ko nga whainga o te kaupapa Istio he tino rite ki te rererangi whakahaere whanui e whakaatuhia ana i roto Whakaahua 3. Ko te karere mo Istio te takawaenga taunoa. Na, ko Istio te rererangi whakahaere, ko Envoy te paparangi raraunga. I roto i te wa poto, i hangaia e Istio te tino harikoa, a ka timata etahi atu rererangi raraunga ki te whakauru hei whakakapi mo Envoy (i whakaatuhia e Linkerd me NGINX te whakauru ki a Istio). Ko te mea ka taea te whakamahi i nga rererangi raraunga rereke i roto i te rererangi whakahaere kotahi, ko te tikanga ko te rererangi whakahaere me te rererangi raraunga kaore i te tino honoa. Ka taea e tetahi API penei i te API rererangi raraunga whanui a Envoy te hanga piriti i waenga i nga waahanga e rua o te punaha.

Ka awhina a Nelson me SmartStack ki te whakaatu ake i te wehenga o te waka rererangi me te paparangi raraunga. Ka whakamahi a Nelson i a Envoy hei takawaenga me te hanga i tetahi rererangi whakahaere pono mo te mata ratonga i runga i te taapu HashiCorp, ara. Nomad, etc. Ko SmartStack pea te tuatahi o te ngaru hou o nga mahanga ratonga. Ka hangaia e SmartStack tetahi rererangi whakahaere huri noa i te HAProxy, NGINX ranei, e whakaatu ana i te kaha ki te whakakore i te rererangi whakahaere mai i te mata ratonga mai i te rererangi raraunga.

Ko te hoahoanga Microservice me te mata ratonga kei te kaha ake te aro (he tika!), He maha nga kaupapa me nga kaihoko kua timata ki te mahi i tenei huarahi. I roto i nga tau e whai ake nei ka kite tatou i te maha o nga mahi hou i roto i te rererangi raraunga me te rererangi whakahaere, me te whakauru ano o nga waahanga rereke. I te mutunga, kia marama ake te hangahanga microservice me te makutu (?) mo te kaiwhakahaere.
Ko te tumanako ka iti ake te riri.

Nga tangohanga matua

  • E rua nga waahanga rereke o te mata ratonga: te rererangi raraunga me te rererangi whakahaere. Ko nga waahanga e rua e hiahiatia ana, me te kore o enei ka kore te punaha e mahi.
  • Kei te mohio nga tangata katoa ki te rererangi whakahaere, a, i tenei wa, ko koe pea te rererangi whakahaere!
  • Ka whakataetae nga rererangi raraunga katoa ki a raatau i runga i nga ahuatanga, te mahi, te whirihora, me te whakaroa.
  • Ka whakataetae nga rererangi whakahaere katoa ki a raatau ano i roto i nga ahuatanga, te whirihora, te whakaroa, me te ngawari o te whakamahi.
  • Ka taea e tetahi rererangi whakahaere te tango i nga tangohanga tika me nga API kia taea ai te whakamahi i nga rererangi raraunga maha.

Source: will.com

Tāpiri i te kōrero