Microservices: ihe ha bụ, ihe kpatara ha ji dị na mgbe a ga-emejuputa ha

Achọrọ m ide akụkọ banyere isiokwu nke microservice architecture ruo ogologo oge, ma ihe abụọ nọgidere na-akwụsị m - ka m na-abanyekwu n'ime isiokwu ahụ, ọ na-adị m ka ihe m maara bụ ihe doro anya, na ihe m na-emeghị' t know kwesịrị ka a mụọ na mụọ. N'aka nke ọzọ, echere m na ọ dịlarị ihe a ga-atụle n'etiti ọtụtụ ndị na-ege ntị. Ya mere, anabata echiche ndị ọzọ.

Iwu Conway na mmekọrịta dị n'etiti azụmahịa, nhazi na usoro ozi

Ka m kwuo okwu ọzọ:

"Nzukọ ọ bụla nke chepụtara sistemụ (n'ụzọ sara mbara) ga-enweta nhazi nke usoro ya na-emegharị usoro nke otu dị na nzukọ ahụ."
Melvyn Conway, 1967

N'uche nke m, iwu a yikarịrị ka ọ ga-emetụta ike nke ịhazi azụmahịa, kama na usoro ozi ozugbo. Ka m were ihe atụ kọwaa. Ka anyị kwuo na anyị nwere a pụtara ike azụmahịa ohere na a ndụ okirikiri nke ndị dị otú ahụ ogologo na ọ na-eme ka uche hazie ihe enterprise (nke a abụghị a typo, ma m n'ezie mmasị okwu a na m zuru). ga-ahazi na usoro kwekọrọ na azụmahịa a.

Usoro azụmahịa nke usoro ozi

Microservices: ihe ha bụ, ihe kpatara ha ji dị na mgbe a ga-emejuputa ha

Ka m were ihe atụ kọwaa. Ka anyị kwuo na enwere ohere azụmahịa iji hazie azụmahịa na-ere Pizza. Na ụdị V1 (ka anyị kpọọ ya tupu ozi), ụlọ ọrụ ahụ bụ pizzeria, akwụkwọ ndekọ ego, na ọrụ nnyefe. Ụdị a dị ogologo ndụ n'ọnọdụ nke mgbanwe gburugburu ebe obibi dị ala. Mgbe ahụ mbipute 2 bịara dochie ya - nke dị elu karịa ma nwee ike iji usoro ozi na isi ya maka azụmahịa na ụlọ ọrụ monolithic. Na ebe a, n'uche nke m, enwere ikpe na-ezighị ezi dị egwu n'ihe metụtara monoliths - Eboro ebubo monolithic architecture adịghị adabara ụdị azụmaahịa ngalaba. Ee, ọ bụrụ na nke a dị otú ahụ, usoro ahụ agaghị enwe ike ịrụ ọrụ ma ọlị - na-emegide otu iwu Conway na ezi uche. Ee e, monolithic architecture bụ n'ụzọ zuru ezu na-agbanwe agbanwe na azụmahịa ụdị n'oge a nke azụmahịa mmepe - M, n'ezie, pụtara ogbo mgbe usoro e-ama na-etinye n'ime ọrụ. Ọ bụ eziokwu magburu onwe ya na n'agbanyeghị usoro ụkpụrụ ụlọ, ma ụdị ụlọ ọrụ na-adabere na 3 na ụdị microservices architecture N ga-arụ ọrụ nke ọma. Gịnị bụ nwude?

Ihe niile na-aga, ihe niile na-agbanwe, ka ọ bụ microservices bụ ụzọ isi luso mgbagwoju anya ọgụ?

Tupu anyị aga n'ihu, ka anyị leba anya n'echiche na-ezighi ezi gbasara ụlọ ọrụ microservice.

Ndị na-akwado iji usoro microservice na-arụkarị ụka na imebi monolith n'ime microservices na-eme ka usoro mmepe dị mfe site na ibelata ntọala koodu nke ọrụ onye ọ bụla. N'uche nke m, nkwupụta a bụ nzuzu zuru oke. N'ezie, mmekọrịta doro anya n'ime koodu monolith na otu ụdị yiri mgbagwoju anya? Ọ bụrụ na nke a bụ eziokwu, a ga-ebu ụzọ wuo ọrụ niile dị ka microservices, ebe omume na-egosi na ịkwaga site na monolith gaa na microservices bụ ihe a na-ahụkarị. Mgbagwoju anya anaghị apụ apụ; ọ na-esi na modul nke ọ bụla gaa n'ihu (ma ọ bụ ụgbọ ala data, RPC, APIs, na protocols ndị ọzọ) na sistemụ nhazi. Na nke a siri ike!

A na-enyokwa enyo uru dị n'iji nchịkọta dị iche iche. Agaghị m arụ ụka na nke a nwekwara ike ime, ma n'eziokwu, ọ na-adịkarịghị eme (Na-ele anya n'ihu - nke a kwesịrị ime - kama ọ ga-esi na ya pụta karịa uru).

Usoro ndụ ngwaahịa na okirikiri ndụ ọrụ

Lee anya ọzọ na eserese dị n'elu. Ọ bụghị ihe ndaba na m kwuru na mbelata ndụ okirikiri nke a iche iche version nke azụmahịa - na oge a ọnọdụ, ọ bụ acceleration nke mgbanwe nke azụmahịa n'etiti nsụgharị bụ bụrụkwa maka ya ịga nke ọma. A na-ekpebi ihe ịga nke ọma nke ngwaahịa site na ọsọ nke ịnwale echiche azụmahịa na ya. Na ebe a, n'uche nke m, bụ isi uru nke microservice architecture. Ma ka anyị gaa n'usoro.

Ka anyị gaa n'ihu na ọkwa na-esote na mmalite nke sistemụ ozi - na ụlọ ọrụ na-arụ ọrụ nke SOA. Yabụ, n'oge ụfọdụ anyị gosipụtara na ngwaahịa anyị ogologo ọrụ ndụ - ogologo ndụ n'echiche na mgbe ị na-agagharị n'etiti nsụgharị nke ngwaahịa, enwere ohere na usoro ndụ nke ọrụ ahụ ga-adị ogologo karịa oge ndụ nke ụdị ngwaahịa ọzọ. Ọ ga-abụ ihe ezi uche dị na ya ịghara ịgbanwe ha ma ọlị - anyị Ihe dị mkpa bụ ọsọ nke mgbanwe na nsụgharị ọzọ. Ma Ewoo, a na-amanye anyị ime mgbanwe mgbe niile na ọrụ - na ebe a ihe niile na-arụ ọrụ maka anyị, DevOps omume, containerization, na na - ihe niile na-abata n'uche. Mana ndị a abụghị obere ọrụ!

Microservices dị ka ụzọ iji luso mgbagwoju anya... nhazi nhazi

Na ebe a anyị nwere ike mechaa gaa n'ihu na-akọwa ọrụ nke microservices - nke a bụ ụzọ na-eme ka njikwa nhazi ngwaahịa dị mfe. Na nkọwa ndị ọzọ, ọrụ nke microservice ọ bụla na-akọwa kpọmkwem ọrụ azụmahịa dị n'ime ngwaahịa ahụ dị ka ụdị ngalaba - na ihe ndị a bụ ihe ndị na-adịghị adị ndụ na obere oge, ma na ohere azụmahịa dị ogologo. Na mgbanwe na-esote version nke ngwaahịa na-eme n'ụzọ nkịtị-adịghị ahụta - ị na-agbanwe / tinye otu microservice, na ikekwe naanị atụmatụ nke ha mmekọrịta, na mberede, ị ga-ahụ onwe gị n'ọdịnihu, na-ahapụ n'azụ akwa asọmpi ndị nọgidere na-awụlikwa elu n'etiti nsụgharị nke. monolith ha. Ugbu a were ya na enwere nnukwu nnukwu ọrụ microservices nwere oghere akọpụtagoro na ikike azụmaahịa. Ị bịakwara wuo usoro nke ngwaahịa gị site na microservices emebere ya - naanị site na ịse eserese, dịka ọmụmaatụ. Ekele - ị nwere ikpo okwu - ma ugbu a ị nwere ike ịdọta azụmahịa maka onwe gị. Nrọ nrọ.

Nchoputa

  • Ekwesịrị ikpebi ihe owuwu nke usoro ahụ site na okirikiri ndụ nke akụkụ ya. Ọ bụrụ na akụrụngwa na-ebi n'ime ụdị ngwaahịa, ọ nweghị uru ọ bara n'ịbawanye mgbagwoju anya nke usoro ahụ site na iji usoro microservice.
  • Microservice architecture kwesịrị ịdabere na ụdị ngalaba - n'ihi na ohere azụmahịa bụ ngalaba kacha dịrị ndụ
  • Omume nnyefe (omume DevOps) na orchestration bụ otu n'ime ihe kachasị mkpa maka ụlọ ọrụ microservice - n'ihi na mmụba nke mgbanwe mgbanwe nke akụrụngwa na-eme ka a na-achọ ngwa ngwa na ịdị mma nke nnyefe.

isi: www.habr.com

Tinye a comment