Kusankha kalembedwe kamangidwe (gawo 1)

Hello, habr. Kulembetsa kwa maphunziro atsopano kwatsegulidwa pakali pano ku OTUS "Software Architect". Madzulo oyambira maphunzirowa, ndikufuna kugawana nanu nkhani yanga yoyamba.

Mau oyamba

Kusankha kalembedwe kamangidwe ndi chimodzi mwazosankha zaukadaulo pomanga dongosolo lazidziwitso. M'nkhani zotsatizanazi, ndikupempha kuti ndifufuze masitayelo odziwika bwino a zomangamanga zomangira ndikuyankha funso loti ndi nthawi iti yomanga yomwe imakonda kwambiri. Pofotokozera, ndiyesera kujambula unyolo womveka womwe umafotokozera za chitukuko cha zomangamanga kuchokera ku monoliths kupita ku microservices.

Zakale za mbiriyakale

Mukayesa kufunsa opanga: "N'chifukwa chiyani timafunikira ma microservices?", Mudzapeza mayankho osiyanasiyana. Mudzamva kuti ma microservices amawongolera scalability, kupanga code mosavuta kumvetsa, kusintha kulolerana zolakwika, ndipo nthawi zina mumamva kuti amakulolani "kuyeretsa code yanu." Tiyeni tiwone mbiri kuti timvetsetse cholinga chomwe chinayambitsa ma microservices.

Mwachidule, ma microservices mukumvetsetsa kwathu kwaposachedwa adawuka motere: mu 2011, James Lewis, posanthula ntchito zamakampani osiyanasiyana, adawonetsa kutulukira kwa kachitidwe katsopano ka "micro-app", yomwe idakongoletsa SOA potengera kufulumizitsa kutumizidwa kwamakampani. ntchito. Patapita nthawi, mu 2012, pamsonkhano wa zomangamanga, chitsanzocho chinatchedwanso microservice. Chifukwa chake, cholinga choyambirira choyambitsa ma microservices chinali kupititsa patsogolo zodziwika bwino nthawi yogulitsa.

Microservices anali pa hype wave mu 2015. Malinga ndi maphunziro ena, palibe msonkhano umodzi womwe udatha popanda lipoti pamutu wa microservices. Kuphatikiza apo, misonkhano ina idaperekedwa ku ma microservices okha. Masiku ano, mapulojekiti ambiri amayamba kugwiritsa ntchito kalembedwe kameneka, ndipo ngati polojekitiyo ili ndi matani ambiri a cholowa, ndiye kuti kusamukira ku ma microservices mwina kukuchitika mwachangu.

Ngakhale zonse zili pamwambazi, omanga ochepa amatha kufotokozerabe lingaliro la "microservice". Koma tikambirana za izi posachedwa ...

Monolith

Kalembedwe kamangidwe komwe kamasiyanitsa ma microservices ndi monolith (kapena onse-mu-mmodzi). Mwinamwake sizingakhale zomveka kunena kuti monolith ndi chiyani, kotero ine ndikulemba nthawi yomweyo kuipa kwa kalembedwe kamangidwe kameneka, komwe kunayambitsa chitukuko chowonjezereka cha zomangamanga: kukula, kugwirizanitsa, kutumizira, scalability, kudalirika ndi kukhazikika. Pansipa ndikupangira kuti ndiyang'ane zolakwikazo padera.

kukula

The monolith ndi yaikulu kwambiri. Ndipo nthawi zambiri imalumikizana ndi database yayikulu kwambiri. Pulogalamuyi imakhala yayikulu kwambiri kuti wopanga mmodzi angayimvetse nkomwe. Ndiwo okhawo omwe agwiritsa ntchito nthawi yochuluka pa code iyi akhoza kugwira ntchito bwino ndi monolith, pamene oyamba kumene amatha nthawi yambiri akuyesera kuti azindikire monolith ndipo palibe chitsimikizo kuti adzachizindikira. Kawirikawiri, pogwira ntchito ndi monolith, nthawi zonse pamakhala akuluakulu "ovomerezeka" omwe amadziwa bwino monolith ndipo amamenya manja a omanga atsopano mkati mwa chaka ndi theka. Mwachibadwa, mkulu wovomerezeka wotere ndi chinthu chimodzi cholephera, ndipo kuchoka kwake kungayambitse imfa ya monolith.

Kulumikizana

Monolith ndi "mpira waukulu wamatope", kusintha komwe kungayambitse zotsatira zosayembekezereka. Popanga zosintha pamalo amodzi, mutha kuwononga monolith pamalo ena (momwemonso "mwakanda khutu, * @ adagwa"). Izi ndichifukwa choti zigawo za monolith zimakhala zovuta kwambiri komanso, zofunika kwambiri, maubwenzi osadziwika bwino.

Kutumizidwa

Kutumiza monolith, chifukwa cha maubwenzi ovuta pakati pa zigawo zake, ndi njira yayitali ndi mwambo wake. Mwambo wotero kaΕ΅irikaΕ΅iri sukhala wokhazikika kotheratu ndipo umaperekedwa β€œpakamwa.”

Scalability

Ma module a Monolith akhoza kukhala ndi zosowa zotsutsana, zomwe zimafuna kuti pakhale mgwirizano wopangidwa ndi hardware. Tangoganizani kuti muli ndi monolith yokhala ndi mautumiki A ndi B. Service A ikufuna kukula kwa hard drive, ndipo ntchito B ikufuna pa RAM. Pankhaniyi, mwina makina omwe monolith amayikidwa ayenera kuthandizira zofunikira za mautumiki onsewa, kapena muyenera kuletsa pamanja ntchito imodzi.

Chitsanzo china (chachikale kwambiri): utumiki A ndi wotchuka kwambiri kuposa utumiki B, kotero mukufuna kuti pakhale mautumiki 100 A, ndi mautumiki 10 B. Apanso, njira ziwiri: mwina titumize ma monoliths 100 athunthu, kapena ena pamenepo. ntchito B iyenera kuyimitsidwa pamanja.

Kudalirika

Popeza mautumiki onse ali pamodzi, ngati monolith ikugwa, ndiye kuti mautumiki onse amagwa nthawi imodzi. M'malo mwake, izi sizingakhale zoyipa kwambiri, mwina sipadzakhala zolephera pang'ono pamakina ogawidwa, koma kumbali ina, chifukwa cha cholakwika chomwe chimagwiritsidwa ntchito ndi 0.001% ya ogwiritsa ntchito, mutha kutaya ogwiritsa ntchito onse. ya dongosolo lanu.

Inertia

Chifukwa cha kukula kwa monolith, n'zovuta kusinthira ku matekinoloje atsopano. Chifukwa chake, kusunga wamkulu yemweyo ndi ntchito yosiyana. Kuchuluka kwaukadaulo komwe kumasankhidwa kumayambiriro kwa polojekiti kumatha kukhala chipika chomwe chimalepheretsa chitukuko cha mankhwalawo.

Pomaliza

Nthawi yotsatira tidzakambirana momwe anthu ayesera kuthetsa mavutowa posamukira ku zigawo ndi SOA.

Kusankha kalembedwe kamangidwe (gawo 1)

Werengani zambiri:

Source: www.habr.com

Kuwonjezera ndemanga