Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Ka ị na-arụ ọrụ na IT, ị na-amalite ịhụ na sistemụ nwere agwa nke ha. Ha nwere ike na-agbanwe agbanwe, gbachi nkịtị, eccentric, na siri ike. Ha nwere ike ịdọta ma ọ bụ ịchụpụ. Otu ụzọ ma ọ bụ ọzọ, ị ga-eso ha 'kparịta ụka', na-emegharị n'etiti "ọnyà" ma wuo ụdọ nke mmekọrịta ha.

Ya mere, anyị nwere nsọpụrụ nke iwulite igwe igwe ojii, maka nke a, anyị kwesịrị 'ime ka' ụfọdụ sistemụ subsystems rụọ ọrụ na anyị. Ọ dabara nke ọma, anyị nwere “asụsụ API”, aka kwụ ọtọ na oke ịnụ ọkụ n'obi.

Edemede a agaghị abụ ihe siri ike na teknụzụ, mana ọ ga-akọwa nsogbu ndị anyị zutere mgbe anyị na-ewu igwe ojii. Ekpebiri m ịkọwa ụzọ anyị n'ụdị echiche teknụzụ ọkụ gbasara otu anyị siri chọọ asụsụ nkịtị na sistemụ yana ihe si na ya pụta.

Nabata nwamba.

Mmalite nke ụzọ

Oge ụfọdụ gara aga, e nyere ndị otu anyị ọrụ ịmalite ikpo okwu igwe ojii maka ndị ahịa anyị. Anyị nwere nkwado njikwa, akụrụngwa, ngwugwu ngwaike na nnwere onwe n'ịhọrọ teknụzụ iji mejuputa akụkụ ngwanrọ nke ọrụ ahụ.

E nwekwara ọtụtụ ihe achọrọ:

  • ọrụ ahụ chọrọ akaụntụ nkeonwe dabara adaba;
  • A ghaghị itinye ikpo okwu n'ime usoro ịgba ụgwọ dị ugbu a;
  • sọftụwia na ngwaike: OpenStack + Tungsten Fabric (Open Contrail), nke ndị injinia amụtala “esi nri” nke ọma.

Anyị ga-agwa gị oge ọzọ gbasara otu esi kpọkọta ndị otu ahụ, e mepụtara interface akaụntụ nkeonwe ma mee mkpebi nhazi, ma ọ bụrụ na obodo Habra nwere mmasị.
Ngwa ndị anyị kpebiri iji:

  • Python + Flask + Swagger + SQLAlchemy - usoro Python zuru oke;
  • Vue.js maka ihu ihu;
  • Anyị kpebiri ime mmekọrịta n'etiti akụrụngwa na ọrụ site na iji Celery n'elu AMQP.

Na-atụ anya ajụjụ gbasara ịhọrọ Python, m ga-akọwa. Asụsụ ahụ achọtala niche ya na ụlọ ọrụ anyị na obere, mana ka omenala, etolitela gburugburu ya. Ya mere, e kpebiri ịmalite ịrụ ọrụ na ya. Ọzọkwa, ọsọ nke mmepe na nsogbu ndị dị otú ahụ na-abụkarị mkpebi siri ike.

Ya mere, ka anyị malite enyi anyị.

Ụgwọ ịgbachi nkịtị - ịgba ụgwọ

Anyị amatala nwoke a ogologo oge. Ọ na-anọkarị n'akụkụ m ma na-agbachi nkịtị agụ ihe. Mgbe ụfọdụ ọ na-ezigara anyị arịrịọ onye ọrụ, nye anyị akwụkwọ ọnụahịa ndị ahịa, na ọrụ jikwaa ya. Onye nkịtị na-arụsi ọrụ ike. N'eziokwu, e nwere ihe isi ike. Ọ na-agbachi nkịtị, mgbe ụfọdụ na-eche echiche ma na-enwekarị uche nke ya.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Ịgba ụgwọ bụ usoro mbụ anyị nwara ime enyi. Na ihe isi ike mbụ anyị zutere bụ mgbe ọrụ nhazi.

Dịka ọmụmaatụ, mgbe emepụtara ma ọ bụ ehichapụ, otu ọrụ na-abanye n'ahịrị ịgba ụgwọ dị n'ime. Ya mere, a na-emejuputa usoro ọrụ asynchronous na ọrụ. Iji hazie ụdị ọrụ anyị, anyị kwesịrị 'itinye' ọrụ anyị n'ahịrị a. Na ebe a anyị gbabara na nsogbu: enweghị akwụkwọ.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Na-ekpe ikpe site na nkọwa nke API software, ọ ka nwere ike dozie nsogbu a, ma anyị enweghị oge iji mee mgbanwe injinia, ya mere, anyị wepụrụ mgbagha ahụ n'èzí ma hazie ọrụ kwụ n'ahịrị n'elu RabbitMQ. Onye ahịa na-ebute ọrụ na ọrụ site na akaụntụ nkeonwe ya, ghọọ "ọrụ" Celery na azụ azụ ma na-arụ ya n'akụkụ ụgwọ ụgwọ na OpenStack. Celery na-eme ka ọ dị mfe ijikwa ọrụ, hazie ugboro ugboro na nyochaa ọkwa. Ị nwere ike ịgụkwu gbasara "celery", dịka ọmụmaatụ, ebe a.

Ọzọkwa, ịgba ụgwọ akwụsịghị ọrụ ego gwụrụ. Na-ekwurịta okwu na ndị mmepe, anyị chọpụtara na mgbe ị na-agbakọ ọnụ ọgụgụ (na anyị kwesịrị imejuputa kpọmkwem ụdị mgbagha), e nwere mgbagwoju njikọ nke ịkwụsị iwu. Ma ụdị ndị a adabaghị nke ọma na eziokwu anyị. Anyị mejuputakwara ya site na ọrụ na Celery, na-ewere echiche nchịkwa ọrụ na n'akụkụ azụ.

Nsogbu abụọ a dị n'elu mere ka koodu ahụ ghọọ ntakịrị ihe ọkụ na n'ọdịnihu anyị ga-emeghachi omume iji mee ka echiche ahụ maka ịrụ ọrụ na ọrụ dị iche iche. Anyị kwesịkwara ịchekwa ụfọdụ ozi gbasara ndị ọrụ na ọrụ ha na tebụl anyị iji kwado mgbagha a.

Nsogbu ọzọ bụ ịgbachi nkịtị.

Billy jiri nwayọ zaa “Ọ dị mma” na arịrịọ API ụfọdụ. Nke a bụ ikpe, dịka ọmụmaatụ, mgbe anyị kwụrụ ụgwọ nke ugwo nkwa n'oge ule (karịa na nke ahụ mechara). Emere arịrịọ ndị ahụ nke ọma ma anyị ahụghị mperi ọ bụla.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Ekwesịrị m ịmụ akwụkwọ ndekọ mgbe m na-arụ ọrụ na sistemụ site na UI. Ọ tụgharịrị na ịgba ụgwọ n'onwe ya na-eme arịrịọ ndị yiri ya, na-agbanwe oke na onye ọrụ akọwapụtara, dịka ọmụmaatụ, admin, na-ebufe ya na paramita su.

N'ozuzu, n'agbanyeghị ọdịiche dị na akwụkwọ na obere ntụpọ API, ihe niile gara nke ọma. Enwere ike ịgụ ndekọ ndekọ ọbụna n'okpuru ibu dị arọ ma ọ bụrụ na ị ghọtara otú e si hazie ha na ihe ị ga-achọ. Ọdịdị nke nchekwa data bụ ornate, ma ezi uche na n'ụzọ ụfọdụ ọbụna mara mma.

Yabụ, iji chịkọta, isi nsogbu ndị anyị zutere na ọkwa mmekọrịta metụtara njirimara mmejuputa nke otu usoro:

  • "atụmatụ" enweghị akwụkwọ nke metụtara anyị n'otu ụzọ ma ọ bụ ọzọ;
  • isi iyi mechiri emechi (a na-ede ụgwọ ụgwọ na C ++), n'ihi ya - ọ gaghị ekwe omume idozi nsogbu 1 n'ụzọ ọ bụla karịa "nnwale na njehie".

Ọ dabara nke ọma, ngwaahịa a nwere API nke ọma ma anyị ejikọtala sistemụ ndị a na akaụntụ nkeonwe anyị:

  • modul nkwado teknụzụ - arịrịọ sitere na akaụntụ nkeonwe gị bụ nke “edobere” na ịgba ụgwọ n'ụzọ doro anya maka ndị ahịa ọrụ;
  • modul ego - na-enye gị ohere ịnye ndị ahịa ugbu a akwụkwọ ọnụahịa, dee akwụkwọ na ịmepụta akwụkwọ ịkwụ ụgwọ;
  • modul njikwa ọrụ - maka nke a anyị ga-emejuputa onye njikwa nke anyị. Mgbasawanye nke usoro a na-egwuri n'aka anyị ma anyị "kuziri" Billy ụdị ọrụ ọhụrụ.
    Ọ bụ ntakịrị nsogbu, mana otu ụzọ ma ọ bụ ọzọ, echere m na mụ na Billy ga-emekọrịta ihe.

Ije ije n'ubi tungsten - Tungsten Fabric

Ogige Tungsten nwere ọtụtụ narị wires, na-ebufe puku kwuru puku ozi site na ha. A na-anakọta ozi n'ime "ngwugwu", tụgharịrị, na-ewu ụzọ mgbagwoju anya, dị ka a ga-asị na ọ bụ anwansi.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Nke a bụ ngalaba nke usoro nke abụọ anyị ga-eji mee enyi - Tungsten Fabric (TF), nke bụbu OpenContrail. Ọrụ ya bụ ijikwa akụrụngwa netwọkụ, na-enye anyị abstraction sọftụwia dị ka ndị ọrụ. TF - SDN, na-ekpuchi mgbagha mgbagwoju anya nke ịrụ ọrụ na akụrụngwa netwọkụ. Enwere akụkọ dị mma gbasara teknụzụ n'onwe ya, dịka ọmụmaatụ, ebe a.

Ejikọtara usoro a na OpenStack (a tụlere n'okpuru) site na ngwa mgbakwunye Neutron.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk
Mmekọrịta nke ọrụ OpenStack.

Ụmụ okorobịa si na ngalaba na-arụ ọrụ webatara anyị na usoro a. Anyị na-eji API sistemụ iji jikwaa nchịkọta netwọkụ nke ọrụ anyị. O mebeghị ka anyị nwee nnukwu nsogbu ma ọ bụ nsogbu (enweghị m ike ikwu maka ụmụ okorobịa si OE), mana enweela ụfọdụ ihe na-adịghị mma na mmekọrịta.

Nke mbụ dị ka nke a: iwu chọrọ iwepụta data buru ibu na njikwa ihe atụ mgbe ị na-ejikọ site na SSH naanị "kpọgidere" njikọ ahụ, ebe site na VNC ihe niile na-arụ ọrụ nke ọma.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Maka ndị na-amaghị nsogbu ahụ, ọ na-ele anya na-atọ ọchị: ls / root na-arụ ọrụ nke ọma, ebe, dịka ọmụmaatụ, top "freezes" kpamkpam. Ọ dabara nke ọma, anyị enweela ụdị nsogbu ndị ahụ na mbụ. Ekpebiri ya site na ịmegharị MTU n'okporo ụzọ si na ọnụ ọgụgụ kọmpụta gaa na ndị na-anya ụgbọ mmiri. Site n'ụzọ, nke a abụghị nsogbu TF.

Nsogbu na-esote dị nso na akuku. N'otu oge "mara mma", anwansi nke ịwagharị na-apụ n'anya, dị ka nke ahụ. TF akwụsịla ijikwa ụzọ na akụrụngwa.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Anyị na Openstack na-arụ ọrụ site na ọkwa nchịkwa ma emesịa kwaga n'ọkwa onye ọrụ achọrọ. SDN na-egosi na ọ "na-apụnara" akụkụ nke onye ọrụ nke a na-eme ihe ndị a. Nke bụ eziokwu bụ na a na-eji otu akaụntụ nchịkwa ahụ jikọọ TF na OpenStack. Na nzọụkwụ nke ịgbanwee na onye ọrụ, "anwansi" ahụ kwụsịrị. E kpebiri ịmepụta akaụntụ dị iche iji rụọ ọrụ na usoro ahụ. Nke a nyere anyị ohere ịrụ ọrụ n'emebighị ọrụ ntinye.

Silicon Lifeforms - OpenStack

Ihe e kere eke nwere ụdị silicone nke dị n'akụkụ ubi tungsten. Nke ka nke, ọ dị ka nwatakịrị tojuru etoju nke nwere ike ịzọpịa anyị n'otu ntabi anya, ma ọ dịghị mkpasu iwe doro anya na-abịa site n'aka ya. Ọ naghị ebute egwu, mana nha ya na-akpali egwu. Dị ka mgbagwoju anya nke ihe na-eme gburugburu.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

OpenStack bụ isi nke ikpo okwu anyị.

OpenStack nwere ọtụtụ subsystems, nke anyị na-eji Nova, Glance na Cinder na-arụsi ọrụ ike ugbu a. Onye ọ bụla n'ime ha nwere API nke ya. Nova na-ahụ maka ịgbakọ akụrụngwa yana imepụta ihe atụ, Cinder na-ahụ maka ijikwa mpịakọta na foto ha, Glance bụ ọrụ onyonyo na-ejikwa ndebiri OS na metainformation na ha.

Ọrụ ọ bụla na-agba n'ime akpa, onye na-ere ahịa ozi bụ "oke oke bekee" - RabbitMQ.

Usoro a nyere anyị nsogbu na-atụghị anya ya.

Na nsogbu nke mbụ adịghị anya na-abịa mgbe anyị gbalịrị ijikọ ihe mgbakwunye olu na ihe nkesa. Cinder API jụrụ kpam kpam ịrụ ọrụ a. Kpọmkwem, ọ bụrụ na ị kwenyere na OpenStack n'onwe ya, emebere njikọ ahụ, mana enweghị ngwaọrụ diski n'ime ihe nkesa mebere.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Anyị kpebiri ịgagharị wee rịọ otu ihe ahụ n'aka Nova API. Ihe si na ya pụta bụ na ngwaọrụ ahụ na-ejikọta nke ọma ma nwee ike ịnweta n'ime ihe nkesa ahụ. Ọ na-egosi na nsogbu ahụ na-eme mgbe ngọngọ-nchekwa anaghị anabata Cinder.

Ihe isi ike ọzọ na-echere anyị mgbe anyị na-arụ ọrụ na diski. Enweghị ike ịpụpụ olu sistemụ na sava ahụ.

Ọzọ, OpenStack n'onwe ya "na-aṅụ iyi" na ọ mebiri njikọ ahụ ma ugbu a ị nwere ike iji olu rụọ ọrụ nke ọma. Mana API achọghị ịrụ ọrụ na diski ahụ.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

N'ebe a, anyị kpebiri na anyị agaghị alụ ọgụ karịsịa, kama ịgbanwe echiche anyị banyere ezi uche nke ọrụ ahụ. Ọ bụrụ na enwere ihe atụ, a ga-enwerịrị olu sistemụ. Yabụ, onye ọrụ enweghị ike iwepu ma ọ bụ gbanyụọ sistemụ “disk” na-ehichapụghị “ihe nkesa”.

OpenStack bụ sistemụ dị mgbagwoju anya nwere echiche mmekọrịta yana API ịchọ mma. A na-enyere anyị aka site na akwụkwọ nkọwa zuru ezu na, n'ezie, ikpe na njehie (ebe anyị ga-anọ na-enweghị ya).

Nwale ọsọ

Anyị mere mmalite nnwale na Disemba afọ gara aga. Ọrụ bụ isi bụ ịnwale ọrụ anyị na ọnọdụ ọgụ site na akụkụ teknụzụ yana n'akụkụ UX. Akpọrọ ndị na-ege ntị ka ha họrọ ma mechie ule. Agbanyeghị, anyị ahapụkwala nhọrọ ịrịọ maka ịnweta nnwale na webụsaịtị anyị.

Nnwale ahụ n'onwe ya, n'ezie, enweghị oge ọchị ya, n'ihi na nke a bụ ebe ihe omume anyị na-amalite.

Nke mbụ, anyị tụlere n'ụzọ ezighi ezi mmasị na ọrụ ahụ wee tinye ngwa ngwa ọnụ ọnụ ọnụ n'oge ule ahụ. Okwu nkịtị maka ụyọkọ, mana enwerekwa ụfọdụ nuances ebe a. Akwụkwọ maka otu ụdị TF a kapịrị ọnụ na-egosi ụdị kernel akọwapụtara nke a nwalere ọrụ na vRouter. Anyị kpebiri iwepụta ọnụ ọnụ na mkpụrụ ndụ ọhụrụ. N'ihi ya, TF enwetaghị ụzọ site na ọnụ ọnụ. Ekwesịrị m iji ngwa ngwa tụgharịa kernel ndị ahụ.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Ọchịchọ ịmata ihe ọzọ metụtara ọrụ nke bọtịnụ “mgbanwe paswọọdụ” na akaụntụ nkeonwe gị.

Anyị kpebiri na anyị ga-eji JWT hazie otú anyị ga-esi na-abanye n’ihe ndekọ ego anyị ka anyị ghara ịrụkọ ọrụ. Ebe ọ bụ na sistemụ dị iche iche na gbasasịa ebe niile, anyị na-ejikwa akara nke anyị, nke anyị na-ekechi nnọkọ site na ịgba ụgwọ yana akara sitere na OpenStack. Mgbe a gbanwere paswọọdụ, akara ahụ, n'ezie, "na-aga nke ọma", ebe ọ bụ na data onye ọrụ adịkwaghị adị ma ọ dị mkpa ka ewepụtaghachi ya.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk

Anyị chefuru isi ihe a, na enweghị ego zuru oke iji mechaa mpempe akwụkwọ a ngwa ngwa. Anyị ga-ebipụ ọrụ ahụ obere oge tupu ịmalite ule ahụ.
Ugbu a anyị na-ewepụ onye ọrụ ma ọ bụrụ na agbanweela paswọọdụ.

N'agbanyeghị nuances ndị a, nnwale gara nke ọma. N'ime izu ole na ole, ihe dị ka mmadụ 300 kwụsịrị. Anyị nwere ike lelee ngwaahịa ahụ site n'anya ndị ọrụ, nwalee ya n'omume ma nakọta nzaghachi dị elu.

Na-aga n'ihu

Maka ọtụtụ n'ime anyị, nke a bụ ọrụ mbụ nke ọnụ ọgụgụ a. Anyị mụtara ọtụtụ nkuzi bara uru gbasara otu esi arụ ọrụ dịka otu na ime mkpebi ụkpụrụ ụlọ na imewe. Otu esi ejikọta usoro mgbagwoju anya na obere ihe onwunwe ma tụgharịa ha na mmepụta.

N'ezie, e nwere ihe na-arụ ọrụ na ma na usoro nke koodu na na interfaces nke usoro mbanye. Ihe oru ngo a di obere, ma anyi juputara na ambitions itolite ya ka o buru oru kwesiri ntukwasi obi ma di nma.

Anyị enweela ike ime ka usoro ndị ahụ kwenye. Bill ji nlezianya na-edozi ngụkọ, ịgba ụgwọ na arịrịọ onye ọrụ n'ime kaboodu ya. "Anwansi" nke ogige tungsten na-enye anyị nkwurịta okwu kwụsiri ike. Na naanị OpenStack na-enwe mmetụta mgbe ụfọdụ, na-eti ihe dị ka "'WSREP akwadobebeghị ọnụ maka iji ngwa." Mana nke ahụ bụ akụkọ dị iche kpamkpam...

Anyị malitere ọrụ na nso nso a.
Ị nwere ike ịchọta nkọwa niile na anyị saịtị.

Akụkọ ihe mere eme nke okike nke ọrụ igwe ojii, na-ekpo ọkụ na cyberpunk
Otu mmepe CLO

Njikọ ndị bara uru

OpenStack

Tungsten ákwà

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster