Fa'avae mo le atina'eina o talosaga fa'aonaponei mai le NGINX. Vaega 1

Talofa uo. I le fa'atalitali i le fa'alauiloaina o le kosi PHP backend developer, fa'asoa fa'atasi ma oe le fa'aliliuga o mea aoga.

O le polokalama e foia ai le tele ma sili atu o galuega i aso uma, aʻo faʻateleina ma sili atu ona faigata. E pei ona fai mai Marc Andressen, na te faʻaumatia le lalolagi.

Fa'avae mo le atina'eina o talosaga fa'aonaponei mai le NGINX. Vaega 1

O le i'uga, o le auala e atia'e ma tu'uina atu ai talosaga ua matua'i suia i nai tausaga ua tuana'i. O suiga ia o fua tectonic na maua ai se seti o mataupu faavae. O nei mataupu faavae ua faʻamaonia e fesoasoani i le fausiaina o 'au, mamanu, atinaʻe, ma le tuʻuina atu o lau talosaga i tagata faʻauʻu.

O mataupu faavae e mafai ona aoteleina e faapea: o le talosaga e tatau ona laʻititi, faʻavae i luga o le upega tafaʻilagi, ma i ai se fausaga faʻapitoa-faʻapitoa. Faatasi ai ma nei mataupu faavae e tolu i lou mafaufau, e mafai ona e fatuina se talosaga malosi, pito i tua e mafai ona vave ma saogalemu le tuʻuina atu i le tagata faʻaoga, ma e faigofie ona faʻaogaina ma faʻalauteleina.

Fa'avae mo le atina'eina o talosaga fa'aonaponei mai le NGINX. Vaega 1

O mataupu faavae taʻitasi o loʻo i ai le tele o itu o le a tatou talanoaina e faʻaalia ai pe faʻafefea ona saofagā taʻiala taʻitasi i le sini autu, o le faʻavaveina o le tuʻuina atu o talosaga faʻatuatuaina e faigofie ona tausia ma faʻaoga. O le a tatou vaʻavaʻai i mataupu faʻavae e faʻatatau i o latou faʻafeagai ina ia faʻamalamalamaina le uiga, fai mai, "Ia mautinoa e te faʻaaogaina mataupu faavae".

Matou te faʻamoemoe o lenei tusiga o le a faʻamalosia oe e faʻaaoga mataupu faʻavae mo le fausiaina o faʻaoga faʻaonaponei, lea o le a maua ai se auala faʻatasi i le mamanu i le tulaga o se faʻaputuga tekonolosi faʻatupulaia.

I le fa'aaogaina o nei mataupu faavae, o le ae maua ai lou fa'aogaina o faiga fou i le atina'eina o polokalama, e aofia ai le DevOps i le atinaʻeina ma le tuʻuina atu o talosaga, faʻaogaina o pusa (mo se faʻataʻitaʻiga, Docker) ma fa'atulagaga o fa'asologa o pusa (mo se fa'ata'ita'iga, Kubernetes), le fa'aogaina o microservices (e aofia ai le Microservice Architecture NGINX и fausaga feso'ota'iga feso'ota'iga mo talosaga microservice.

O le a le fa'aoga fa'aonaponei?

Fa'aoga fa'aonaponei? faaputuga faaonaponei? O le a tonu lava le uiga o le "fa'aonaponei"?

O le tele o tagata atinaʻe e naʻo se manatu lautele o le mea o loʻo i ai se faʻaoga faʻaonaponei, o lea e tatau ai ona faʻamalamalama manino lenei manatu.

Ose polokalama fa'aonaponei e lagolagoina le tele o tagata fa'atau, pe o se React JavaScript library user interface, se Android po'o iOS mobile app, po'o se app e feso'ota'i i se isi API. O se fa'aoga fa'aonaponei o lo'o fa'atusalia ai se numera lē fa'amauina o tagata fa'atau e maua ai fa'amaumauga po'o tautua.

O se talosaga fa'aonaponei e maua ai se API e maua ai fa'amaumauga ma auaunaga. O le API e tatau ona le suia ma tumau, ma e le o tusia faapitoa mo se talosaga patino mai se tagata faʻapitoa. O lo'o maua le API i luga ole HTTP(S) ma maua avanoa i galuega uma o lo'o maua ile GUI po'o le CLI.

E tatau ona maua fa'amaumauga i se fa'asologa masani e talia, fa'afeso'ota'i e pei ole JSON. O se API e fa'aalia mea ma au'aunaga i se auala mama, fa'atulagaina, pei o le RESTful API po'o le GraphQL e maua ai se atina'e lelei.

O talosaga fa'aonaponei o lo'o fausia i luga o le fa'aputuga fa'aonaponei, ma o le fa'aputuga fa'aonaponei o le fa'aputuga lea e lagolagoina ia fa'aoga, fa'asologa. O lenei faaputuga e mafai ai e se tagata atiaʻe ona faigofie ona fai se tusi talosaga ma se faʻaoga HTTP ma manino faʻaiʻuga API. O le auala filifilia o le a mafai ai e lau talosaga ona faigofie ona maua ma auina atu faʻamatalaga i le JSON format. I se isi faaupuga, o le faaputuga faʻaonaponei e fetaui ma elemene o le Talosaga Faʻasefululua-Factor mo microservices.

O lomiga ta'uta'ua o lenei ituaiga faaputuga e fa'avae i luga Java, Python, Node, maʻa mū, PHP и Go. Microservice Architecture NGINX o lo'o fa'atusalia se fa'ata'ita'iga o se fa'aputuga fa'aonaponei ua fa'atinoina i gagana ta'itasi.

Faamolemole ia matau matou te le o fautuaina se faiga na'o microservice. O le toʻatele o outou o loʻo galulue faʻatasi ma monoliths e manaʻomia ona faʻaleleia, aʻo isi o loʻo feagai ma talosaga SOA o loʻo faʻalauteleina ma faʻaleleia e avea ma microservice applications. Ae o isi o loʻo agai atu i talosaga e leai se server, ma o nisi o loʻo faʻatinoina tuʻufaʻatasiga o loʻo i luga. O mataupu faavae o loʻo faʻamatalaina i le tusiga e faʻaoga i nei faiga taʻitasi ma naʻo ni nai suiga laiti.

Mataupu Faavae

I le taimi nei ua i ai so matou malamalamaga masani i le uiga o le faʻaoga faʻaonaponei ma le faʻaputuga faʻaonaponei, ua oʻo i le taimi e suʻesuʻe ai i le fausaga ma le atinaʻe mataupu faavae o le a aoga ia te oe i le atinaʻeina, faʻatinoina, ma le faatumauina o se faʻaoga faʻaonapo nei.

O se tasi o mataupu faavae e foliga mai o le "faia ni talosaga laiti", seʻi o tatou taʻua mataupu faavae. O lo'o i ai fa'aoga fa'alavelave fa'apitoa e faia i le tele o vaega fe'avea'i. I le isi itu, o le fausiaina o se talosaga mai vaega laiti, tu'ufa'atasi e faigofie ai ona mamanuina, tausia, ma galulue fa'atasi ai ma lona atoaga. (Manatua na matou fai atu "faafaigofie" ae le "faafaigofie").

O le mataupu faavae lona lua e mafai ona tatou faʻateleina le gaosiga o le atinaʻe e ala i le fesoasoani ia i latou e taulaʻi atu i foliga o loʻo latou atinaʻe, aʻo faʻasaʻolotoina i latou mai atinaʻe ma CI / CD atugaluga i le taimi o le faʻatinoga. O lea la, i se faapuupuuga, o la tatou auala taulai atu i tagata atiae.

Mulimuli ane, o mea uma e uiga i lau talosaga e tatau ona faʻafesoʻotaʻi i le upega tafailagi. I le 20 tausaga ua tuana'i, ua sili atu la matou la'asaga aga'i i se lumana'i feso'ota'iga a'o fa'avavevave feso'otaiga ma fa'alavelave fa'aoga. E pei ona tatou vaʻaia, o se faʻaoga faʻaonaponei e tatau ona faʻaogaina i luga o se fesoʻotaiga e le tele o tagata faʻatau. O le fa'aogaina o mafaufauga o feso'ota'iga ile fa'ata'ita'iga e iai fa'amanuiaga taua e fetaui lelei mataupu faavae ma le manatu o le auala, fa'atatau ile atina'e.

Afai e te teuina nei mataupu faavae i lou mafaufau pe a mamanuina ma faʻatinoina se talosaga, o le ae maua se avanoa e le mafaafitia i le atinaʻeina ma le tuʻuina atu o au oloa.

Se'i o tatou vaai atili i mataupu faavae nei e tolu.

Laiti mataupu faavae

E faigata mo le faiʻai o le tagata ona iloa le tele o faʻamatalaga i le taimi e tasi. I le mafaufau, o le upu cognitive load e faasino i le aofaʻi o taumafaiga faalemafaufau e manaʻomia e taofi ai faʻamatalaga i le mafaufau. O le faʻaitiitia o le mamafa o le mafaufau i luga o le au atinaʻe o se faʻamuamua aua e mafai ai ona latou taulaʻi i le foia o le faʻafitauli nai lo le tausia o le faʻataʻitaʻiga lavelave o loʻo i ai nei o le talosaga atoa ma foliga o loʻo atiaʻe i totonu o latou ulu.

Fa'avae mo le atina'eina o talosaga fa'aonaponei mai le NGINX. Vaega 1

O talosaga e pala ona o mafuaaga nei:

  • Faʻaitiitia le mamafa o le mafaufau ile atinaʻe;
  • Faʻavave ma faʻafaigofieina o suʻega;
  • Tuuina atu vave o suiga i le talosaga.


E tele auala e faʻaitiitia ai le mamafa o le mafaufau i luga o le au atinaʻe, ma o le mea lea e amata ai le mataupu faavae o le laʻititi.

O auala nei e tolu e faʻaitiitia ai le mamafa o le mafaufau:

  1. Fa'aitiitia le taimi e tatau ona latou mafaufau i ai pe a atia'e se vaega fou - o le pu'upu'u o le taimi, o le fa'aititia o le uta o le mafaufau.
  2. Fa'aiti'itia le aofa'i o le code lea e fa'atino ai le galuega e tasi - fa'aitiitia le code - fa'aitiitia le uta.
  3. Fa'afaigofie le faiga o suiga fa'aopoopo i se talosaga.

Fa'aitiitia le taimi fa'atupuina

Sei o tatou toe foi i aso na fai ai metotia waterfall o le fa'ata'ita'iga mo le fa'agasologa o le atina'e, ma o taimi fa'atulagaina o le ono masina i le lua tausaga mo le atina'eina po'o le fa'afouina o se talosaga sa masani ai. E masani lava, e faitau muamua e inisinia pepa talafeagai e pei o le pepa e manaʻomia ai oloa (PRD), pepa faʻasinomaga (SRD), fausaga ata, ma amata ona tuʻufaʻatasia nei mea uma i se tasi faʻataʻitaʻiga mafaufau, e tusa ai ma latou coded. A o manaʻomia, ma o le mea lea na suia ai le fausaga, e tatau ona faia se taumafaiga taua e faʻailoa i le 'au atoa e uiga i faʻafouga i le faʻataʻitaʻiga o le mafaufau. O sea faiga, i le mea e sili ona leaga, e mafai ona fa'aletonu ai le galuega.

O le suiga tele i le faʻagasologa o le atinaʻeina o talosaga o le faʻaofiina lea o le agile methodology. O se tasi o vaega autu o le metotia agile ose atinae faifaipea. I le isi itu, o lenei mea e mafua ai le faʻaitiitia o le mamafa o le mafaufau i luga o inisinia. Nai lo le manaʻomia o le au atinaʻe e faʻatino le talosaga i se tasi taamilosaga umi, agile auala e mafai ai ona e taulaʻi atu i nai numera laiti e mafai ona vave faʻataʻitaʻiina ma faʻapipiʻiina, aʻo maua foi tali. O le uta o le mafaufau o le app ua suia mai le ono masina i le lua tausaga faʻatasi ma le tele o faʻamatalaga mo le lua vaiaso faʻaopoopo poʻo suiga faʻaalia e faʻatatau i se malamalama sili atu le faanenefu o se app tele.

O le suia o le taulaiga mai se talosaga tele i ni vaega laiti patino e mafai ona faʻamaeʻaina i le lua vaiaso, ma e le sili atu ma le tasi le ata i luma atu o le isi faʻataʻitaʻiga i le mafaufau, o se suiga taua. O lenei mea na mafai ai ona matou faʻateleina le gaosiga o atinaʻe aʻo faʻaitiitia le mamafa o le mafaufau, lea e fesuisuiaʻi pea.

I metotia agile o le talosaga mulimuli e fa'amoemoe e fai sina suiga la'ititi o le ulua'i manatu, o lona uiga o le fa'ai'uga o le atina'e e mautinoa lava e le mautonu. E na'o fa'ai'uga o ta'amilosaga fa'apitoa ta'itasi e mafai ona manino ma sa'o.

Laiti codebases

O le isi laasaga i le faʻaitiitia o le mamafa o le mafaufau o le faʻaitiitia lea o le code base. I le avea ai o se tulafono, o talosaga faʻaonapo nei e tele - o se faʻamalosi, faʻaoga pisinisi e mafai ona aofia ai le faitau afe o faila ma le fiaselau afe o laina code. Fa'alagolago i le fa'atulagaina o faila, o feso'ota'iga ma fa'alagolago i le va o code ma faila e ono iloagofie, po'o le isi itu. E oʻo lava i le faʻaogaina o le code code e mafai ona faʻafitauli, e faʻatatau i faletusi o loʻo faʻaogaina ma le lelei o meafaigaluega faʻapipiʻi e iloagofie ai le va o faletusi / afifi / modules ma tulafono masani.

O le fausiaina o se faʻataʻitaʻiga faʻataʻitaʻi galue o se faʻailoga a le talosaga e mafai ona alu se taimi mataʻina, ma toe tuʻuina atu se avega mamafa tele i luga o le tagata atiaʻe. E moni lava lenei mea mo faʻavae faʻavae monolithic, lea o loʻo i ai se numera tele o code, o le fegalegaleaiga i le va o vaega o loʻo galue ai e le o faʻamalamalamaina manino, ma o le vavaeeseina o mea e gauai atu e masani ona faanenefu ona e le faʻaaloalogia tuaoi.

O se tasi o auala aoga e faʻaitiitia ai le mamafa o le mafaufau i luga o inisinia o le siitia lea i se microservice architecture. I se faiga microservice, o auaunaga taitasi e taulai atu i se seti o foliga; ae o le uiga o le tautua e masani ona faʻamalamalamaina ma malamalama. E manino foi tuaoi o se au'aunaga - ia manatua o feso'ota'iga ma se 'au'aunaga e faia e ala i se API, o lea e faigofie ai ona tu'uina atu fa'amatalaga e maua e le tasi auaunaga i le isi.

O le fegalegaleai ma isi au'aunaga e masani lava ona fa'atapula'a i nai 'au'aunaga fa'aoga ma nai 'au'aunaga tu'uina atu e fa'aoga faigofie ma mama telefoni API, e pei o le fa'aogaina o le REST. O lona uiga o le mamafa o le mafaufau i luga o le inisinia ua matua faʻaitiitia. O le lu'itau tele o lo'o tumau pea le malamalama i le fa'ata'ita'iga o feso'ota'iga au'aunaga ma pe fa'apefea ona tutupu mea e pei o fefa'atauaiga i le tele o auaunaga. O se taunuuga, o le faʻaaogaina o microservices e faʻaitiitia ai le mamafa o le mafaufau e ala i le faʻaitiitia o le aofaʻi o code, faʻamalamalama manino tuaoi o auaunaga, ma tuʻuina atu se malamalamaga i le va o tagata faʻaoga ma tagata e tuʻuina atu.

Suiga fa'aopoopo laiti

Le elemene mulimuli o le mataupu faavae faatauvaa o le pulega o suiga. O se fa'aosoosoga fa'apitoa mo le au atina'e e va'ava'ai i le fa'avae code (tusa lava pe a latou lava, code tuai) ma fai mai, "O le mea leaga lenei, e tatau ona tatou toe tusia uma." O nisi taimi o le filifiliga sa'o lea, ma o nisi taimi e leai. E tu'u ai le avega o suiga fa'ata'ita'iga a le lalolagi i luga o le 'au atina'e, lea e ta'ita'iina atu ai i le tele o uta o le mafaufau. E sili atu mo inisinia ona taulaʻi i suiga e mafai ona latou faia i le taimi o le taʻavale, ina ia mafai ona latou faʻataʻitaʻiina galuega talafeagai i se taimi talafeagai, e ui ina faasolosolo malie. O le oloa mulimuli e tatau ona pei o le oloa na muai fuafuaina, ae i ai ni suiga ma su'ega e fetaui ma manaoga o le tagata o tausia.

Pe a toe tusia vaega tetele o le code, o nisi taimi e le mafai ona vave tuʻuina atu le suiga ona o isi faʻalagolago i le polokalama e faʻaogaina. Ina ia mafai ona pulea le tafe o suiga, e mafai ona e faʻaogaina foliga natia. I le mataupu faavae, o lona uiga o le gaioiga o loʻo i totonu o le gaosiga, ae e le o avanoa e faʻaaoga ai le faʻaogaina o le siosiomaga (env-var) poʻo se isi masini faʻatulagaina. Afai o le tulafono ua pasia uma faiga pulea lelei, ona mafai lea ona iu i le gaosiga i se tulaga lilo. Ae ui i lea, o lenei taʻiala e naʻo le aoga pe afai e iu lava ina mafai le faʻaaliga. A leai, o le a naʻo le faʻapipiʻiina o le code ma faʻaopoopoina se uta o le mafaufau e tatau ona taulimaina e le tagata atiaʻe ina ia mafai ai ona fua. Suiga pulega ma suiga fa'aopoopo e fesoasoani i le fa'atumauina o uta mafaufau a le au atia'e i se tulaga taugofie.

E tatau i inisinia ona foia le tele o faigata e oo lava i le faigofie o le faʻaofiina o galuega faʻaopoopo. I le itu a le pulega, e tatau ona faʻaeteete le faʻaitiitia o le avega e le manaʻomia i luga o le 'au ina ia mafai ona taulaʻi atu i elemene taua. E tolu mea e mafai ona e faia e fesoasoani ai i lau 'au atina'e:

  1. Fa'aaoga metotia agilee fa'atapula'a le taimi e tatau ona taula'i ai le 'au i vaega taua.
  2. Fa'atino lau talosaga e pei o le tele o microservices. O lenei mea o le a faʻatapulaaina ai le numera o foliga e mafai ona faʻatinoina ma faʻamalosia ai tuaoi e taofia ai le mamafa o le mafaufau i le galuega.
  3. Mana'omia suiga fa'aopoopo nai lo lapopo'a ma le fa'aogaina, sui fasi fa'ailoga laiti. Fa'aoga le natia o foliga e fa'atino ai suiga e tusa lava pe le mafai ona iloa vave pe a uma ona fa'aopoopo.

Afai e te faʻaaogaina le mataupu faavae o le laʻititi i lau galuega, o le a sili atu le fiafia o lau 'au, sili atu le taulaʻi i le faʻatinoina o foliga talafeagai, ma sili atu ona vave taʻavale suiga lelei. Ae e le o lona uiga e le mafai ona sili atu le faigata o le galuega, o nisi taimi, i se isi itu, o le faʻaofiina o galuega fou e manaʻomia ai le fesuiaiga o le tele o auaunaga, ma o lenei faagasologa e mafai ona sili atu ona faigata nai lo le tutusa i se fausaga monolithic. Po o le a lava le tulaga, e aoga le aoga o le faʻaogaina o le laʻititi.

Fa'ai'uga o le vaega muamua.

E le o toe mamao ae matou lomia faasalalau le vaega lona lua o le faaliliuga, ma o lea ua matou faatali mo au faamatalaga ma valaaulia oe Aso Tatala, lea o le a faia i le aso i le 20.00.

puna: www.habr.com

Faaopoopo i ai se faamatalaga