Microservices - fipoahana combinatorial amin'ny dikan-teny

Salama, Habr! Atolotro ho anareo fandikan-tenin'ny mpanoratra ny lahatsoratra Microservices - Fipoahana Combinatorial amin'ny dikan-teny.
Microservices - fipoahana combinatorial amin'ny dikan-teny
Amin'ny fotoana izay hirosoan'ny tontolon'ny IT miandalana mankany amin'ny microservices sy fitaovana toa an'i Kubernetes, olana iray ihany no miha-miharihary. Ity olana ity- fipoahana combinatorial versions microservice. Na izany aza, ny vondrom-piarahamonina IT dia mino fa ny zava-misy ankehitriny dia tsara lavitra noho ny "Dependency helo" taranaka teo aloha ny teknolojia. Na izany aza, olana sarotra be ny famoahana microservices. Ny porofo iray amin'izany dia mety ho lahatsoratra toy izany "Avereno amiko ny monolith".

Raha mbola tsy azonao ny olana amin'ny famakiana ity lahatsoratra ity dia avelao aho hanazava. Aoka hatao hoe misy tolotra mikrΓ΄ 10 ny vokatrao. Andeha hatao hoe 1 vaovao no navoaka ho an'ny tsirairay amin'ireo microservices ireo. Dikan-teny 1 ihany - Manantena aho fa afaka manaiky isika rehetra fa zava-misy tsy misy dikany sy tsy misy dikany izany. Ankehitriny anefa, andeha hojerentsika indray ny vokatray. Miaraka amin'ny dikan-teny vaovao iray monja amin'ny singa tsirairay, dia manana 2^10 - na 1024 permutation amin'ny fomba fandrafetana ny vokatray izahay.

Raha mbola misy tsy fifankahazoana dia avelao aho hanazava ny matematika. Noho izany dia manana microservices 10 izahay, samy mahazo fanavaozana iray. Izany hoe mahazo version 2 azo atao isika isaky ny microservice (na taloha na vaovao). Ankehitriny, ho an'ny singa tsirairay amin'ny vokatra dia afaka mampiasa ny iray amin'ireo dikan-teny roa ireo isika. Raha ny matematika, dia mitovy amin'ny hoe manana isa mimari-droa misy isa 10 isika. Ohatra, ndao atao hoe 1 no dikan-teny vaovao, ary 0 no dikan-teny taloha - dia azo lazaina ho 1001000000 ny permutation iray - izay misy fanavaozana ny singa voalohany sy faha-1, ary ny hafa rehetra dia tsy. Avy amin'ny matematika dia fantatsika fa ny isa mimari-droa 4 isa dia mety manana sanda 10^2 na 10. Izany hoe nohamafisina ny halehiben’ny isa iarahantsika.

Andeha isika hanohy ny fanjohian-kevitra - inona no hitranga raha manana microservices 100 isika ary samy manana dikan-teny 10 azo atao? Lasa tsy mahafinaritra ny toe-javatra iray manontolo - manana permutation 10^100 isika izao - izay isa lehibe. Na izany aza, aleoko mametaka ity toe-javatra ity amin'ny fomba toy izao, satria ankehitriny isika dia tsy miafina ao ambadiky ny teny toy ny "kubernetes", fa miatrika ny olana tahaka izao.

Nahoana aho no tena variana amin'io olana io? Amin'ny ampahany satria, efa niasa teo amin'ny tontolon'ny NLP sy AI teo aloha, dia niresaka momba ny olan'ny fipoahana combinatorial izahay 5-6 taona lasa izay. Raha tokony ho dikan-teny ihany no nisy teny tsirairay, ary raha tokony ho vokatra dia nisy fehezanteny sy fehintsoratra. Ary na dia mbola tsy voavaha aza ny olan'ny NLP sy AI, dia tsy maintsy ekena fa nisy fandrosoana lehibe natao tato anatin'ny taona vitsivitsy. (raha ny hevitro dia mety hisy fandrosoanaΠΎTsara kokoa raha toa ny olona ao amin'ny indostria dia tsy miraharaha ny fianarana milina ary bebe kokoa amin'ny teknika hafa - fa efa tsy lohahevitra izany).

Andao hiverina amin'ny tontolon'ny DevOps sy microservices. Miatrika olana goavana isika, misandoka ho elefanta ao amin'ny Kunstkamera - satria ny zavatra henoko matetika dia ny hoe β€œmiala fotsiny ny kubernetes sy ny familiana, dia hilamina ny zava-drehetra!” Saingy tsia, tsy ho tsara ny zava-drehetra raha avela ho toy ny taloha ny zava-drehetra. Ambonin'izany, toa tsy azo ekena ny vahaolana analytique amin'ity olana ity noho ny fahasarotany. Tahaka ny ao amin'ny NLP, tokony hanatona an'io olana io aloha isika amin'ny alΓ lan'ny fampihenana ny sakan'ny fikarohana β€” amin'ity tranga ity, amin'ny alΓ lan'ny fanafoanana ny permutation efa lany andro.

Iray amin'ireo zavatra mety hanampy ny zavatra nosoratako tamin'ny taon-dasa momba ny ilΓ na fitazonana ny fahasamihafana kely indrindra eo amin'ireo dikan-teny navoaka ho an'ny mpanjifa. Zava-dehibe ihany koa ny manamarika fa ny fizotry ny CI/CD voalamina tsara dia manampy betsaka amin'ny fampihenana ny fiovaovana. Na izany aza, ny toe-draharaha amin'izao fotoana izao miaraka amin'ny CI/CD dia tsy ampy hamahana ny olan'ny permutation raha tsy misy fitaovana fanampiny ho an'ny kaonty sy ny fanaraha-maso ny singa.

Ny ilaintsika dia rafitra andrana amin'ny dingana fampidirana, izay ahafahantsika mamaritra ny anton-javatra mety hampidi-doza ho an'ny singa tsirairay, ary koa manana dingana mandeha ho azy amin'ny fanavaozana ny singa isan-karazany sy ny fitsapana tsy misy fitsabahan'ny mpandraharaha - hahitana izay miasa sy tsy mety.

Ny rafitra fanandramana toy izany dia mety ho toy izao:

  1. Manoratra fitsapana ny mpamorona (dingana manakiana ity - satria raha tsy izany dia tsy manana fepetra fanombanana isika - toy ny fametahana ny angona amin'ny fianarana milina).
  2. Ny singa tsirairay (tetikasa) dia mahazo ny rafitra CI manokana - efa mivoatra tsara izao dingana izao, ary ny olana amin'ny famoronana rafitra CI ho an'ny singa tokana dia voavaha amin'ny ankapobeny
  3. Ny "rafitra fampidirana marani-tsaina" dia manangona ny valin'ny rafitra CI isan-karazany ary manangona tetikasa singa ho amin'ny vokatra farany, manao fitiliana ary farany dia manao kajy ny lalana fohy indrindra hahazoana ny fampiasa vokatra tadiavina mifototra amin'ny singa efa misy sy ny loza mety hitranga. Raha tsy azo atao ny fanavaozana, ity rafitra ity dia mampahafantatra ny mpamorona momba ireo singa efa misy ary iza amin'izy ireo no mahatonga ny fahadisoana. Indray mandeha indray, ny rafitra fitsapana dia tena manan-danja eto - satria ny rafitra fampidirana dia mampiasa fitsapana ho fepetra fanombanana.
  4. Rafitra CD, izay mandray angona avy amin'ny Smart Integration System ary manatanteraka mivantana ny fanavaozana. Ity dingana ity dia mamarana ny tsingerina.

Raha fintinina, ho ahy ny iray amin'ireo olana lehibe indrindra amin'izao fotoana izao dia ny tsy fisian'ny "Smart Integration System" toy izany izay hampifandray ireo singa isan-karazany amin'ny vokatra iray ary noho izany dia ahafahanao manara-maso ny fomba atambatra ny vokatra amin'ny ankapobeny. Ho liana amin'ny eritreritr'ny vondrom-piarahamonina momba izany aho (spoiler - eo am-panaovana tetikasa aho amin'izao fotoana izao Reliza, izay mety ho lasa rafitra fampidirana marani-tsaina toy izany).

Ny zavatra farany tiako holazaina dia ny hoe, amiko, ny monolith dia tsy azo ekena amin'ny tetikasa rehetra na dia salantsalany aza. Ho ahy, ny fiezahana hanafaingana ny fotoana fampiharana sy ny kalitaon'ny fampandrosoana amin'ny fiverenana amin'ny monolith dia miteraka fisalasalana lehibe. Voalohany indrindra, ny monolith dia manana olana mitovy amin'ny fitantanana ny singa - eo amin'ireo tranomboky isan-karazany misy azy, na izany aza, izany rehetra izany dia tsy dia mibaribary loatra ary miseho voalohany indrindra amin'ny fotoana lanin'ny mpamorona. Ny vokatry ny olan'ny monolith dia ny tsy fahafahan'ny virtoaly hanova ny kaody - ary ny hafainganam-pandehan'ny fampandrosoana miadana.

Manatsara ny toe-javatra ny microservices, fa avy eo ny maritrano microservice dia miatrika olana amin'ny fipoahana combinatorial amin'ny dingana fampidirana. Eny, amin'ny ankapobeny, nafindranay ny olana mitovy amin'ny dingana fampandrosoana mankany amin'ny dingana fampidirana. Na izany aza, araka ny hevitro, ny fomba fiasa microservices dia mbola mitondra vokatra tsara kokoa, ary ny ekipa dia mahatratra vokatra haingana kokoa (mety indrindra noho ny fampihenana ny haben'ny vondrona fampandrosoana - na haben'ny batch). Na izany aza, ny fifindrana avy amin'ny monolith mankany amin'ny microservice dia tsy mbola nanatsara ny fizotrany - olana goavana ny fipoahana combinatorial amin'ny dikan-tsarimihetsika microservice, ary manana fahafahana maro hanatsara ny toe-javatra isika rehefa mamaha izany.

Source: www.habr.com

Add a comment