Iuli nako akong monolith

Ingon og ang kinapungkayan sa hype alang sa mga microservice naa sa among luyo. Wala na kami magbasa sa mga post sa daghang beses sa usa ka semana "Giunsa nako pagbalhin ang akong monolith sa 150 nga mga serbisyo." Karon nakadungog ako og mas komon nga mga hunahuna: "Wala ko gidumtan ang monolith, nag-atiman lang ako sa pagkaepisyente." Naobserbahan pa gani namo ang pipila ka mga paglalin gikan sa microservices balik sa monolith. Kung mobalhin gikan sa usa ka dako nga aplikasyon ngadto sa daghang gagmay nga mga serbisyo, kinahanglan nimo nga sulbaron ang daghang mga bag-ong problema. Atong ilista sila sa mubo kutob sa mahimo.

Setting: gikan sa batakang chemistry hangtod sa quantum mechanics

Ang pagpahimutang sa usa ka sukaranan nga database ug aplikasyon nga adunay proseso sa background usa ka yano nga proseso. Gipatik nako ang readme sa Github - ug kanunay pagkahuman sa usa ka oras, labing kadaghan nga duha ka oras, molihok ang tanan, ug magsugod ako usa ka bag-ong proyekto. Ang pagdugang ug pagpadagan sa code, labing menos alang sa inisyal nga palibot, gihimo sa unang adlaw. Apan kung mangahas kita sa mga microservice, ang una nga oras sa paglansad motaas. Oo, karon kami adunay Docker nga adunay orkestra ug usa ka kumpol sa K8 nga mga makina, apan alang sa usa ka bag-ong programmer ang tanan nga kini labi ka komplikado. Alang sa daghang mga junior, kini usa ka palas-anon nga sa tinuud usa ka wala kinahanglana nga komplikasyon.

Ang sistema dili sayon ​​​​sabton

Tutokon ta kadiyot sa atong junior. Uban sa monolithic nga mga aplikasyon, kung adunay usa ka sayup nga nahitabo, dali nga masubay kini ug dayon magpadayon sa pag-debug. Karon kami adunay usa ka serbisyo nga nakigsulti sa lain nga serbisyo nga naglinya sa usa ka butang sa usa ka bus nga mensahe nga nagproseso sa lain nga serbisyo - ug pagkahuman adunay usa ka sayup. Kinahanglan natong ibutang ang tanan niini nga mga piraso aron sa katapusan mahibal-an nga ang Service A nagpadagan sa bersyon 11, ug ang Service E naghulat na sa bersyon 12. Kini lahi kaayo sa akong standard consolidated log: kinahanglang mogamit ug interactive terminal/debugger aron makalakaw. pinaagi sa proseso sa lakang sa lakang. Ang pag-debug ug pagsabot sa kinaiyanhon nahimong mas lisud.

Kung dili ma-debug, basin ato silang sulayan

Ang padayon nga panagsama ug padayon nga pag-uswag nahimo na karon nga kasagaran. Kadaghanan sa mga bag-ong apps nga akong nakita awtomatik nga naghimo ug nagpadagan sa mga pagsulay sa matag bag-ong pagpagawas ug nanginahanglan mga pagsulay nga kuhaon ug susihon sa dili pa magparehistro. Nindot kini nga mga proseso nga dili angay biyaan ug nahimo’g dako nga pagbalhin alang sa daghang mga kompanya. Apan karon, aron masulayan gyud ang serbisyo, kinahanglan nako nga makuha ang usa ka bug-os nga nagtrabaho nga bersyon sa akong aplikasyon. Hinumdomi kanang bag-ong inhenyero nga adunay K8 cluster sa 150 ka serbisyo? Aw, karon tudloan namo ang among CI system kung giunsa pagpataas ang tanan nga kini nga mga sistema aron mapamatud-an nga molihok gyud ang tanan. Lagmit kaayo kini nga paningkamot, mao nga sulayan lang namo ang matag bahin sa pag-inusara: Masaligon ako nga ang among mga specs maayo kaayo, ang mga API limpyo, ug ang usa ka kapakyasan sa serbisyo nahimulag ug dili makaapekto sa uban.

Ang tanang pagkompromiso adunay maayong rason. Husto?

Adunay daghang mga hinungdan sa pagbalhin sa microservices. Nakita nako kini nga gihimo alang sa labi ka dali nga pagka-flexible, alang sa mga scaling team, para sa pasundayag, aron mahatagan ang labi ka maayo nga pagpadayon. Apan sa pagkatinuod, kami namuhunan sa mga dekada sa mga himan ug mga buhat sa pagpalambo sa monoliths nga nagpadayon sa evolve. Nagtrabaho ko sa mga propesyonal sa lainlaing mga teknolohiya. Kanunay kaming maghisgot bahin sa pag-scale tungod kay nagdagan sila sa mga limitasyon sa usa ka node sa database sa Postgres. Kadaghanan sa mga panag-istoryahanay mahitungod sa pag-scale sa database.

Apan kanunay kong interesado nga makat-on bahin sa ilang arkitektura. Unsang yugto sa pagbalhin ngadto sa mga microservice naa sila? Makapainteres nga makita ang daghang mga inhenyero nga nag-ingon nga nalipay sila sa ilang monolithic nga aplikasyon. Daghang mga tawo ang makabenepisyo gikan sa mga microservice, ug ang mga benepisyo mas labaw pa sa mga bumps sa dalan sa paglalin. Apan sa personal, palihug hatagi ako sa akong monolithic nga aplikasyon, usa ka lugar sa baybayon - ug ako hingpit nga malipayon.

Source: www.habr.com

Idugang sa usa ka comment