Microservices - mgbawa mgbawa nke nsụgharị

Ndewo, Habr! M na-egosi gị ntụgharị edemede nke onye edemede Microservices – Mgbawa nke ụdịdị dị iche iche.
Microservices - mgbawa mgbawa nke nsụgharị
N'oge ụwa IT na-eji nwayọọ nwayọọ na-aga n'ihu na microservices na ngwá ọrụ dị ka Kubernetes, naanị otu nsogbu na-aghọwanye nke a na-ahụ anya. Nsogbu a - mgbawa nke combinatorial ụdị microservice. N'agbanyeghị nke ahụ, ndị obodo IT kwenyere na ọnọdụ dị ugbu a ka mma karịa "Ndabere ala mmụọ" ọgbọ gara aga nke nkà na ụzụ. Agbanyeghị, mbipụta microservices bụ nsogbu dị mgbagwoju anya. Otu ihe akaebe nke a nwere ike ịbụ akụkọ dị ka "Nyeghachi m monolith m".

Ọ bụrụ na ị ka ghọtaghị nsogbu ahụ site n'ịgụ ederede a, ka m kọwaa ya. Ka anyị kwuo na ngwaahịa gị nwere ọrụ microservice iri. Ugbu a, ka anyị were na ewepụtara ụdị ọhụrụ 10 maka nke ọ bụla n'ime microservices ndị a. Naanị ụdị 1 - Enwere m olileanya na anyị niile nwere ike ikweta na nke a bụ eziokwu na-enweghị isi na enweghị isi. Ugbu a, Otú ọ dị, ka anyị lebakwuo anya na ngwaahịa anyị. Naanị otu ụdị ọhụrụ nke akụrụngwa ọ bụla, anyị nwere ugbu a 1^2 - ma ọ bụ 10 permutations nke otu esi emepụta ngwaahịa anyị.

Ọ bụrụ na ọ ka nwere nghọtahie, ka m kwatuo mgbakọ na mwepụ. Yabụ na anyị nwere microservice 10, nke ọ bụla na-anata otu mmelite. Ya bụ, anyị na-enweta ụdị 2 ga-ekwe omume maka microservice ọ bụla (ma ochie ma ọ bụ nke ọhụrụ). Ugbu a, maka akụkụ ngwaahịa ọ bụla, anyị nwere ike iji nke ọ bụla n'ime ụdị abụọ a. Na mgbakọ na mwepụ, ọ bụ otu ihe ahụ ka a ga-asị na anyị nwere ọnụọgụ ọnụọgụ abụọ nke nkeji iri. Dịka ọmụmaatụ, ka anyị kwuo na 10 bụ nsụgharị ọhụrụ, na 1 bụ nsụgharị ochie - mgbe ahụ, enwere ike ịkọwapụta otu ikike dị ka 0 - ebe a na-emelite akụkụ nke mbụ na nke anọ, na ndị ọzọ niile adịghị. Site na mgbakọ na mwepụ anyị maara na ọnụọgụ ọnụọgụ abụọ nke 1001000000 nwere ike inwe ụkpụrụ 1^4 ma ọ bụ 10. Ya bụ, anyị akwadola ọnụ ọgụgụ nke ọnụ ọgụgụ anyị na-emekọ ihe.

Ka anyị gaa n'ihu n'echiche anyị - gịnị ga-eme ma ọ bụrụ na anyị nwere 100 microservices na nke ọ bụla nwere ụdị 10 ga-ekwe omume? The dum ọnọdụ na-aghọ nnọọ wetara - anyị nwere ugbu a 10 ^ 100 permutations - nke bụ a nnukwu ọnụ ọgụgụ. Otú ọ dị, m na-ahọrọ ịkpọ aha ọnọdụ a n'ụzọ dị otú a, n'ihi na ugbu a, anyị anaghịzi ezo n'azụ okwu dị ka "kubernetes", kama na-eche nsogbu ahụ ihu dị ka ọ dị.

Gịnị mere nsogbu a ji masị m? Otu akụkụ n'ihi na, ebe ọ rụburu ọrụ na ụwa NLP na AI, anyị tụlere nsogbu nke mgbawa combinatorial ihe dị ka afọ 5-6 gara aga. Naanị kama nsụgharị anyị nwere mkpụrụokwu n'otu n'otu, kama ngwaahịa anyị nwere ahịrịokwu na paragraf. Ma ọ bụ ezie na nsogbu nke NLP na AI ka edozibeghị nke ọma, a ghaghị ikweta na enweela ọganihu dị ukwuu n'ime afọ ole na ole gara aga. (n'uche nke m, enwere ike inwe ọganihuоỌ ga-aka mma ma ọ bụrụ na ndị mmadụ na ụlọ ọrụ na-akwụ ụgwọ ntakịrị nlebara anya na mmụta igwe na ntakịrị ihe na usoro ndị ọzọ - mana nke a adịlarị isiokwu).

Ka anyị laghachi na ụwa nke DevOps na microservices. Anyị na-eche nnukwu nsogbu ihu, na-eme ka enyí na Kunstkamera - n'ihi na ihe m na-anụkarị bụ "naanị kubernetes na hel, ihe niile ga-adị mma!" Ma mba, ihe niile agaghị adị mma ma ọ bụrụ na a hapụrụ ihe niile dị ka ọ dị. Ọzọkwa, ngwọta nyocha maka nsogbu a adịghị ka ihe a na-anabata n'ihi mgbagwoju anya ya. Dị ka ọ dị na NLP, anyị kwesịrị ibu ụzọ bịarute nsogbu a site n'imebi oke nchọta - na nke a, site n'iwepụ ikike ochie.

Otu n'ime ihe nwere ike inye aka bụ ihe m dere n'afọ gara aga banyere mkpa ịnọgide na-enwe a kacha nta dị iche n'etiti nsụgharị ezigara maka ahịa. Ọ dịkwa mkpa ịmara na usoro CI/CD a haziri nke ọma na-enyere aka nke ukwuu n'ibelata mgbanwe. Otú ọ dị, ọnọdụ dị ugbu a na CI/CD adịghị mma iji dozie nsogbu nke permutations na-enweghị ihe mgbakwunye ọzọ maka ihe ndekọ ego na nsochi.

Ihe dị anyị mkpa bụ usoro nnwale na ọkwa njikọ, ebe anyị nwere ike ikpebi ihe ize ndụ maka akụrụngwa ọ bụla, ma nweekwa usoro akpaghị aka maka imelite ihe dị iche iche na nnwale na-enweghị enyemaka onye ọrụ - ịhụ ihe na-arụ ọrụ na ihe na-adịghị.

Usoro nnwale ndị dị otú ahụ nwere ike ịdị ka nke a:

  1. Ndị mmepe na-ede ule (nke a bụ ọkwa dị oke egwu - n'ihi na ma ọ bụghị ya, anyị enweghị akara nyocha - ọ dị ka ịkpọ data na mmụta igwe).
  2. Akụkụ nke ọ bụla (ọrụ) na-enweta usoro CI nke ya - usoro a ka emepụtara nke ọma ugbu a, na okwu nke ịmepụta usoro CI maka otu akụkụ ka edozila nke ọma.
  3. "Sistemụ njikọta smart" na-anakọta nsonaazụ nke usoro CI dị iche iche ma na-achịkọta akụrụngwa akụrụngwa n'ime ngwaahịa ikpeazụ, na-anwale ule na n'ikpeazụ gbakọọ ụzọ kacha nso iji nweta ọrụ ngwaahịa achọrọ dabere na ihe ndị dị adị na ihe ize ndụ. Ọ bụrụ na mmelite agaghị ekwe omume, usoro a na-eme ka ndị mmepe mara maka ihe ndị dị adị na nke n'ime ha na-akpata njehie ahụ. Ọzọkwa, usoro ule dị oke mkpa ebe a - ebe ọ bụ na usoro ntinye aka na-eji ule dị ka ihe nleba anya.
  4. Sistemu CD, nke na-enweta data sitere na Smart Integration System wee mee mmelite ozugbo. Nke a ogbo na-akwụsị okirikiri.

Iji chịkọta ọnụ, maka m otu n'ime nsogbu kachasị njọ ugbu a bụ enweghị ụdị "Smart Integration System" nke ga-ejikọta ihe dị iche iche n'ime ngwaahịa ma si otú a na-enye gị ohere iji soro otu esi ejikọta ngwaahịa ahụ n'ozuzu ya. M ga-enwe mmasị na echiche obodo na nke a (onye na-emebi ihe - Ana m arụ ọrụ ugbu a na ọrụ Reliza, nke nwere ike ịghọ usoro ntinye smart dị otú ahụ).

Otu ihe ikpeazụ m chọrọ ịkọ bụ na, nye m, a naghị anabata monolith maka ọrụ ọ bụla nke ọbụna ọkara. Maka m, mbọ iji mee ka oge mmejuputa dị ngwa na ogo mmepe site na ịlaghachi na monolith na-akpata nnukwu obi abụọ. Nke mbụ, monolith nwere nsogbu yiri ya nke ijikwa akụrụngwa - n'etiti ọba akwụkwọ dị iche iche nke ọ mejupụtara, agbanyeghị, ihe a niile abụghị nke a na-ahụ anya ma na-egosipụta onwe ya n'ụzọ bụ isi n'oge ndị mmepe na-eji. Ihe si na nsogbu monolith pụta bụ enweghị ike ime mgbanwe na koodu - yana oke mmepe ngwa ngwa.

Microservices na-eme ka ọnọdụ ahụ dịkwuo mma, ma mgbe ahụ, microservice architecture na-eche nsogbu nke mgbawa combinatorial na ntinye aka. Ee, n'ozuzu, anyị ebufela otu nsogbu ahụ site na mmepe mmepe na ọkwa ntinye. Otú ọ dị, n'uche nke m, microservices obibia ka na-eduga ná mma pụta, na otu na-enweta arụpụta ngwa ngwa (ma eleghị anya, tumadi n'ihi mbelata nke size nke mmepe unit - ma ọ bụ. ogbe nha). Otú ọ dị, ịkwaga site na monolith gaa na microservices emebeghị ka usoro ahụ dịkwuo mma - mgbawa mgbawa nke nsụgharị microservice bụ nnukwu nsogbu, anyị nwere ọtụtụ ikike iji meziwanye ọnọdụ ahụ ka anyị na-edozi ya.

isi: www.habr.com

Tinye a comment