Microservices: hore na ke eng, hore na ke hobane'ng ha li le teng le hore na li ka sebelisoa neng

Ke ne ke batla ho ngola sengoloa ka sehlooho sa meralo ea microservice ka nako e telele, empa lintho tse peli li ile tsa 'na tsa nthibela - ha ke ntse ke tsoela pele ho kena ka har'a sehlooho, ke ne ke bona eka seo ke se tsebang se hlakile, le seo ke sa se tsebeng. Kea tseba hore e hloka ho ithutoa le ho ithutoa. Ka lehlakoreng le leng, ke nahana hore ho se ho ntse ho e-na le ntho eo ho ka buisanoang ka eona har'a bamameli ba bangata. Kahoo maikutlo a fapaneng a amoheleha.

Molao oa Conway le kamano lipakeng tsa khoebo, mokhatlo le sistimi ea tlhahisoleseling

Hape ke tla itumella ho qotsa:

"Mokhatlo ofe kapa ofe o qapang tsamaiso (ka kutloisiso e pharaletseng) o tla fumana moralo oo sebopeho sa oona se etsisang sebopeho sa lihlopha tse mokhatlong oo."
- Melvyn Conway, 1967

Ka maikutlo a ka, molao ona o ka 'na oa amana le monyetla oa ho hlophisa khoebo, ho e-na le ho toba tsamaiso ea tlhahisoleseding. E-re ke hlalose ka mohlala. Ha re re re na le monyetla o tsitsitseng oa khoebo o nang le potoloho ea bophelo bo bolelele hoo ho utloahalang ho hlophisa khoebo (ena ha se typo, empa ke hlile ke rata lentsoe lena leo ke le utsoitseng). e tla tsamaisana le khoebo ena ka tsela ea mokhatlo.

Tsamaiso ea khoebo ea litsamaiso tsa tlhahisoleseling

Microservices: hore na ke eng, hore na ke hobane'ng ha li le teng le hore na li ka sebelisoa neng

E-re ke hlalose ka mohlala. Ha re re ho na le monyetla oa khoebo oa ho hlophisa khoebo ea ho rekisa pizza. Mofuteng oa V1 (ha re e bitse boitsebiso ba pele), k'hamphani e ne e le pizzeria, rejisete ea chelete, le tšebeletso ea ho tsamaisa thepa. Phetolelo ena e ne e phetse nako e telele tlas'a maemo a fokolang a tikoloho. Joale mofuta oa 2 o ile oa e nkela sebaka - o tsoetse pele ho feta mme o khona ho sebelisa sistimi ea tlhahisoleseling molemong oa khoebo e nang le meralo ea monolithic. 'Me mona, ka maikutlo a ka, ho na le ho hloka toka ho tšabehang feela mabapi le monoliths - meralo eo ho thoeng ke ea monolithic ha e tsamaellane le mohlala oa khoebo ea domain. E, haeba sena se ne se le joalo, tsamaiso e ne e ke ke ea khona ho sebetsa ho hang - ho hanana le molao o tšoanang oa Conway le kutloisiso e tloaelehileng. Che, mohaho oa monolithic o lumellana ka ho feletseng le mokhoa oa khoebo nakong ena ea tsoelo-pele ea khoebo - ha e le hantle, ke bolela sethala ha tsamaiso e se e bōpiloe 'me e kenngoa ts'ebetsong. Ke 'nete e makatsang hore ho sa tsotelehe mokhoa oa meralo, mofuta oa 3 oa meralo o shebaneng le lits'ebeletso le mofuta oa meralo oa microservices N o tla sebetsa ka ho lekana. Ho tšoasoa ke eng?

Ntho e 'ngoe le e' ngoe e phalla, ntho e 'ngoe le e' ngoe e fetoha, kapa na li-microservices ke mokhoa oa ho loantša ho rarahana?

Pele re tsoela pele, a re shebeng maikutlo a fosahetseng mabapi le meralo ea microservice.

Batšehetsi ba ho sebelisa mokhoa oa microservice hangata ba pheha khang ea hore ho pshatla monolith ho microservices ho nolofatsa mokhoa oa ntlafatso ka ho fokotsa motheo oa khoutu ea litšebeletso tsa motho ka mong. Ka maikutlo a ka, polelo ena ke lefeela le feletseng. Ka botebo, tšebelisano e totobetseng ka har'a khoutu ea monolith le homogeneous e bonahala e le thata? Haeba ho ne ho hlile ho le joalo, merero eohle e ne e tla hahuoa qalong e le li-microservices, athe tloaelo e bontša hore ho falla ho tloha monolith ho ea ho microservices ho tloaelehile haholo. Ho rarahana ha ho nyamele; e tloha ho li-module tsa motho ka mong ho ea ho li-interfaces (e ka ba libese tsa data, RPC, APIs, le liprothokholo tse ling) le litsamaiso tsa orchestrating. 'Me sena se thata!

Molemo oa ho sebelisa li-heterogeneous stack o boetse oa belaella. Nke ke ka pheha khang ea hore sena se ka khoneha, empa ha e le hantle se etsahala ka seoelo (Ho sheba pele - sena se lokela ho etsahala - empa e le sephetho ho e-na le molemo).

Potoloho ea bophelo ba sehlahisoa le potoloho ea bophelo ba tšebeletso

Sheba hape setšoantšo se ka holimo. Ha ho makatse hore ebe ke hlokometse ho fokotseha ha potoloho ea bophelo ea mofuta o fapaneng oa khoebo - maemong a sejoale-joale, ke ho potlakisa phetoho ea khoebo lipakeng tsa liphetolelo tse etsang qeto bakeng sa katleho ea eona. Katleho ea sehlahisoa e khethoa ke lebelo la ho hlahloba likhopolo-taba tsa khoebo ho eona. 'Me mona, ka maikutlo a ka, ho na le monyetla oa bohlokoa oa meralo ea microservice. Empa ha re yeng ka tatellano.

Ha re feteleng pele ho ea mothating o latelang oa ntlafatso ea litsamaiso tsa tlhahisoleseling - ho meaho e shebaneng le lits'ebeletso tsa SOA. Kahoo, ka nako e itseng re ile ra totobatsa sehlahisoa sa rona litšebeletso tsa nako e telele - e phela nako e telele ka kutloisiso ea hore ha u tsamaea pakeng tsa liphetolelo tsa sehlahisoa, ho na le monyetla oa hore nako ea bophelo ba tšebeletso e be telele ho feta nako ea bophelo ea mofuta o latelang oa sehlahisoa. E ka ba ho utloahalang hore re se ke ra li fetola ho hang - rona Ntho ea bohlokoa ke lebelo la ho fetela phetolelong e latelang. Empa ka bomalimabe, re tlameha ho etsa liphetoho tse sa khaotseng litšebeletsong - 'me mona ntho e' ngoe le e 'ngoe e sebetsa bakeng sa rona, mekhoa ea DevOps, lisebelisoa, joalo-joalo - tsohle tse tlang kelellong. Empa tsena e ntse e se li-microservices!

Microservices e le mokhoa oa ho loantša ho rarahana ... tsamaiso ea tlhophiso

Mme mona re ka fetela pele ho karolo e hlalosang ea li-microservices - ona ke mokhoa o nolofatsang taolo ea tlhophiso ea sehlahisoa. Ka ho qaqileng haholoanyane, mosebetsi oa microservice e 'ngoe le e' ngoe e hlalosa hantle mosebetsi oa khoebo ka hare ho sehlahisoa ho latela mohlala oa sebaka sa marang-rang - 'me tsena ke lintho tse sa pheleng ka mokhoa oa nakoana, empa ka monyetla oa nako e telele oa khoebo. 'Me phetoho ea phetolelo e latelang ea sehlahisoa e etsahala e sa hlokomeloe ka ho toba - u fetola / eketsa microservice e le' ngoe, mohlomong le morero feela oa ho sebelisana ha bona, 'me ka tšohanyetso u iphumana u le nakong e tlang, u siea bahlaseli ba llang ba ntseng ba tsoela pele ho qhomela pakeng tsa liphetolelo. monoliths tsa bona. Joale nahana hore ho na le palo e kholo ea li-microservices tse nang le li-interfaces tse boletsoeng esale pele le bokhoni ba khoebo. 'Me u tla' me u hahe sebopeho sa sehlahisoa sa hau ho tsoa ho li-microservices tse seng li entsoe - feela ka ho taka setšoantšo, mohlala. Kea u babatsa - u na le sethala - 'me joale u ka hohela khoebo bakeng sa hau. Litoro Litoro.

fumanoeng ke

  • Mehaho ea tsamaiso e lokela ho khethoa ke potoloho ea bophelo ea likarolo tsa eona. Haeba karolo e phela ka har'a mofuta oa sehlahisoa, ha ho na lebaka la ho eketsa ho rarahana ha sistimi ka ho sebelisa mokhoa oa microservice.
  • Meetso ea Microservice e lokela ho ipapisa le mohlala oa sebaka sa marang-rang - hobane monyetla oa khoebo ke sebaka se phetseng nako e telele ka ho fetisisa
  • Mekhoa ea ho fana (litloaelo tsa DevOps) le orchestration ke e 'ngoe ea bohlokoa ka ho fetisisa bakeng sa meralo ea microservice - ka lebaka la hore keketseho ea sekhahla sa phetoho ea likarolo e beha litlhoko tse eketsehileng tsa lebelo le boleng ba phano.

Source: www.habr.com

Eketsa ka tlhaloso