Remèt monolit mwen an

Li sanble ke pikwa nan battage pou mikwosèvis se dèyè nou. Nou pa li pòs ankò plizyè fwa pa semèn "Kijan mwen te deplase monolit mwen an nan 150 sèvis." Koulye a, mwen tande plis panse bon sans: "Mwen pa rayi monolit la, mwen jis pran swen sou efikasite." Nou menm obsève plizyè migrasyon soti nan microservices tounen nan monolith. Lè w ap deplase soti nan yon aplikasyon gwo nan plizyè sèvis ki pi piti, w ap oblije rezoud plizyè nouvo pwoblèm. Se pou nou lis yo kòm yon ti tan ke posib.

Anviwònman: soti nan chimi debaz nan mekanik pwopòsyon

Mete kanpe yon baz done debaz ak aplikasyon ak yon pwosesis background te yon pwosesis jistis dwat. Mwen pibliye readme a sou Github - e souvan nan yon èdtan, yon koup de èdtan nan pi plis, tout bagay ap travay epi mwen kòmanse yon nouvo pwojè. Ajoute ak kouri kòd, omwen pou anviwònman inisyal la, se fè nan premye jou. Men, si nou antre nan mikwosèvis, tan inisyal lansman an monte. Wi, kounye a nou gen Docker ak orchestration ak yon gwoup machin K8, men pou yon pwogramè inisyasyon tout bagay sa yo se pi plis konplike. Pou anpil jinyò, sa a se yon chay ki vrèman yon konplikasyon ki pa nesesè.

Sistèm nan pa fasil pou konprann

Ann konsantre nou sou junior nou pou yon ti moman. Avèk aplikasyon monolitik, si yon erè te fèt, li te fasil pou swiv li epi imedyatman deplase sou debogaj. Koulye a, nou gen yon sèvis ki ap pale ak yon lòt sèvis ki nan file yon bagay nan yon bis mesaj ki ap trete yon lòt sèvis-epi answit gen yon erè. Nou dwe mete tout moso sa yo ansanm pou evantyèlman chèche konnen ke Sèvis A ap kouri vèsyon 11, ak Sèvis E deja ap tann vèsyon 12. Sa a trè diferan de boutèy demi lit konsolide estanda mwen an: oblije sèvi ak yon tèminal entèaktif / debogaj mache. atravè pwosesis la etap pa etap. Debogaj ak konpreyansyon yo te natirèlman vin pi difisil.

Si li pa ka debogaj, petèt nou pral teste yo

Entegrasyon kontinyèl ak devlopman kontinyèl yo kounye a ap vin komen. Pifò nouvo aplikasyon mwen wè otomatikman kreye ak kouri tès ak chak nouvo lage epi mande tès yo dwe pran ak revize anvan enskripsyon an. Sa yo se gwo pwosesis ki pa ta dwe abandone epi yo te yon gwo chanjman pou anpil konpayi. Men kounye a, pou vrèman teste sèvis la, mwen oblije rale yon vèsyon konplè aplikasyon mwen an. Sonje nouvo enjenyè sa a ak gwoup K8 nan 150 sèvis? Oke, kounye a nou pral anseye sistèm CI nou an ki jan yo pote moute tout sistèm sa yo verifye ke tout bagay reyèlman ap travay. Sa a se pwobableman twòp efò, kidonk nou pral jis teste chak pati nan izolasyon: Mwen gen konfyans ke espesifikasyon nou yo bon ase, API yo pwòp, epi yon echèk sèvis izole epi yo pa pral afekte lòt moun.

Tout konpwomi gen yon bon rezon. Dwa?

Gen anpil rezon pou w ale nan microservices. Mwen te wè sa te fè pou pi gwo fleksibilite, pou monte ekip yo, pou pèfòmans, pou bay pi bon dirabilite. Men, an reyalite, nou te envesti plizyè deseni nan zouti ak pratik pou devlope monolit ki kontinye evolye. Mwen travay ak pwofesyonèl nan diferan teknoloji. Anjeneral nou pale de dekale paske yo kouri nan limit yon sèl baz done Postgres. Pifò nan konvèsasyon yo se sou dekale baz done.

Men, mwen toujou enterese nan aprann sou achitekti yo. Nan ki etap tranzisyon an nan mikwosèvis yo ye? Li enteresan pou wè plis enjenyè ki di yo kontan ak aplikasyon monolitik yo. Anpil moun pral benefisye de mikwosèvis, epi benefis yo pral depase boul yo nan chemen migrasyon an. Men, pèsonèlman, tanpri ban m aplikasyon monolitik mwen an, yon kote sou plaj la - epi mwen konplètman kontan.

Sous: www.habr.com

Add nouvo kòmantè