Ndidzoserei monolith yangu

Zvinoita sekunge iyo yepamusoro yehype yemicroservices iri kumashure kwedu. Isu hatichaverenge zvinotumirwa kakawanda pasvondo "Mafambiro andakaita monolith yangu kumasevhisi zana nemakumi mashanu." Iye zvino ndinonzwa pfungwa dzine njere: "Ini handivenge monolith, ndinongoda nezvekuita basa." Takatoona kutama kwakati wandei kubva ku microservices kudzokera ku monolith. Paunenge uchifamba kubva kune imwe hombe application kuenda kune akawanda madiki masevhisi, iwe uchafanirwa kugadzirisa akati wandei matambudziko. Ngatinyorei muchidimbu sezvinobvira.

Kugadzika: kubva kune yakakosha chemistry kusvika kuquantum mechanics

Kumisikidza dhatabhesi rekutanga uye kushandisa nemaitiro ekumashure yaive nzira yakatwasuka. Ini ndinoburitsa iyo yekuverenga paGithub - uye kazhinji mukati meawa, maawa akati wandei zvakanyanya, zvese zvinoshanda uye ini ndinotanga chirongwa chitsva. Kuwedzera uye kumhanya kodhi, zvirinani kune yekutanga nharaunda, inoitwa pazuva rekutanga. Asi kana tikapinda mumamicroservices, nguva yekutanga yekutanga inokwira. Ehe, ikozvino isu tine Docker ine orchestration uye sumbu remichina yeK8, asi kune anovice programmer zvese izvi zvakanyanya kuomarara. Kune vadiki vazhinji, uyu mutoro unenge usingakoshi.

Iyo system haisi nyore kunzwisisa

Ngatitarisei kuna junior wedu kwekanguva. Ne monolithic application, kana kukanganisa kwakaitika, zvaive nyore kuitsvaga pasi uye nekukasira kuenderera kune debugging. Iye zvino tave nesevhisi iri kutaura kune imwe sevhisi iri kumisa chimwe chinhu mubhazi remeseji iri kugadzirisa imwe sevhisi- uyezve paita chikanganiso. Tinofanira kuisa zvidimbu zvose izvi pamwe chete kuti tizoziva kuti Service A iri kushanda shanduro 11, uye Service E yakatomirira shanduro 12. Izvi zvakasiyana zvikuru kubva pane yangu standard consolidated log: kushandisa shanduro inopindirana / debugger kufamba. kuburikidza nekuita nhanho nhanho. Kugadzirisa uye kunzwisisa kwave kwakaoma zvakanyanya.

Kana zvisingakwanisi kugadziriswa, pamwe tichavaedza

Kubatanidzwa kunoenderera mberi uye kuenderera mberi kwekusimudzira zvino zvave kuitika. Mazhinji mapurogiramu matsva andinoona anogadzira otomatiki uye anomhanyisa bvunzo nekuburitswa kutsva kwega kwega uye anoda kuti bvunzo dzitorwe uye dziongororwe dzisati dzanyoreswa. Aya maitiro makuru asingafanirwe kusiiwa uye anga ari shanduko huru kumakambani mazhinji. Asi ikozvino, kuti ndinyatso kuyedza sevhisi, ndinofanira kudhonza yakazara vhezheni yekushanda yangu. Rangarira iyo injiniya nyowani ine K8 cluster ye150 masevhisi? Zvakanaka, ikozvino tichadzidzisa yedu CI system maitiro ekuunza ese aya masisitimu kuti aone kuti zvese zvinoshanda chaizvo. Uku kungangove kushanda nesimba, saka tichangoyedza chikamu chega chega tiri toga: Ndine chivimbo chekuti mafungidziro edu akakwana, maAPI akachena, uye kutadza kwesevhisi kwakaparadzaniswa uye hakuzokanganisa vamwe.

Kubvumirana kwese kune chikonzero chakanaka. Rudyi?

Pane zvikonzero zvakawanda zvekutamira kune microservices. Ndakaona izvi zvichiitirwa kuchinjika kukuru, kukwirisa zvikwata, kuita basa, kupa kusimudzira kurinani. Asi muchokwadi, takadyara makumi emakore muzvishandiso uye maitiro ekugadzira monoliths inoramba ichishanduka. Ndinoshanda nenyanzvi mune akasiyana matekinoroji. Isu tinowanzo kutaura nezve kuyera nekuti ivo vanomhanya mumiganho yeimwe Postgres dhatabhesi node. Hurukuro zhinji dziri pamusoro dhatabhesi kuwedzera.

Asi ini ndinogara ndichifarira kudzidza nezve mavakirwo avo. Ndeipi nhanho yeshanduko kuenda kumamicroservices yavave? Zvinonakidza kuona mainjiniya akawanda vachiti vari kufara nekushandisa kwavo monolithic. Vanhu vazhinji vanozobatsirwa nemamicroservices, uye mabhenefiti anodarika mabumps munzira yekutama. Asi pachangu, ndapota ndipei yangu monolithic application, nzvimbo pamhenderekedzo yegungwa - uye ndinofara chose.

Source: www.habr.com

Voeg