Microservices: he aha aua mea, he aha te take me te wa hei whakatinana

I pirangi ahau ki te tuhi tuhinga mo te kaupapa mo te hoahoanga microservice mo te wa roa, engari e rua nga mea i aukati i ahau - ko te kaha ake o taku urunga ki roto i te kaupapa, ka nui ake te ahua o taku mohio kei te kitea, me te aha e mahi ana ahau. t mohio me ako me ako. I tetahi atu taha, ki taku whakaaro tera ano tetahi mea hei matapaki i waenga i te marea whanui. No reira e pai ana nga whakaaro rereke.

Te Ture a Conway me te hononga i waenga i te pakihi, te whakahaere me te punaha korero

Ka tuku ano ahau ki te whakahua:

"Ko nga whakahaere e hoahoa ana i tetahi punaha (i roto i te tikanga whanui) ka whiwhi i tetahi hoahoa e rite ana te hanganga ki te hanganga o nga roopu o taua whakahaere."
— Melvyn Conway, 1967

Ki taku nei whakaaro, he pai ake te pa atu o tenei ture ki te whaihua o te whakahaere pakihi, kaua ki te tika ki te punaha korero. Me whakamarama ahau me tetahi tauira. Me kii he waahi pakihi tino pumau me te roa o te huringa ora e tika ana ki te whakarite hinonga (ehara tenei i te pohehe, engari he tino pai ki ahau tenei kupu i tahaetia e au). ka rite ki te whakahaere me te mahi ki tenei pakihi.

Te whakatakotoranga pakihi o nga punaha korero

Microservices: he aha aua mea, he aha te take me te wa hei whakatinana

Me whakamarama ahau me tetahi tauira. Me kii he waahi pakihi ki te whakarite pakihi hoko pizza. I roto i te putanga V1 (kia karangahia i mua i nga korero), ko te kamupene he pizzeria, he rehita moni, he ratonga tuku. He roa tenei putanga i roto i nga ahuatanga o te rereketanga o te taiao. Katahi ka puta mai te putanga 2 ki te whakakapi - he matatau ake me te kaha ki te whakamahi i tetahi punaha korero i tona matua mo te pakihi me te hoahoanga monolithic. Na konei, ki taku whakaaro, he kino kino noa iho mo nga monoliths - e kiia ana ko te hoahoanga monolithic kaore e rite ki te tauira pakihi rohe. Ae, ki te penei, karekau rawa te punaha e mahi - he whakahē ki te ture o Conway me te whakaaro noa. Kao, he rite tonu te hoahoanga monolithic ki te tauira pakihi i tenei wahanga o te whanaketanga pakihi - Ko au, ko te tikanga ko te waahi kua oti te hanga te punaha me te mahi. He mea tino whakamiharo, ahakoa te ahua o te hoahoanga, ka pai te mahi a te hoahoanga mahi-whakaaro putanga 3 me te waahanga hangahanga microservices N. He aha te hopu?

Ka rere nga mea katoa, ka huri nga mea katoa, ko nga microservices ranei he huarahi ki te whawhai ki te uaua?

I mua i te haere tonu, me titiro ki etahi pohehe mo te hoahoanga microservice.

He maha nga tautohetohe a nga kaiwhaiwhai mo te whakamahi i te huarahi microservice ko te pakaru i te monolith ki roto i nga ratonga miihini ka ngawari te huarahi whanaketanga ma te whakaiti i te turanga waehere o nga ratonga takitahi. Ki taku whakaaro, he tino poauau tenei korero. He tino uaua, he uaua te taunekeneke i roto i te waehere monolith me te homogeneous? Mēnā ka pēnei, ka hangaia ngā kaupapa katoa hei ratonga moroiti i te tuatahi, engari e whakaatu ana te mahi ko te heke mai i te monolith ki te microservices he mea noa ake. Kare te uaua e haere atu; ka neke noa mai i nga waahanga takitahi ki nga hononga (ahakoa nga pahi raraunga, RPC, API, etahi atu tikanga ranei) me nga punaha whakahaere. A he uaua tenei!

Ko te painga o te whakamahi i te taapu rerekee he patai ano hoki. E kore ahau e tautohe ka taea ano tenei, engari i roto i te mooni kare noa e puta (Te titiro whakamua - me puta tenei - engari he hua kaore he painga).

Te huringa ora hua me te huringa ora ratonga

Tirohia te hoahoa i runga ake nei. Ehara i te mea pohehe i kite ahau i te heke haere o te huringa ora o tetahi putanga motuhake o te pakihi - i roto i nga ahuatanga hou, ko te tere o te whakawhiti o te pakihi i waenga i nga momo putanga e whakatau ana mo tona angitu. Ko te angitu o tetahi hua ka whakatauhia e te tere o te whakamatautau i nga whakapae pakihi kei roto. Na konei, ki taku whakaaro, ko te painga nui o te hoahoanga microservice. Engari kia haere maatau.

Me neke tatou ki te waahanga e whai ake nei i roto i te whanaketanga o nga punaha korero - ki te hoahoanga mahi a SOA. Na, i etahi wa i tohua e matou i roto i ta maatau hua ratonga roa - he wa roa i roto i te tikanga ka neke i waenga i nga putanga o tetahi hua, he tupono ka roa ake te huringa ora o te ratonga i te huringa ora o te putanga o muri o te hua. He mea tika kia kaua e whakarereketia - ko tatou Ko te mea nui ko te tere o te whakawhiti ki te putanga e whai ake nei. Engari aue, me kaha taatau ki te whakarereke tonu i nga ratonga - a kei konei ka pai nga mea katoa mo matou, nga mahi a DevOps, te whakauru ipu, me era atu - nga mea katoa ka puta ki te hinengaro. Engari ehara tonu enei i nga ratonga miihini!

Microservices hei huarahi ki te whawhai i te uaua... whakahaere whirihoranga

I konei ka taea e taatau te neke atu ki te mahi tautuhi o nga ratonga miihini - he huarahi tenei e ngawari ana te whakahaere whirihoranga hua. I roto i nga korero taipitopito, ko te mahi o ia microservice e whakaatu tika ana i te mahi pakihi i roto i te hua e ai ki te tauira rohe - a ko enei nga mea kaore e noho i roto i te waahanga poto, engari i roto i te waahi pakihi roa. A ko te whakawhiti ki te putanga o muri o te hua ka puta kaore e kitea - ka huri koe/taapirihia tetahi ratonga moroiti, a ko te kaupapa noa o ta raatau taunekeneke, a ka kitea e koe a muri ake nei, ka mahue mai nga whakataetae tangi e haere tonu ana ki te peke i waenga i nga putanga o o ratou monoliths. Whakaarohia inaianei he nui te rahi o nga ratonga moroiti me nga atanga kua tautuhia me nga kaha pakihi. Na ka haere mai koe ki te hanga i te hanganga o to hua mai i nga ratonga miihini kua rite - ma te tuhi hoahoa noa, hei tauira. Tena koe - kei a koe he turanga - inaianei ka taea e koe te kukume pakihi mo koe ake. Moemoea Moemoea.

kitenga

  • Ko te hoahoanga o te punaha me whakatau e te huringa ora o ona waahanga. Mena kei te noho tetahi waahanga i roto i te putanga hua, kaore he take ki te whakanui ake i te uaua o te punaha ma te whakamahi i te huarahi microservice.
  • Me hangai te hoahoanga Microservice i runga i te tauira rohe - na te mea ko te waahi pakihi te rohe roa rawa atu
  • Ko nga mahi tuku (nga mahi a DevOps) me te mahi whakahiato tetahi o nga mea nui mo te hoahoanga microservice - na te mea ko te pikinga o te huringa o nga waahanga ka piki ake nga tono mo te tere me te kounga o te tuku.

Source: will.com

Tāpiri i te kōrero