Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

UMlawuli weMisebenzi ye-Banki.ru portal u-Andrey Nikolsky wathetha kwinkomfa yonyaka odlulileyo DevOpsDays eMoscow malunga neenkonzo zeenkedama: indlela yokuchonga inkedama kwiziseko zophuhliso, kutheni iinkonzo zeenkedama zimbi, yintoni enokuyenza ngazo, kwaye wenze ntoni ukuba akukho nto incedayo.

Ngezantsi kokusikwa yinguqulelo yombhalo wengxelo.


Molweni balingane! Igama lam ndinguAndrey, ndiqhuba imisebenzi eBanki.ru.

Sineenkonzo ezinkulu, ezi zinkonzo ze-monolithic, kukho iinkonzo kwingqiqo ye-classical, kwaye kukho ezincinci kakhulu. Kwigama lam labasebenzi-abalimi, ndithi ukuba inkonzo ilula kwaye incinci, ngoko incinci, kwaye ukuba ayilula kakhulu kwaye incinci, ke yinkonzo nje.

IiPros zeenkonzo

Ndiza kuhamba ngokukhawuleza kwiinzuzo zeenkonzo.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Eyokuqala kukukala. Unokwenza ngokukhawuleza into ethile kwinkonzo kwaye uqale imveliso. Ufumene itrafikhi, uye wabumba inkonzo. Unetrafikhi eyongezelelekileyo, uye wayibumba kwaye uhlala nayo. Le yibhonasi elungileyo, kwaye, ngokomgaqo, xa saqalayo, kwathathwa njengento ebaluleke kakhulu kuthi, kutheni sisenza konke oku.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Okwesibini, uphuhliso olulodwa, xa unamaqela amaninzi ophuhliso, abaphuhlisi abaninzi abahlukeneyo kwiqela ngalinye, kwaye iqela ngalinye liphuhlisa inkonzo yalo.

Ngamaqela kukho i-nuance. Abaphuhlisi bahlukile. Kwaye kukho, umzekelo, abantu snowflake. Ndaqala ukubona oku kunye noMxim Dorofeev. Ngamanye amaxesha abantu bekhephu bakwamanye amaqela hayi kwamanye. Oku kwenza ukuba iinkonzo ezahlukeneyo ezisetyenziswa kuyo yonke inkampani zingalingani.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Jonga umfanekiso: lo ngumphuhlisi olungileyo, unezandla ezinkulu, unokwenza okuninzi. Eyona ngxaki iphambili kukuba ezi zandla zivela phi.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Iinkonzo zenza kube lula ukusebenzisa iilwimi ezahlukeneyo zokucwangcisa ezilungele imisebenzi eyahlukeneyo. Enye inkonzo iku-Go, enye ise-Erlang, enye iseRuby, into ikwi-PHP, kukho into ekwiPython. Ngokubanzi, unokwandisa kakhulu ngokubanzi. Kukho ama-nuances apha kwakhona.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Uyilo olujolise kwinkonzo ikakhulu malunga ne-devops. Oko kukuthi, ukuba awunayo i-automation, akukho nkqubo yokuthunyelwa, ukuba uyayiqwalasela ngesandla, ulungelelwaniso lwakho lunokutshintsha ukusuka kumzekelo wenkonzo ukuya kumzekelo, kwaye kuya kufuneka uye apho ukwenza into, ngoko usesihogweni.

Umzekelo, uneenkonzo ezingama-20 kwaye kufuneka uhambise ngesandla, unee-consoles ezingama-20, kwaye kwangaxeshanye ucinezele "ngena" njenge-ninja. Akulunganga kakhulu.

Ukuba unenkonzo emva kovavanyo (ukuba kukho uvavanyo, ngokuqinisekileyo), kwaye usadinga ukuyigqiba ngefayile ukwenzela ukuba isebenze kwimveliso, ndineendaba ezimbi kuwe.

Ukuba uthembele kwiinkonzo ezithile zeAmazon kwaye usebenza eRussia, kwiinyanga ezimbini ezidlulileyo ubunayo "Yonke into ejikeleze umlilo, ndilungile, yonke into ipholile."

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Sisebenzisa i-Ansible ukwenza i-automate deployment, i-Puppet yokudibanisa, i-Bamboo ukwenza i-automate ukuthunyelwa, kunye ne-Confluence ngandlela thile ukuyichaza yonke.

Andiyi kuhlala kule nkcukacha, kuba ingxelo ingaphezulu malunga neendlela zokusebenzisana, kwaye kungekhona malunga nokuphunyezwa kobugcisa.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ngokomzekelo, siye saba neengxaki apho iPuppet kumncedisi isebenza kunye noRuby 2, kodwa isicelo esithile sibhalelwe iRuby 1.8, kwaye ayisebenzi kunye. Kukho into engahambi kakuhle apho. Kwaye xa ufuna ukuqhuba iinguqulelo ezininzi zeRuby kumatshini omnye, udla ngokuqala ukuba neengxaki.

Ngokomzekelo, sinika umphuhlisi ngamnye iqonga apho kukho malunga nayo yonke into esinayo, zonke iinkonzo ezinokuthi ziphuhliswe, ukuze abe nommandla ozimeleyo, unokuwaphula kwaye akhe njengoko efuna.

Kwenzeka ukuba udinga ipakethe ehlanganiswe ngokukodwa kunye nenkxaso yento ethile apho. Kunzima kakhulu. Ndiphulaphule ingxelo apho umfanekiso weDocker ulinganisa i-45 GB. Kwi-Linux, ewe, ilula, yonke into incinci apho, kodwa kunjalo, akuyi kubakho sithuba saneleyo.

Ewe, kukho ukuxhomekeka okuphikisanayo, xa enye inxalenye yeprojekthi ixhomekeke kwilayibrari yenguqulo enye, enye inxalenye yeprojekthi ixhomekeke kwenye inguqulelo, kwaye iilayibrari azifakwanga kunye nonke.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Sineendawo kunye neenkonzo kwi-PHP 5.6, sineentloni ngabo, kodwa yintoni esinokuyenza? Le yindawo yethu enye. Kukho iisayithi kunye neenkonzo kwi-PHP 7, kukho ezininzi zazo, asinazintloni ngazo. Kwaye umphuhlisi ngamnye unesiseko sakhe apho abona khona ngovuyo.

Ukuba ubhala kwinkampani ngolwimi olunye, ke oomatshini abathathu benyani ngomphuhlisi ngamnye bavakala njengesiqhelo. Ukuba uneelwimi ezahlukeneyo zokucwangcisa, ke imeko iya iba mandundu.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Uneendawo kunye neenkonzo kule, kule, ke enye indawo yeGo, indawo enye yeRuby, kunye nezinye iiRedis ecaleni. Ngenxa yoko, konke oku kuguqukela kwintsimi enkulu yokuxhasa, kwaye lonke ixesha enye inokuphuka.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ke ngoko, sithathe indawo yeenzuzo zolwimi lwenkqubo ngokusetyenziswa kwezakhelo ezahlukeneyo, kuba izikhokelo ze-PHP zahluke kakhulu, zinezakhono ezahlukeneyo, uluntu olwahlukeneyo, kunye nenkxaso eyahlukileyo. Kwaye ungabhala inkonzo ukuze ube sele unento oyilungeleyo.

Inkonzo nganye ineqela layo

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Inzuzo yethu ephambili, eye yaqaqamba kwiminyaka eliqela, kukuba inkonzo nganye ineqela layo. Oku kulungele iprojekthi enkulu, unokugcina ixesha kumaxwebhu, abaphathi bayazi kakuhle iprojekthi yabo.

Ungangenisa lula imisebenzi evela kwinkxaso. Ngokomzekelo, inkonzo ye-inshorensi yonakala. Kwaye ngoko nangoko iqela elijongene ne-inshurensi liya kuyilungisa.

Iimpawu ezintsha zenziwa ngokukhawuleza, kuba xa unenkonzo enye yeathom, unokukhawuleza ujike into kuyo.

Kwaye xa usaphula inkonzo yakho, kwaye oku kwenzeka ngokuqinisekileyo, awuzange uzichaphazele iinkonzo zabanye abantu, kwaye abaphuhlisi abanamasuntswana avela kwamanye amaqela abezi kuwe bebaleka bathi: "Owu, musa ukuyenza loo nto."

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Njengamaxesha onke, kukho ama-nuances. Sinamaqela azinzileyo, abaphathi babethelelwe kwiqela. Kukho amaxwebhu acacileyo, abaphathi babeke iliso elibukhali yonke into. Iqela ngalinye elinomphathi lineenkonzo ezininzi, kwaye kukho inqaku elithile lobuchule.

Ukuba amaqela adadayo (nathi ngamanye amaxesha sisebenzisa oku), kukho indlela elungileyo ebizwa ngokuba “yimephu yeenkwenkwezi”.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Unoluhlu lweenkonzo kunye nabantu. Inkwenkwezi ithetha ukuba umntu uyingcaphephe kule nkonzo, incwadi ithetha ukuba umntu ufunda le nkonzo. Umsebenzi womntu kukutshintshisa incwadi ngeenkwenkwezi. Kwaye ukuba akukho nto ibhaliweyo phambi kwenkonzo, ke iingxaki ziqala, endiya kuthetha ngazo ngakumbi.

Zibonakala njani iinkonzo zeenkedama?

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ingxaki yokuqala, indlela yokuqala yokufumana inkonzo yeenkedama kwiziseko zoncedo zakho kukugxotha abantu. Ngaba kukho nabani na owakha wadibana neshishini ngexesha elibekiweyo ngaphambi kokuba imisebenzi ivavanywe? Ngamanye amaxesha kuyenzeka ukuba amaxesha amisiweyo anzima kwaye akukho xesha laneleyo lokubhalwa kwamaxwebhu. "Kufuneka sinikezele ngenkonzo kwimveliso, emva koko siya kuyongeza."

Ukuba iqela lincinci, kwenzeka ukuba kukho umthuthukisi omnye obhala yonke into, abanye basemaphikweni. "Ndibhale uyilo olusisiseko, masiyongeze i-interfaces." Emva koko ngexesha elithile umphathi, umzekelo, uhamba. Kwaye ngeli xesha, xa umphathi eshiye kwaye engekaqeshwa omtsha, abaphuhlisi ngokwabo banquma apho inkonzo iya khona kunye nento eyenzekayo apho. Kwaye njengoko sisazi (makhe sibuye umva izilayidi ezimbalwa), kwamanye amaqela kukho abantu bekhephu, ngamanye amaxesha iqela lekhephu elikhokelayo. Emva koko uyayeka, kwaye sifumana inkonzo yenkedama.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Kwangaxeshanye, imisebenzi evela kwinkxaso kunye neshishini ayipheli iphelela kukusilela. Ukuba bekukho naziphi na iimpazamo zezakhiwo ngexesha lokuphuhliswa kwenkonzo, nazo ziphela kwi-backlog. Inkonzo iya isiba mandundu kancinane.

Indlela yokuchonga inkedama?

Olu luhlu luyichaza kakuhle imeko. Ngoobani abafunde nto malunga neziseko zabo?

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ngokumalunga nomsebenzi obhaliweyo: kukho inkonzo kwaye, ngokubanzi, iyasebenza, inencwadana yamaphepha amabini malunga nendlela yokusebenza nayo, kodwa akukho mntu uyazi ukuba isebenza njani ngaphakathi.

Okanye, umzekelo, kukho uhlobo oluthile lwesifinyezo sekhonkco. Umzekelo, okwangoku sineemfutshane ezintathu zekhonkco ezisetyenziselwa iinjongo ezahlukeneyo kwiinkonzo ezahlukeneyo. Ezi ziziphumo nje.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ngoku ndiza kuba ngumphathi wezinto ezicacileyo. Kufuneka kwenziwe ntoni? Okokuqala, kufuneka sidlulisele inkonzo komnye umphathi, elinye iqela. Ukuba iqela lakho elikhokelayo alikayeki, ke kwelinye iqela, xa uqonda ukuba inkonzo ifana nenkedama, kufuneka ubandakanye umntu oqondayo ubuncinane into malunga nayo.

Into ephambili: kufuneka ube neenkqubo zokudlulisa ezibhalwe ngegazi. Kwimeko yethu, ndihlala ndibeka iliso le nto, kuba ndifuna ukuba yonke into isebenze. Abaphathi bafuna ukuba iziswe ngokukhawuleza, kwaye okwenzekayo kuyo kamva akusabalulekanga kangako kubo.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Indlela elandelayo yokwenza inkedama "Siza kuyenza ngaphandle, iya kukhawuleza, kwaye emva koko siya kuyinikezela kwiqela." Kuyacaca ukuba wonke umntu unezicwangciso ezithile kwiqela, ijika. Amaxesha amaninzi umthengi weshishini ucinga ukuba umthengisi uya kwenza into efanayo nesebe lobugcisa inkampani enalo. Nangona abakhuthazi babo bahlukile. Kukho izisombululo ezingaqhelekanga zetekhnoloji kunye nezisombululo ezingaqhelekanga ze-algorithmic ekunikezelweni kwangaphandle.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ngokomzekelo, sasinenkonzo eyayineSphinx kwiindawo ezahlukeneyo esingazilindelanga. Ndiza kukuxelela kamva into emandiyenze.

Abangaphandle banezikhokelo ezizibhalelayo. Le yi-PHP engenanto kunye nekopi-uncamathisele kwiprojekthi yangaphambili, apho unokufumana zonke iintlobo zezinto. Izikripthi zokusasazwa ziyi-drawback enkulu xa ufuna ukusebenzisa izikripthi ezithile ze-Bash ezintsonkothileyo ukutshintsha imigca emininzi kwenye ifayile, kwaye ezi zikripthi zokusasazwa zibizwa ngokuba siscript sesithathu. Ngenxa yoko, utshintsha inkqubo yokuthunyelwa, khetha enye into, gxuma, kodwa inkonzo yakho ayisebenzi. Kuba apho bekufuneka kubekwe ezinye iikhonkco ezisi-8 phakathi kweefolda ezahlukeneyo. Okanye kwenzeka ukuba iirekhodi eziliwaka zisebenza, kodwa ikhulu lamawaka alisasebenzi.

Ndizoqhubeka nokuba ngukapteni. Ukwamkela inkonzo yangaphandle yinkqubo enyanzelekileyo. Ngaba kukho umntu owakhe wafumana inkonzo ephuma ngaphandle efikile kwaye ayamkeleka naphi na? Oku akuthandwa, kunjalo, njengenkonzo yenkedama, kodwa kunjalo.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Inkonzo kufuneka ihlolwe, inkonzo kufuneka ihlaziywe, iiphasiwedi kufuneka zitshintshwe. Saba necala xa besinika inkonzo, kukho iphaneli yolawulo "ukuba ungene == 'admin' && password == 'admin' ... ", ibhalwe ngokufanelekileyo kwikhowudi. Sihleli kwaye sicinge, kwaye abantu babhala oku ngo-2018?

Ukuvavanya umthamo wokugcina kwakhona yinto eyimfuneko. Kufuneka ujonge oko kuya kwenzeka kwiirekhodi ezilikhulu lamawaka, nangaphambi kokuba ubeke le nkonzo kwimveliso kwindawo ethile.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Akufunekanga kubekho iintloni ekuthumeleni inkonzo yokuphucula. Xa usithi: “Asiyi kuyamkela le nkonzo, sinemisebenzi engama-20, siyenze, ngoko siya kuyamkela,” kuqhelekile oku. Isazela sakho asifanele sikhathazwe kukuba umisela umphathi okanye ishishini lidlala ngemali. Ishishini liya kuchitha ngaphezulu.

Saba necala xa sagqiba ekubeni sikhuphe iprojekthi yokulinga.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Yaziswa kwangexesha, kwaye le ibikuphela komlinganiselo womgangatho. Yiyo loo nto senza enye iprojekthi yokulinga, eyayingasenguye nolinge ngokwenene. Ezi nkonzo zamkelwa, kwaye ngeendlela zolawulo bathi, nantsi ikhowudi yakho, nali iqela, nanku umphathi wakho. Iinkonzo sele ziqalisile ukwenza inzuzo. Kwangaxeshanye, enyanisweni, baseziinkedama, akukho bani uyiqondayo indlela abasebenza ngayo, kwaye abaphathi benza konke okusemandleni abo ukukhanyela imisebenzi yabo.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Kukho enye ingcamango enkulu - uphuhliso lwabanqolobi. Xa isebe elithile, ngokuqhelekileyo isebe lezentengiso, lifuna ukuvavanya i-hypothesis kunye nokuyalela yonke inkonzo ekhutshwe ngaphandle. Izithuthi ziye zagaleleka kuyo, bavala amaxwebhu, batyikitya amaxwebhu nonokontraka, baqalisa ukusebenza bathi: “Madoda, sinenkonzo apha, sele inezothutho, izisa imali, masamkele.” Sathi, "Oppa, inokwenzeka njani loo nto."

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Kwaye enye indlela yokufumana inkonzo yeenkedama: xa iqela elithile lithwaxwa ngumthwalo ngequbuliso, abaphathi bathi: “Masidlulisele inkonzo yeli qela kwelinye iqela, linomthwalo omncinane.” Kwaye ke siya kuyidlulisela kwiqela lesithathu kwaye sitshintshe umphathi. Kwaye ekugqibeleni sinenkedama kwakhona.

Yintoni ingxaki ngenkedama?

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ngubani ongaziyo, le yinqanawa yokulwa iWasa eyaphakanyiswa eSweden, edume ngokuba yatshona kwimizuzu emi-5 emva kokusungulwa. Kwaye uKumkani waseSweden, ngendlela, akazange abulale mntu ngale nto. Yakhiwa zizizukulwana ezibini zoononjineli ababengayazi indlela yokwenza ezo nqanawa. Isiphumo sendalo.

Inqanawa yayinokuthi yatshona, ngendlela, ngendlela embi kakhulu, umzekelo, xa ukumkani wayesele ekhwele kuyo kwindawo ethile kwisiqhwithi. Kwaye ke, watshona kwangoko, ngokutsho kwe-Agile kulungile ukusilela kwangoko.

Ukuba siyasilela kwangethuba, ngokuqhelekileyo akukho ngxaki. Ngokomzekelo, ngexesha lokwamkelwa kwathunyelwa ukuba kuhlaziywe. Kodwa ukuba sihluleka kakade kwimveliso, xa imali ityalwe, ngoko kunokubakho iingxaki. Iziphumo, njengoko zibizwa njalo kwishishini.

Kutheni iinkonzo zeenkedama ziyingozi:

  • Inkonzo inokuqhawuka ngesiquphe.
  • Inkonzo ithatha ixesha elide ukuyilungisa okanye ayilungiswanga kwaphela.
  • Iingxaki zokhuseleko.
  • Iingxaki ngophuculo kunye nohlaziyo.
  • Ukuba inkonzo ebalulekileyo iyancipha, idumela lenkampani liyahlupheka.

Yintoni onokuyenza ngeenkonzo zeenkedama?

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ndiza kuphinda into emandiyenze kwakhona. Okokuqala, kufuneka kubekho amaxwebhu. Iminyaka eyi-7 eBanki.ru indifundise ukuba abavavanyi akufanele bathathe ilizwi labaphuhlisi, kwaye ukusebenza akufanele kuthathe ilizwi lomntu wonke. Kufuneka sijonge.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Okwesibini, kuyimfuneko ukubhala imizobo yokusebenzisana, kuba kwenzeka ukuba iinkonzo ezingafunyanwanga kakuhle ziqulethe ukuxhomekeka okungekho mntu uthe. Ngokomzekelo, abaphuhlisi bafake inkonzo kwisitshixo sabo kwezinye i-Yandex.Maps okanye iDadata. Uphelelwe ngumda wasimahla, yonke into yonakele, kwaye awuyazi into eyenzekayo konke konke. Zonke iireki ezinjalo kufuneka zichazwe: inkonzo isebenzisa iDadata, iSMS, enye into.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Okwesithathu, ukusebenza ngamatyala obugcisa. Xa usenza uhlobo oluthile lweentonga okanye ukwamkela inkonzo kwaye uthi kufuneka kwenziwe okuthile, kufuneka uqiniseke ukuba uyenzile. Ngenxa yokuba oko kunokuvela ukuba umngxuma omncinci awuncinci, kwaye uya kuwela kuwo.

Ngemisebenzi yoyilo, sinebali malunga neSphinx. Enye yeenkonzo isebenzise iSphinx ukufaka uluhlu. Uluhlu nje olunamaphepha, kodwa lwaluphinda lufakwe isalathiso ngobusuku ngabunye. Yayidityaniswe ngokusuka kwizalathisi ezimbini: enye enkulu yayibhalwa rhoqo ebusuku, kwaye kwakukho nesalathiso esincinane esasikrwelelwe kuso. Nsuku zonke, kunye ne-50% enokwenzeka yokuba ibhomu okanye cha, isalathisi saphazamiseka ngexesha lokubala, kwaye iindaba zethu zayeka ukuhlaziywa kwiphepha eliphambili. Ekuqaleni kwathatha imizuzu emi-5 ukuba isalathisi siphinde sifakwe kwakhona, emva koko isalathisi sakhula, kwaye ngexesha elithile laqala ukuthatha imizuzu engama-40 ukuphinda isalathisi. Sathi sakuyisika le nto, saphefumlela phezulu, kuba kwakucaca ukuba liza kudlula ixesha elincinane kwaye isalathiso sethu siza kufakwa kwakhona ngokupheleleyo. Oku kuya kuba kukungaphumeleli kwi-portal yethu, akukho ndaba zeeyure ezisibhozo - yiyo loo nto, ishishini limile.

Cwangcisa ukusebenza nenkonzo yenkedama

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Enyanisweni, oku kunzima kakhulu ukwenza, kuba i-devops imalunga nonxibelelwano. Ufuna ukuhlalisana kakuhle nabalingane bakho, kwaye xa ubetha oogxa bakho kunye nabaphathi entloko ngemimiselo, banokuba neemvakalelo eziphikisanayo kwabo bantu benza oku.

Ukongeza kuzo zonke ezi ngongoma, kukho enye into ebalulekileyo: abantu abathile kufuneka babe noxanduva lwenkonzo nganye, kwicandelo ngalinye lenkqubo yokuthunyelwa. Xa kungekho bantu kwaye kufuneka utsale abanye abantu ukuba bafunde yonke le nto, kuba nzima.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Ukuba konke oku akuzange kuncede, kwaye inkonzo yakho yenkedama iseyintandane, akukho mntu ufuna ukuyithatha, amaxwebhu abhalwa, iqela elibizelwe kule nkonzo liyala ukwenza nantoni na, kukho indlela elula - yokwenza kwakhona. yonke into .

Oko kukuthi, uthatha iimfuno zenkonzo ngokutsha kwaye ubhale inkonzo entsha, ngcono, kwiqonga elingcono, ngaphandle kwezisombululo ezingaqhelekanga zobuchwepheshe. Kwaye ufudukela kuyo edabini.

Iinkonzo zeenkedama: Kwelinye icala le(Micro)Service Architecture

Sasinemeko xa sithatha inkonzo kwi-Yii 1 kwaye saqonda ukuba asikwazi ukuyiphuhlisa ngakumbi, kuba siphelelwe ngabaphuhlisi abanokubhala kakuhle kwi-Yii 1. Bonke abaphuhlisi babhala kakuhle kwi-Symfony XNUMX. Kwenziwe ntoni? Sabela ixesha, sabela iqela, sabela umphathi, sayibhala ngokutsha iprojekthi kwaye satshintshela ngokutyibilikayo itrafikhi ukuya kuyo.

Emva koku, inkonzo endala inokususwa. Le yeyona nkqubo ndiyithandayo, xa kufuneka uthathe kwaye ucoce inkonzo ethile kwinkqubo yolawulo loqwalaselo kwaye emva koko uhambe kwaye ubone ukuba zonke iimoto ezikwimveliso zikhubaziwe, ukuze abaphuhlisi bangabinamkhondo oseleyo. Uvimba uhlala eGit.

Yiyo yonke le nto bendifuna ukuthetha ngayo, ndikulungele ukuxoxa, isihloko siyi-holivar, abaninzi baye baqubha kuyo.

Izilayidi zithe wena iilwimi ezimanyeneyo. Umzekelo kukutshintsha kwemifanekiso. Ngaba ngokwenene kuyimfuneko ukuyinciphisa ngokungqongqo kulwimi olunye? Kuba ubungakanani bomfanekiso kwi-PHP, kulungile, kunokwenziwa eGolang.

Enyanisweni, kuyakhethwa, njengazo zonke izenzo. Mhlawumbi, kwezinye iimeko, ayinqweneleki. Kodwa kufuneka uqonde ukuba ukuba unesebe lobugcisa kwinkampani yabantu abangama-50, abangama-45 kubo ziingcali ze-PHP, abanye aba-3 bangama-devops ayaziyo iPython, iAnsible, iPuppet kunye nento enjalo, kwaye mnye kuphela kubo obhala kwezinye. uhlobo lolwimi abanye Hamba umfanekiso resizing inkonzo, ngoko xa ishiya, ubuchule ihamba nayo. Kwaye kwangaxeshanye, kuya kufuneka ujonge umphuhlisi othe ngqo owazi olu lwimi, ngakumbi ukuba lunqabile. Oko kukuthi, ngokwembono yombutho, oku kuyingxaki. Ukusuka kwindawo yokujonga i-devops, awuzukudinga nje ukubumba iseti esele yenziwe yeencwadi zokudlala ozisebenzisayo ukuhambisa iinkonzo, kodwa kuya kufuneka uzibhale kwakhona.

Ngoku sakha inkonzo kwi-Node.js, kwaye oku kuya kuba liqonga elikufutshane kumphuhlisi ngamnye onolwimi olwahlukileyo. Kodwa sahlala sacinga ukuba umdlalo wawufanele ikhandlela. Oko kukuthi, lo ngumbuzo ukuba uhlale kwaye ucinge ngawo.

Uzijonga njani iinkonzo zakho? Uqokelela kwaye ubeke iliso njani iilog?

Siqokelela izingodo kwi-Elasticsearch kwaye sizibeke e-Kibana, kwaye kuxhomekeke ekubeni imveliso okanye indawo yokuvavanya, abaqokeleli abahlukeneyo basetyenziswa apho. Kwenye indawo uLumberjack, kwenye indawo enye into, andikhumbuli. Kwaye kusekho iindawo ezithile kwiinkonzo ezithile apho sifaka iTelegraf kwaye sidubule kwenye indawo ngokwahlukileyo.

Uhlala njani noPuppet kunye noAnsible kwindawo enye?

Ngapha koko, ngoku sineendawo ezimbini ezisingqongileyo, enye yiPuppet, enye iAnsible. Sisebenzela ukubahlanganisa. I-Ansible isakhelo esilungileyo sokuseta okokuqala, iPuppet sisikhokelo esibi sokuseta okokuqala kuba ifuna ukusebenza ngezandla ngokuthe ngqo kwiqonga, kwaye iPuppet iqinisekisa ukuhlangana koqwalaselo. Oku kuthetha ukuba iqonga lizigcina likwimo ehlaziyiweyo, kwaye ukuze umatshini owenziweyo ugcinwe usexesheni, kufuneka uqhube iincwadi zokudlala kuwo ngalo lonke ixesha ngokuphindaphindiweyo. Ngumahluko lowo.

Ukugcina njani ukuhambelana? Ngaba unayo imimiselo kuzo zombini i-Ansible kunye nePuppet?

Le yintlungu yethu enkulu, sigcina ukuhambelana nezandla zethu kwaye sicinge malunga nendlela yokuqhubela phambili kuyo yonke le ndawo kwindawo ngoku. Kuyavela ukuba iPuppet ikhupha iipakethe kwaye igcine amanye amakhonkco apho, kwaye i-Ansible, umzekelo, ikhupha ikhowudi kwaye ihlengahlengise usetyenziso lwamva nje lwenkqubo apho.

Umboniso wawumalunga neenguqulelo ezahlukeneyo zeRuby. Sisiphi isisombululo?

Sidibene nale nto kwindawo enye, kwaye kufuneka siyigcine ezintloko zethu ngalo lonke ixesha. Sivele sacima landawo ibihamba kwi Ruby ibingahambelani ne applications sayigcina yodwa.

Inkomfa yalo nyaka DevOpsDays eMoscow iya kwenzeka nge-7 kaDisemba eTechnopolis. Siyazamkela izicelo zeengxelo kude kube ngowe-11 kaNovemba. Bhala nathi ukuba ungathanda ukuthetha.

Ubhaliso lwabathathi-nxaxheba luvuliwe, sijoyine!

umthombo: www.habr.com

Yongeza izimvo