Ho khetha mokhoa oa ho aha (karolo ea 2)

Lumela, Habr. Kajeno ke tsoela pele letoto la likhatiso tseo ke li ngotseng ka ho khetheha bakeng sa ho qala mokhoa o mocha oa thupelo. "Software Architect".

Selelekela

Khetho ea setaele sa meralo ke e 'ngoe ea liqeto tsa mantlha tsa tekheniki ha u theha sistimi ea tlhahisoleseling. Letotong lena la lingoloa, ke sisinya ho sekaseka mekhoa ea meralo e tsebahalang haholo bakeng sa lits'ebetso tsa moaho le ho araba potso ea hore na ke setaele sefe sa meralo se ratoang haholo. Ha ke ntse ke fana ka tlhahiso, ke tla leka ho hula ketane e utloahalang e hlalosang tsoelo-pele ea mekhoa ea meralo ho tloha monoliths ho ea ho microservices.

В lekhetlo la ho qetela re ile ra sebetsana le monolith 'me ra fihlela qeto ea hore monolith e na le mathata a mangata: boholo, khokahanyo, ho tsamaisoa, scalability, ho tšepahala le ho tiea.

Lekhetlong lena ke fana ka maikutlo a ho bua ka menyetla ea ho hlophisa tsamaiso e le sehlopha sa li-modules / lilaebrari (mehaho e itšetlehileng ka karolo) kapa litšebeletso (mohaho o itšetlehileng ka litšebeletso).

Meaho e shebaneng le likarolo

Mehaho e itšetlehileng ka likarolo e kenyelletsa ho phethahatsa tsamaiso e le sehlopha sa likarolo tse ka sebelisoang mererong ea hona joale le ea nakong e tlang. Ha ho qhaqha tsamaiso ka likaroloana, tse latelang li hlokomeloa: ho sebelisoa hape, ho fetoha ha tsona, ho ikemela ha moelelo, ho atolosa, ho kenyelletsa le ho ikemela.

Ka tšebeliso e nepahetseng ea likarolo, bothata ba "bolo e kholo ea litšila" (boholo bo boholo + ho kopanya ho phahameng) bo rarolloa, 'me likarolo ka boeona e ka ba lihlopha tsa kopano (li-module, lilaebrari) le lihlopha tsa ho tsamaisa (litšebeletso). Likarolo tsa thomello ha se kamehla li etsoang 'mapeng mabapi le ts'ebetso ea ts'ebetso: mohlala, ts'ebeliso ea marang-rang le database li sebelisoa hammoho.

Hangata, li-monoliths li hlahisoa e le sete ea li-module. Mokhoa ona o lebisa ho nts'etsopele e ikemetseng, empa mathata a ho ikemela le ho romelloa ho ikemetseng, ho mamellana ha liphoso le ho ikemela ho tloha ka kakaretso ea theknoloji e ntse e le teng. Ke ka lebaka leo mojule e leng karolo e ikemetseng.

Bothata bo boholo ka monolith e joalo ke hore karohano ea li-module e na le mabaka a utloahalang 'me e ka senyeha habonolo ke bahlahisi. Ho ka 'na ha hlaha module ea mantlha, eo butle-butle e fetohang thotobolo ea lithōle, graph ea ho itšetleha pakeng tsa li-module e ka hōla, joalo-joalo. E le ho qoba mathata a joalo, tsoelo-pele e lokela ho etsoa ke sehlopha se hōlileng haholo, kapa tlas'a tataiso ea "moetsi oa meralo" ea sebetsanang le tlhahlobo ea nako e tletseng ea khoutu le ho otla matsoho a bahlahisi ba tlōlang mohaho o utloahalang.

"Ideal" monolith ke sete sa li-module tse arohaneng ka mokhoa o utloahalang, tseo e 'ngoe le e 'ngoe e shebaneng le polokelong ea eona.

Mehaho e shebaneng le litšebeletso

Haeba tsamaiso e lokela ho hlophisoa ka mokhoa oa sete sa litšebeletso, joale re bua ka mohaho o sebetsanang le litšebeletso. Melao-motheo ea eona ke tšebelisano-'moho ea ts'ebeliso ea basebelisi, ts'ebeliso ea lits'ebeletso tsa khoebo hape, boikemelo ba botekgeniki, le boikemelo (tlhaboloho e ikemetseng, scalability, le ho tsamaisoa).

Mehaho e sebetsanang le litšebeletso (SOA = meralo e shebaneng le litšebeletso) e rarolla mathata ohle a khetholloang a monolith: tšebeletso e le 'ngoe feela e ameha ha phetoho e etsahala,' me API e hlalositsoeng hantle e tšehetsa ho kenyelletsa hantle ha likarolo.

Empa ha se ntho e 'ngoe le e' ngoe e bonolo haholo: SOA e baka mathata a macha. Mehala ea hole e bitsa chelete e ngata ho feta ea lehae, 'me ho arola bocha boikarabello lipakeng tsa likarolo ho se ho turu haholo.

Ka tsela, monyetla oa ho tsamaisoa ka boithaopo ke tšobotsi ea bohlokoa haholo ea tšebeletso. Haeba litšebeletso li tlameha ho sebelisoa hammoho kapa, ho feta moo, ka tatellano e itseng, joale tsamaiso e ke ke ea nkoa e le ea litšebeletso. Tabeng ena, ba bua ka monolith e ajoang (e nkiloeng e le anti-pattern eseng feela ho tloha ponong ea SOA, empa hape le ponong ea meralo ea microservice).

Mehaho e shebaneng le litšebeletso e tšehetsoa hantle ke sechaba sa meralo le barekisi. Sena se bolela ho ba teng ha lithuto tse ngata le litifikeiti, mekhoa e ntlafalitsoeng hantle. Ea ho qetela e kenyelletsa, mohlala, bese e tsebahalang ea lits'ebeletso tsa khoebo (ESB = bese ea litšebeletso tsa khoebo). Ka nako e ts'oanang, ESB ke thoto e tsoang ho barekisi; ha ho hlokahale hore e sebelisoe ho SOA.

Botumo ba meaho e shebaneng le lits'ebeletso bo ile ba fihla sehlohlolong ho pota 2008, kamora moo e ile ea qala ho theoha, e ileng ea ba e makatsang haholo kamora ho fihla ha li-microservices (~2015).

fihlela qeto e

Kamora hore re buisane ka menyetla ea ho hlophisa lits'ebetso tsa tlhaiso-leseling ka mokhoa oa lits'ebeletso le li-module, ke etsa tlhahiso ea hore qetellong re fetele ho melao-motheo ea meralo ea microservice mme re ele hloko ka ho khetheha phapang lipakeng tsa meralo ea microservice le meaho e shebaneng le litšebeletso karolong e latelang.

Ho khetha mokhoa oa ho aha (karolo ea 2)

Source: www.habr.com

Eketsa ka tlhaloso