Kev xaiv ntawm architectural style (Part 3)

Nyob zoo, Habr. Niaj hnub no kuv txuas ntxiv cov ntawv tshaj tawm uas kuv tau sau tshwj xeeb rau kev pib ntawm cov kwj tshiab ntawm chav kawm. "Software Architect".

Taw qhia

Kev xaiv ntawm architectural style yog ib qho ntawm cov kev txiav txim siab tseem ceeb thaum tsim cov ntaub ntawv. Nyob rau hauv cov kab lus no, kuv tawm tswv yim los txheeb xyuas cov qauv kev tsim vaj tsev nrov tshaj plaws rau kev siv lub tsev thiab teb cov lus nug ntawm seb qhov twg yog qhov zoo tshaj plaws architectural style. Nyob rau hauv tus txheej txheem ntawm kev nthuav qhia, kuv yuav sim kos ib lub laj thawj uas piav qhia txog kev txhim kho cov qauv vaj tsev ntawm monoliths mus rau microservices.

Lub sijhawm dhau los peb tau tham txog ntau hom monoliths thiab siv cov khoom siv los tsim lawv, ob qho tib si tsim cov khoom siv thiab cov khoom xa tawm. Peb nkag siab txog kev pabcuam-oriented architecture.

Tam sim no peb yuav thaum kawg txhais cov yam ntxwv tseem ceeb ntawm microservice architecture.

Kev sib raug zoo ntawm architectures

Nws yog ib qho tsim nyog kom nkag siab tias raws li cov lus txhais tau hais hauv cov lus dhau los, ib qho kev pabcuam yog ib feem, tab sis tsis yog txhua qhov kev pabcuam yog microservice.

Cov yam ntxwv ntawm Microservice Architecture

Cov yam ntxwv tseem ceeb ntawm microservice architecture yog:

  • Npaj ib ncig ntawm Kev Lag Luam Muaj Peev Xwm
  • Cov khoom tsis yog Projects
  • Smart endpoints thiab dump kav
  • Decentralized Kev Tswj Xyuas
  • Decentralized Data Management
  • Infrastructure Automation
  • Tsim rau kev ua tsis tiav
  • Architecture nrog evolutionary txoj kev loj hlob (Evolutionary Design)

Lub ntsiab lus thib 1 yog los ntawm kev pabcuam-taw qhia txog kev tsim qauv vim tias microservices yog qhov tshwj xeeb ntawm cov kev pabcuam. Lwm cov ntsiab lus tsim nyog rau kev txiav txim siab.

Npaj ib ncig ntawm Kev Lag Luam Muaj Peev Xwm

Tam sim no nws yog ib qho tsim nyog yuav tsum nco ntsoov Conway txoj cai: cov koom haum uas tsim cov txheej txheem tsim nws cov architecture, luam cov qauv ntawm kev sib cuam tshuam hauv cov koom haum no. Raws li ib qho piv txwv, peb tuaj yeem nco qab cov ntaub ntawv ntawm kev tsim ib lub compiler: ib pab neeg ntawm xya tus neeg tsim ib tug xya-pass compiler, thiab ib pab neeg ntawm tsib tau tsim ib tug tsib-pass compiler.

Yog tias peb tab tom tham txog monoliths thiab microservices, yog tias kev txhim kho tau teeb tsa los ntawm cov haujlwm ua haujlwm (backend, frontend, database administrator), ces peb tau txais ib qho classic monolith.

Yuav kom tau txais microservices, pawg yuav tsum tau teeb tsa los ntawm kev muaj peev xwm ua lag luam (kev txiav txim, kev xa khoom, pab pawg catalog). Lub koom haum no yuav tso cai rau pab pawg tsom mus rau kev tsim cov ntu tshwj xeeb ntawm daim ntawv thov.

Cov khoom tsis yog Projects

Ib txoj hauv kev uas ib pab neeg hloov pauv qhov kev tsim ua haujlwm rau lwm pab pawg yog qhov tsis tsim nyog kiag li nyob rau hauv cov ntaub ntawv ntawm microservice architecture. Pab neeg no yuav tsum txhawb nqa qhov system thoob plaws hauv nws lub neej. Amazon, ib tus thawj coj hauv kev siv microservices, hais tias: "koj tsim, koj khiav nws." Cov khoom mus kom ze tso cai rau pab neeg xav tau cov kev xav tau ntawm kev lag luam.

Smart endpoints thiab dump kav

SOA architecture tau mloog zoo rau cov kev sib txuas lus, tshwj xeeb tshaj yog Enterprise Service Bus. Uas feem ntau ua rau Erroneous Spaghetti Box, uas yog, qhov nyuaj ntawm lub monolith hloov mus rau qhov nyuaj ntawm kev sib txuas ntawm cov kev pabcuam. Microservice architecture tsuas yog siv txoj kev sib txuas lus yooj yim xwb.

Decentralized Kev Tswj Xyuas

Cov kev txiav txim siab tseem ceeb ntawm microservices yuav tsum tau ua los ntawm cov neeg uas tsim cov microservices tiag tiag. Ntawm no, kev txiav txim siab tseem ceeb txhais tau tias kev xaiv
programming languages, deployment methodology, public interface cog lus, thiab lwm yam.

Decentralized Data Management

Tus txheej txheem mus kom ze, nyob rau hauv uas daim ntawv thov cia siab rau ib tug database, tsis tuaj yeem coj mus rau hauv tus account qhov tshwj xeeb ntawm txhua qhov kev pabcuam tshwj xeeb. MSA suav nrog kev tswj hwm cov ntaub ntawv, suav nrog kev siv ntau yam thev naus laus zis.

Infrastructure Automation

MSA txhawb nqa kev xa mus tas li thiab cov txheej txheem xa khoom. Qhov no tsuas yog ua tiav los ntawm automating txheej txheem. Nyob rau tib lub sijhawm, kev xa tawm ntau cov kev pabcuam tsis zoo li ib yam dab tsi txaus ntshai. Cov txheej txheem xa tawm yuav tsum dhau los ua qhov tho txawv. Qhov thib ob yog hais txog kev tswj kev pabcuam hauv ib puag ncig khoom. Yog tsis muaj automation, tswj cov txheej txheem khiav hauv qhov chaw ua haujlwm sib txawv ua tsis tau.

Tsim rau kev ua tsis tiav

Ntau qhov kev pabcuam MSA yog qhov ua tsis tiav. Nyob rau tib lub sijhawm, kev ua yuam kev hauv kev faib tawm tsis yog ib txoj haujlwm tseem ceeb. Daim ntawv thov architecture yuav tsum muaj zog rau cov kev ua tsis tiav. Rebecca Parsons xav tias nws yog ib qho tseem ceeb heev uas peb tsis txawm siv kev sib txuas lus ntawm cov kev pabcuam ntxiv lawm; hloov, peb siv HTTP rau kev sib txuas lus, uas tsis yog ze li kev ntseeg siab.

Architecture nrog evolutionary txoj kev loj hlob (Evolutionary Design)

Lub architecture ntawm MSA system yuav tsum tsim evolutionarily. Nws raug nquahu kom txwv qhov tsim nyog hloov pauv rau thaj tsam ntawm ib qho kev pabcuam. Kev cuam tshuam rau lwm yam kev pabcuam yuav tsum raug coj mus rau hauv tus account. Txoj hauv kev ib txwm muaj yog sim daws qhov teeb meem no nrog kev hloov kho, tab sis MSA qhia tias siv versioning hauv
raws li qhov chaw kawg.

xaus

Tom qab tag nrho cov saum toj no, peb tuaj yeem tsim qhov microservices yog dab tsi. Microservice architecture yog ib txoj hauv kev los tsim ib daim ntawv thov raws li kev sau ntawm cov kev pabcuam me me, txhua tus khiav hauv nws tus kheej cov txheej txheem thiab cuam tshuam los ntawm cov txheej txheem sib sib zog nqus, feem ntau HTTP cov peev txheej API. Cov kev pabcuam no tau tsim los ntawm kev muaj peev xwm ua lag luam thiab tuaj yeem siv nws tus kheej siv tag nrho
automated deployment mechanism. Muaj qhov tsawg kawg nkaus ntawm kev tswj hwm hauv nruab nrab ntawm cov kev pabcuam no, uas tuaj yeem sau ua hom lus sib txawv thiab siv cov ntaub ntawv sib txawv khaws cov thev naus laus zis.

Kev xaiv ntawm architectural style (Part 3)

Nyeem ntu 2

Tau qhov twg los: www.hab.com

Ntxiv ib saib