Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo

Emebere ngwa “igwe ojii” ma ọ bụ naanị “igwe ojii” ka ọ rụọ ọrụ na akụrụngwa igwe ojii. A na-ewukarị ha dị ka obere ọrụ microservices na-enweghị atụ nke etinyere n'ime akpa, nke n'aka nke ya site na ikpo okwu igwe ojii na-ejikwa. A na-akwado ngwa ndị dị otú ahụ maka ọdịda site na ndabara, nke pụtara na ha na-arụ ọrụ ntụkwasị obi na ọnụ ọgụgụ ọbụna ma ọ bụrụ na ọdịda nke ọkwa akụrụngwa dị njọ. Akụkụ nke ọzọ nke mkpụrụ ego ahụ bụ ihe mgbochi (nkwekọrịta) nke igwe ojii na-etinye na ngwa akpa iji nwee ike ijikwa ha na-akpaghị aka.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo

Ọ bụ ezie na ịmara nke ọma mkpa na mkpa ọ dị ịkwaga na ngwa igwe ojii, ọtụtụ òtù amabeghị ebe ha ga-amalite. Na nke a post, anyị ga-ele anya na a ọnụ ọgụgụ nke ụkpụrụ na, ma ọ bụrụ na-eso ya mgbe na-emepe emepe containerized ngwa, ga-enye gị ohere ịghọta ike nke ígwé ojii nyiwe ma nweta a pụrụ ịdabere na ọrụ na scaling nke ngwa ọbụna na omume nke oké ọdịda na IT akụrụngwa. ọkwa. Ebumnuche kacha nke ụkpụrụ ndị akọwapụtara ebe a bụ ịmụta ka esi ewulite ngwa nke igwe ojii dị ka Kubernetes ga-ejikwa na-akpaghị aka.

Ụkpụrụ Nhazi Software

N'ime ụwa mmemme, ụkpụrụ na-ezo aka na iwu izugbe ziri ezi nke a ga-agbaso mgbe ị na-emepụta ngwanrọ. Enwere ike iji ha na-arụ ọrụ na asụsụ mmemme ọ bụla. Ụkpụrụ ọ bụla nwere ihe mgbaru ọsọ nke ya, ngwá ọrụ maka imezu nke na-abụkarị ndebiri na omume. Enwekwara ọtụtụ ụkpụrụ dị mkpa maka ịmepụta ngwanrọ dị elu, nke ndị ọzọ niile na-esi na ya pụta. Nke a bụ ihe atụ ụfọdụ nke ụkpụrụ ntọala:

  • Kiss (Dị ka ọ dị mfe, onye nzuzu) - emela ya mgbagwoju anya;
  • Kpọọ (Emeghachila onwe gị) - emela onwe gị ọzọ;
  • YAGNI (You aren't gonna need it) – emela ihe na-adịghị mkpa ozugbo;
  • SoC Nkewa nke nchegbu - òkè ọrụ.

Dị ka ị pụrụ ịhụ, ndị a ụkpụrụ adịghị edobe ọ bụla kpọmkwem iwu, ma so na udi nke a na-akpọ ezi uche echiche dabeere na ahụmahụ bara uru, nke ọtụtụ ndị mmepe na-ekekọrịta na nke ha na-ekwu mgbe nile.
Na mgbakwunye, e nwere AHID - Usoro nke ụkpụrụ ise mbụ nke mmemme na imewe ihe dabere na ihe, nke Robert Martin chepụtara. SOLID na-agụnye ụkpụrụ ndị sara mbara, mepere emepe, nke ga-enyere aka ịmepụta sistemu ngwanrọ ka mma ma na-edobe ha ogologo oge.

Ụkpụrụ SOLID bụ nke ubi OOP ma bụrụ nke a haziri n'asụsụ nke echiche na echiche dị ka klaasị, oghere na ihe nketa. Site na ntụnyere, a pụkwara ịmepụta ụkpụrụ mmepe maka ngwa igwe ojii, naanị ihe bụ isi ebe a agaghị abụ klas, kama ọ bụ akpa. Site n'ịgbaso ụkpụrụ ndị a, ị nwere ike ịmepụta ngwa ndị ejiri akpa mee nke ga-emezu ebumnuche na ebumnuche nke nyiwe igwe ojii dịka Kubernetes.

Igwe nchekwa igwe ojii: ụzọ uhie uhie

Taa, ọ fọrọ nke nta ka ọ bụrụ ngwa ọ bụla nwere ike ịchịkọta ngwa ngwa n'ime akpa. Mana maka ngwa ka emebere ya nke ọma yana ịhazi ya n'ime igwe ojii dị ka Kubernetes, a chọrọ mgbalị ọzọ.
Ndabere maka echiche ndị edepụtara n'okpuru bụ usoro Ngwa Iri na Abụọ na ọtụtụ ọrụ ndị ọzọ na akụkụ dị iche iche nke iwulite ngwa weebụ, site na njikwa koodu isi na ụdị scaling. Ụkpụrụ ndị a kọwara na-emetụta naanị mmepe nke ngwa ndị a na-etinye n'ime akpa nke arụnyere n'elu microservices ma mee maka ikpo okwu igwe ojii dị ka Kubernetes. Isi ihe dị na mkparịta ụka anyị bụ onyonyo akpa, na oge akpa nke ebumnuche bụ ikpo okwu nhazi ihe. Ebumnobi nke ụkpụrụ ndị a tụrụ aro bụ imepụta arịa ndị enwere ike ịhazi nhazi oge, nhazi, na nleba anya n'ọtụtụ nyiwe egwuregwu. A naghị ewepụta ụkpụrụ ndị ahụ n'usoro ọ bụla.

Ụkpụrụ Nchegbu Otu (SCP)

Ụkpụrụ a dị n'ọtụtụ ụzọ dị ka ụkpụrụ otu onye ọrụ. SRP), nke bụ akụkụ nke SOLID set na-ekwu na ihe ọ bụla ga-enwe otu ọrụ, na ọrụ a ga-kpamkpam encapsulated na klas. Isi ihe SRP bụ na ọrụ ọ bụla bụ ihe kpatara mgbanwe, na otu klas ga-enwe otu na naanị otu ihe kpatara mgbanwe.

Na SCP, anyị na-eji okwu ahụ bụ "nchegbu" kama okwu "ọrụ" iji gosi ọkwa dị elu nke abstraction na ebumnuche sara mbara nke akpa atụnyere klaasị OOP. Ma ọ bụrụ na ihe mgbaru ọsọ nke SRP bụ inwe naanị otu ihe kpatara mgbanwe, mgbe ahụ n'azụ SCP bụ ọchịchọ ịbawanye ikike iji mee ihe na dochie arịa. Site n'ịgbaso SRP na ịmepụta akpa na-edozi otu nsogbu ma mee ya n'ụzọ zuru oke na-arụ ọrụ, ị na-abawanye ohere nke ijikwa ihe oyiyi akpa ahụ na mpaghara ngwa dị iche iche.

Ụkpụrụ SCP na-ekwu na akpa ọ bụla kwesịrị idozi otu nsogbu ma mee ya nke ọma. Ọzọkwa, SCP na ụwa akpa dị mfe iji nweta karịa SRP na ụwa OOP, ebe ọ bụ na arịa na-emekarị otu usoro, na ọtụtụ oge usoro a na-edozi otu ọrụ.

Ọ bụrụ na microservice akpa ga-edozi ọtụtụ nsogbu n'otu oge, mgbe ahụ enwere ike kewaa ya n'ime igbe otu ọrụ ma jikọta n'ime otu pọd (otu akụkụ nke ntinye ikpo okwu) site na iji sidecar na init container templates. Na mgbakwunye, SCP na-eme ka ọ dị mfe iji dochie akpa ochie (dị ka sava webụ ma ọ bụ onye na-ere ahịa ozi) na nke ọhụrụ na-edozi otu nsogbu mana gbasaa ọrụ ma ọ bụ akpịrịkpa ka mma.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo

Ụkpụrụ nleba anya dị elu (HOP)

Mgbe a na-eji arịa dị ka ụzọ ejikọtara ọnụ maka ngwugwu na iji ngwa ngwa, a na-ewere ngwa ndị ahụ n'onwe ha dị ka igbe ojii. Otú ọ dị, ọ bụrụ na ndị a bụ akpa igwe ojii, mgbe ahụ, ha ga-enye API pụrụ iche na oge iji nyochaa ahụike nke arịa ma, ọ bụrụ na ọ dị mkpa, mee ihe kwesịrị ekwesị. Na-enweghị nke a, ọ gaghị ekwe omume ijikọ akpaaka nke imelite arịa na ijikwa usoro ndụ ha, nke, n'aka nke ya, ga-eme ka nkwụsi ike na ojiji nke usoro ngwanrọ dịkwuo njọ.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo
Na omume, ngwa etinyere akpa kwesịrị, na opekempe, nwee API maka ụdị nlele ahụike dị iche iche: nnwale ndụ na ule ịdị njikere. Ọ bụrụ na ngwa na-ekwu na ọ ga-emekwu ihe, ọ ga-ewetarịrị ụzọ ọzọ a ga-esi nyochaa steeti ya. Dịka ọmụmaatụ, ịbanye ihe omume dị mkpa site na STDERR na STDOUT maka nchịkọta log site na iji Fluentd, Logstash na ngwaọrụ ndị ọzọ yiri ya. Yana mgbakwunye na tracing na metrics ọba akwụkwọ nchịkọta, dị ka OpenTracing, Prometheus, wdg.

N'ozuzu, a ka nwere ike ịgwọ ngwa ahụ dị ka igbe ojii, mana a ga-enyerịrị ya API niile nke ikpo okwu chọrọ iji nyochaa na jikwaa ya n'ụzọ kacha mma.

Ụkpụrụ Nkwekọrịta Ọgbọ Ndụ (LCP)

LCP bụ mgbochi nke HOP. Ọ bụ ezie na HOP na-ekwu na akpa ahụ ga-ekpughere API ndị na-agụ n'elu ikpo okwu, LCP chọrọ ka ngwa ahụ nwee ike ịnakwere ozi n'elu ikpo okwu. Ọzọkwa, akpa ahụ aghaghị ọ bụghị naanị ịnata ihe omume, kamakwa imeghari, na okwu ndị ọzọ, meghachi omume na ha. N'ihi ya aha ụkpụrụ ahụ, nke enwere ike ịtụle dị ka ihe achọrọ iji nye ikpo okwu na API ederede.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo
Platform nwere ụdị mmemme dị iche iche iji nyere aka jikwaa okirikiri ndụ nke akpa. Mana ọ dịịrị ngwa n'onwe ya ikpebi onye n'ime ha ga-aghọta na otu esi emeghachi omume.

O doro anya na ụfọdụ ihe omume dị mkpa karịa ndị ọzọ. Dịka ọmụmaatụ, ọ bụrụ na ngwa anaghị anabata mkpọka nke ọma, ọ ga-anabatarịrị mgbaama: kwụsị (SIGTERM) ozi wee malite usoro nkwụsị ya ngwa ngwa o kwere mee iji jide akara: igbu (SIGKILL) nke na-abịa mgbe SIGTERM gasịrị.

Na mgbakwunye, mmemme dị ka PostStart na PreStop nwere ike ịdị mkpa maka usoro ndụ ngwa. Dịka ọmụmaatụ, mgbe ịmalitechara ngwa, ọ nwere ike ịchọ oge ikpo ọkụ tupu ọ zaa arịrịọ. Ma ọ bụ ngwa ahụ ga-ahapụrịrị akụrụngwa n'ụzọ pụrụ iche mgbe ọ na-emechi.

Ụkpụrụ Imutability Foto (IIP)

A na-anabatakarị na ngwa nwere akpa kwesịrị ịdị na-agbanwe agbanwe mgbe arụchara ya, ọ bụrụgodị na a na-agba ya na mpaghara dị iche iche. Nke a na-eme ka ọ dị mkpa ịmepụta nchekwa data n'oge oge (na okwu ndị ọzọ, iji ngwá ọrụ mpụga maka nke a) na ịdabere na mpụga, nhazi oge nhazi, kama ịmegharị ma ọ bụ ịmepụta ihe pụrụ iche maka gburugburu ebe ọ bụla. Mgbe mgbanwe ọ bụla na ngwa ahụ gasịrị, a ga-ewughachi ihe oyiyi akpa ahụ na ebe niile eji. Site n'ụzọ, mgbe ị na-ejikwa sistemụ IT, a na-eji ụkpụrụ yiri nke ahụ, nke a maara dị ka ụkpụrụ nke enweghị mgbanwe nke sava na akụrụngwa.

Ebumnuche nke IIP bụ igbochi ịmepụta ihe oyiyi akpa dị iche iche maka oge oge dị iche iche yana iji otu ihe oyiyi ahụ mee ihe n'ebe niile yana nhazi nke gburugburu ebe obibi kwesịrị ekwesị. Ịgbaso ụkpụrụ a na-enye gị ohere imejuputa omume dị mkpa dị otú ahụ site n'echiche nke akpaaka nke sistemu igwe ojii dị ka mpịakọta azụ na n'ihu nke mmelite ngwa.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo

Ụkpụrụ Mwepu nke Usoro (PDP)

Otu n'ime njirimara kachasị mkpa nke akpa bụ ihe na-adịghị mma: ihe atụ nke akpa dị mfe ịmepụta ma dị mfe ibibi, ya mere enwere ike dochie ya ngwa ngwa na ihe atụ ọzọ n'oge ọ bụla. Enwere ike inwe ọtụtụ ihe kpatara ngbanwe dị otú ahụ: ọdịda nke ule ọrụ, scaling nke ngwa, nyefee onye ọbịa ọzọ, ike ọgwụgwụ nke ikpo okwu, ma ọ bụ ọnọdụ ndị ọzọ.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo
N'ihi nke a, ngwa ndị nwere akpa akpa ga-ejirịrị ụzọ mpụga, ma ọ bụ jiri atụmatụ kesara n'ime ya na-eji redundancy eme ihe maka nke a. Na mgbakwunye, ngwa ga-amalite ngwa ngwa wee mechie ngwa ngwa, ma dịrị njikere maka ọdịda ngwaike na-egbu egbu na mberede.

Otu omume na-enyere aka mejuputa ụkpụrụ a bụ idobe obere akpa. Gburugburu igwe ojii nwere ike họrọ onye ọbịa na-akpaghị aka iji malite ihe atụ akpa na ya, yabụ ka akpa ahụ dị ntakịrị, ọ ga-amalite ngwa ngwa - ọ ga-edegharị ya na onye nnabata lekwasịrị anya n'elu netwọk ngwa ngwa.

Ụkpụrụ njide onwe onye (S-CP)

Dị ka ụkpụrụ a si dị, na mgbakọ mgbakọ, a na-etinye ihe niile dị mkpa n'ime akpa ahụ. Ekwesịrị iwunye akpa ahụ n'echiche na sistemụ nwere naanị kernel Linux dị ọcha, yabụ etinyere ọba akwụkwọ niile dị mkpa n'ime akpa n'onwe ya. O kwesịkwara ịnwe ihe dị ka oge ịgba ọsọ maka asụsụ mmemme kwekọrọ, ikpo okwu ngwa (ọ bụrụ na ọ dị mkpa), na ihe ndabere ndị ọzọ a ga-achọ mgbe ngwa akpa na-agba ọsọ.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo

Emebere ihe dị iche iche maka nhazi dị iche iche site na gburugburu gaa na gburugburu ma a ga-enyerịrị ya n'oge ọ na-agba ọsọ, dịka ọmụmaatụ site na Kubernetes ConfigMap.

Ngwa nwere ike ịgụnye ọtụtụ ihe etinyere akpa, dịka ọmụmaatụ, akpa DBMS dị iche n'ime ngwa weebụ ejiri akpa. Dị ka ụkpụrụ S-CP si dị, e kwesịghị ijikọta akpa ndị a n'otu, ma ekwesịrị ịme ka akpa DBMS nwere ihe niile dị mkpa maka ọrụ nchekwa data, na ngwa weebụ nwere ihe niile dị mkpa maka ọrụ nke weebụ. ngwa, otu sava weebụ . N'ihi nke a, n'oge ọsọ ngwa ngwa weebụ ga-adabere na akpa DBMS wee nweta ya dịka ọ dị mkpa.

Ụkpụrụ Njide Oge Oge (RCP)

Ụkpụrụ S-CP na-akọwa otú e kwesịrị isi wuo akpa na ihe ọnụọgụ abụọ oyiyi kwesịrị ịnwe. Mana akpa abụghị naanị “igbe ojii” nwere naanị otu njirimara - nha faịlụ. N'oge ogbugbu, akpa ahụ na-ewe akụkụ ndị ọzọ: ọnụọgụ ebe nchekwa ejiri, oge CPU na akụrụngwa sistemụ ndị ọzọ.

Ụkpụrụ 5 nkịtị maka iwulite ngwa igwe-obere obodo
Na ebe a ụkpụrụ RCP na-abịa na aka, dị ka nke akpa ga-decapitate ya chọrọ maka usoro akụrụngwa na-ebufe ha n'elu ikpo okwu. Site na profaịlụ akụrụngwa nke ọ bụla ( ole CPU, ebe nchekwa, netwọkụ, na akụrụngwa diski ọ chọrọ), ikpo okwu nwere ike rụọ ọrụ nhazi oge na autoscaling, jikwaa ikike IT ma na-edobe ọkwa SLA maka arịa.

Na mgbakwunye na izute ihe onwunwe chọrọ nke akpa ahụ, ọ dịkwa mkpa ka ngwa ahụ ghara ịgafe ókèala ya. Ma ọ bụghị ya, mgbe ụkọ akụrụngwa mere, ikpo okwu nwere ike itinye ya na listi ngwa ndị a ga-akwụsị ma ọ bụ kwaga.

Mgbe anyị na-ekwu maka ịbụ igwe ojii-nke mbụ, anyị na-ekwu maka otu anyị si arụ ọrụ.
N'elu, anyị chepụtara ọtụtụ ụkpụrụ izugbe na-esetịpụ ntọala usoro maka iwulite ngwa akpa dị elu maka gburugburu igwe ojii.

Rịba ama na na mgbakwunye na ụkpụrụ izugbe ndị a, ị ga-achọkwa ụzọ na usoro dị elu maka ịrụ ọrụ na arịa. Na mgbakwunye, anyị nwere aro ole na ole dị mkpirikpi nke akọwapụtara nke ọma na ekwesịrị itinye ya (ma ọ bụ etinyeghị ya n'ọrụ) dabere na ọnọdụ ahụ:

Webinar na ụdị OpenShift Container Platform ọhụrụ - 4
June 11, 11.00

Ihe ị ga-amụta:

  • Imutable Red Hat Enterprise Linux CoreOS
  • Mesh ọrụ OpenShift
  • Usoro onye ọrụ
  • Knative kpuchie

isi: www.habr.com

Tinye a comment