Microservices: zomwe ali, chifukwa chake ali komanso nthawi yoti agwiritse ntchito

Ndinkafuna kulemba nkhani pamutu wa zomangamanga za microservice kwa nthawi yayitali, koma zinthu ziwiri zinkandiyimitsa - pamene ndinalowa mu mutuwo, ndinawona kuti zomwe ndikudziwa ndizodziwikiratu, ndi zomwe sindichita. sindikudziwa kuti ndiyenera kuphunzira ndi kuphunzira. Kumbali ina, ndikuganiza kuti pali kale kena kake kukambirana pakati pa omvera ambiri. Choncho malingaliro ena ndi olandiridwa.

Lamulo la Conway ndi ubale pakati pa bizinesi, bungwe ndi chidziwitso

Apanso ndidzilola ndekha kunena kuti:

"Bungwe lililonse lomwe limapanga dongosolo (mwanjira zambiri) lidzalandira mapangidwe omwe mawonekedwe ake amafanana ndi magulu agululo."
β€”Melvyn Conway, 1967

M'malingaliro anga, lamuloli limakhala logwirizana kwambiri ndi kuthekera kokonzekera bizinesi, m'malo molunjika ku dongosolo lachidziwitso. Ndiloleni ndifotokoze ndi chitsanzo. Tinene kuti tili ndi mwayi wokhazikika wabizinesi wokhala ndi moyo wautali kotero kuti ndizomveka kupanga bizinesi (ichi sicholakwika, koma ndimakonda kwambiri mawu awa omwe ndidaba). idzagwirizana ndi bizinesiyi mwadongosolo komanso mwadongosolo.

Mayendedwe abizinesi a machitidwe azidziwitso

Microservices: zomwe ali, chifukwa chake ali komanso nthawi yoti agwiritse ntchito

Ndiloleni ndifotokoze ndi chitsanzo. Tiyerekeze kuti pali mwayi wabizinesi kukonza bizinesi yogulitsa pizza. Mu mtundu wa V1 (tiyeni titchule zidziwitso), kampaniyo inali pizzeria, cholembera ndalama, ndi ntchito yobweretsera. Baibuloli linakhalapo kwa nthawi yayitali m'malo otsika osinthika achilengedwe. Kenako mtundu 2 unabwera m'malo mwake - wapamwamba kwambiri komanso wokhoza kugwiritsa ntchito chidziwitso pachimake pabizinesi yokhala ndi zomangamanga za monolithic. Ndipo apa, mwa lingaliro langa, pali chabe kupanda chilungamo koopsa pokhudzana ndi monoliths - Zomangamanga zomwe zimatchedwa monolithic sizigwirizana ndi mtundu wabizinesi. Inde, ngati izi zikanakhala choncho, dongosololi silingagwire ntchito konse - kutsutsana ndi lamulo la Conway lomwelo komanso kulingalira bwino. Ayi, zomangamanga za monolithic zimagwirizana kwathunthu ndi chitsanzo cha bizinesi pa nthawi ino ya chitukuko cha bizinesi - ine, ndithudi, ndikutanthauza siteji pamene dongosolo lakhazikitsidwa kale ndikugwiritsidwa ntchito. Ndizodabwitsa kwambiri kuti mosasamala kanthu za kamangidwe kake, mitundu yonse ya zomangamanga zoyendetsedwa ndi ntchito 3 ndi mtundu wa Microservices Architecture N zigwira ntchito mofanana. Nsomba ndi chiyani?

Chilichonse chimayenda, chilichonse chimasintha, kapena ma microservices ndi njira yothanirana ndi zovuta?

Tisanapitilize, tiyeni tiwone malingaliro olakwika okhudza kamangidwe ka microservice.

Othandizira kugwiritsa ntchito njira ya microservice nthawi zambiri amatsutsa kuti kuphwanya monolith kukhala ma microservices kumathandizira njira yachitukuko pochepetsa ma code a ntchito zapayekha. Malingaliro anga, mawu awa ndi zopanda pake. Mozama, kuyanjana kodziwikiratu mkati mwa monolith ndi code yofanana kumawoneka kovuta? Zikadakhala choncho, ma projekiti onse akadamangidwa ngati ma microservices, pomwe machitidwe akuwonetsa kuti kusamuka kuchokera ku monolith kupita ku ma microservices ndikofala kwambiri. Kuvuta sikuchoka; kumangochoka kumagawo amodzi kupita kumalo olumikizirana (kaya mabasi a data, RPC, APIs, kapena ma protocol ena) ndi makina owongolera. Ndipo izi ndizovuta!

Ubwino wogwiritsa ntchito stack yosawerengeka ndi yokayikitsa. Sindingatsutse kuti izi ndizothekanso, koma zenizeni sizichitika kawirikawiri (Kuyang'ana m'tsogolo - izi ziyenera kuchitika - koma monga chotsatira kusiyana ndi mwayi).

Kuzungulira kwa moyo wazinthu komanso moyo wantchito

Yang'ananinso chithunzi pamwambapa. Sizinangochitika mwangozi kuti ndidazindikira kuchepa kwa moyo wamtundu wina wabizinesi - m'mikhalidwe yamakono, ndikufulumizitsa kusintha kwabizinesi pakati pamitundu yomwe imapangitsa kuti apambane. Kupambana kwa chinthu kumatsimikiziridwa ndi liwiro la kuyesa malingaliro abizinesi momwemo. Ndipo apa, mwa lingaliro langa, pali mwayi wofunikira wa zomangamanga za microservice. Koma tiyeni tipite mwadongosolo.

Tiyeni tipitirire ku gawo lotsatira pakusinthitsa machitidwe azidziwitso - ku zomangamanga zoyendetsedwa ndi ntchito za SOA. Chifukwa chake, nthawi ina tidawunikira muzogulitsa zathu ntchito za nthawi yayitali - kukhala ndi moyo wautali m'lingaliro lakuti pamene mukuyenda pakati pa mitundu ya mankhwala, pali mwayi woti moyo wautumiki ukhale wautali kusiyana ndi moyo wa mtundu wotsatira wa mankhwala. Zingakhale zomveka kusawasintha konse - ife Chofunikira ndi liwiro lakusintha kupita ku mtundu wina. Koma tsoka, timakakamizika kusintha mautumiki - ndipo apa chilichonse chimagwira ntchito kwa ife, machitidwe a DevOps, zotengera, ndi zina zotero - zonse zomwe zimabwera m'maganizo. Koma awa akadali si ma microservices!

Microservices ngati njira yolimbana ndi zovuta ... kasamalidwe kachitidwe

Ndipo apa titha kupitilira kutanthauzira kwa ma microservices - iyi ndi njira yomwe imathandizira kasamalidwe kazinthu. Mwatsatanetsatane, ntchito ya microservice iliyonse imalongosola ndendende momwe bizinesi imagwirira ntchito mkati mwazogulitsa molingana ndi mtundu wa domain - ndipo izi ndi zinthu zomwe sizikhala munthawi yochepa, koma mwayi wabizinesi wanthawi yayitali. Ndipo kusintha kwa mtundu wotsatira wa mankhwalawa kumachitika mosazindikira - mumasintha / onjezerani microservice imodzi, ndipo mwina basi chiwembu cha kuyanjana kwawo, ndipo mwadzidzidzi mumadzipeza nokha m'tsogolomu, kusiya opikisana nawo akulira omwe akupitiliza kulumpha pakati pa mitundu ya monoliths awo. Tsopano yerekezerani kuti pali ma microservices ambiri omwe ali ndi mawonekedwe ofotokozedweratu komanso kuthekera kwamabizinesi. Ndipo mumabwera ndikumanga kapangidwe kazinthu zanu kuchokera ku ma microservice okonzeka - kungojambula chithunzi, mwachitsanzo. Zabwino kwambiri - muli ndi nsanja - ndipo tsopano mutha kukopa bizinesi nokha. Maloto Maloto.

anapezazo

  • Mapangidwe a dongosololi ayenera kutsimikiziridwa ndi moyo wa zigawo zake. Ngati chigawocho chimakhala mkati mwa mtundu wa mankhwala, palibe chifukwa chowonjezera zovuta za dongosololi pogwiritsa ntchito njira ya microservice.
  • Zomangamanga za Microservice ziyenera kutengera mtundu wa domain - chifukwa mwayi wamabizinesi ndi womwe umakhala nthawi yayitali kwambiri
  • Zochita zobweretsera (machitidwe a DevOps) ndi kuyimba ndi imodzi mwazofunikira kwambiri pakumanga kwa microservice - chifukwa chakuti kuchuluka kwa kusintha kwa magawo kumawonjezera zofuna za liwiro komanso mtundu wa kutumiza.

Source: www.habr.com

Kuwonjezera ndemanga