I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Wonke umntu uthetha ngeenkqubo zophuhliso kunye novavanyo, ukuqeqeshwa kwabasebenzi, ukunyuka kwenkuthazo, kodwa ezi nkqubo azanelanga xa umzuzu wokunciphisa inkonzo ubiza imali eninzi kakhulu. Yintoni omawuyenze xa uqhuba iintengiselwano zemali phantsi kweSLA engqongqo? Indlela yokwandisa ukuthembeka kunye nokunyamezela iimpazamo kwiinkqubo zakho, ukuthatha uphuhliso kunye nokuvavanya ngaphandle kwe-equation?

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Inkomfa elandelayo ye-HighLoad ++ iya kubanjwa ngo-Aprili 6 no-7, 2020 eSt. Iinkcukacha kunye namatikiti e unxibelelwano. NgoNovemba 9, 18:00. HighLoad++ Moscow 2018, Delhi + Kolkata hall. Ezi kunye intetho.

Evgeniy Kuzovlev (emva koku – EC): - Bahlobo, molweni! Igama lam nguKuzovlev Evgeniy. Ndisuka kwinkampani ye-EcommPay, icandelo elithile yi-EcommPay IT, icandelo le-IT leqela leenkampani. Kwaye namhlanje siza kuthetha ngamaxesha aphantsi - malunga nendlela yokuphepha, malunga nendlela yokunciphisa imiphumo yabo ukuba ayinakuphetshwa. Isihloko sichazwe ngolu hlobo: "Yintoni enokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100"? Ukujonga phambili, amanani ethu ayathelekiseka.

Yenza ntoni i-EcommPay IT?

Singoobani? Kutheni ndime apha phambi kwakho? Kutheni ndinelungelo lokukuxelela into apha? Kwaye siza kuthetha ngantoni apha ngokubanzi?

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Iqela le-EcommPay leenkampani lifumana amazwe ngamazwe. Siqhuba iintlawulo kwihlabathi liphela - eRashiya, eYurophu, kuMzantsi-mpuma weAsia (Ehlabathini lonke). Sineeofisi ezili-9, abasebenzi abangama-500 bebonke, kwaye malunga nesiqingatha esingaphantsi kancinci kubo ziingcali ze-IT. Yonke into esiyenzayo, yonke into esenza ngayo imali, siyenze ngokwethu.

Sibhale zonke iimveliso zethu (kwaye sinazo ezininzi kakhulu - kumgca wethu weemveliso ze-IT ezinkulu sinamacandelo ahlukeneyo ali-16) ngokwethu; Siyazibhalela, siyaziphuhlisa. Kwaye okwangoku siqhuba malunga nesigidi sentengiselwano ngosuku (izigidi mhlawumbi yindlela efanelekileyo yokuthetha). Siyinkampani eselula ngokufanelekileyo - simalunga neminyaka emithandathu kuphela ubudala.

Kwiminyaka eyi-6 eyadlulayo yayiyisiqalo esinjalo xa abafana beza kunye neshishini. Badityaniswe ngumbono (akukho nto yimbi ngaphandle kombono), kwaye sabaleka. Njengawo nawuphi na ukuqaliswa, sibaleke ngokukhawuleza ... Kithina, isantya sasibaluleke ngaphezu komgangatho.

Ngexesha elithile sayeka: saqonda ukuba asinakuphinda siphile ngandlela-thile kweso santya kunye naloo mgangatho kwaye kufuneka sigxile kumgangatho wokuqala. Ngalo mzuzu, sigqibe kwelokuba sibhale iqonga elitsha eliya kuba lilungile, elinokwehla, nelinokuthenjwa. Baqala ukubhala eli qonga (baqala ukutshala imali, ukuphuhlisa uphuhliso, uvavanyo), kodwa ngaxa lithile baqonda ukuba uphuhliso kunye novavanyo aluzange luvumele ukuba sifikelele kwinqanaba elitsha lomgangatho wenkonzo.

Wenza imveliso entsha, uyayifaka kwimveliso, kodwa kukho into engahambi kakuhle kwenye indawo. Kwaye namhlanje siza kuthetha malunga nendlela yokufikelela kwinqanaba elitsha lomgangatho (indlela esenza ngayo, malunga namava ethu), ukuthatha uphuhliso kunye nokuvavanya ngaphandle kwe-equation; siza kuthetha malunga nento ekhoyo ekusebenzeni - yintoni umsebenzi onokuyenza ngokwawo, yintoni enokubonelela ngayo kuvavanyo ukwenzela ukuba kuphembelele umgangatho.

Amaxesha okuphumla. Imiyalelo yokusebenza.

Ihlala ililitye lembombo, into esiza kuthetha ngayo namhlanje lixesha lokuphumla. Ilizwi elibi. Ukuba sinexesha lokuphumla, yonke into imbi kuthi. Sileqa ukuyiphakamisa, ii-admins zibambe iseva - uThixo makangawi, njengoko besitsho kuloo ngoma. Yile nto siza kuthetha ngayo namhlanje.

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Xa saqala ukutshintsha iindlela zethu, sakha imithetho emi-4. Ndizibonise kwizilayidi:

Le mithetho ilula kakhulu:

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

  • Khangela ngokukhawuleza ingxaki.
  • Yisuse ngokukhawuleza.
  • Nceda uqonde isizathu (kamva, kubaphuhlisi).
  • Kwaye ulungelelanise iindlela.

Ndingathanda ukutsalela ingqalelo yakho kwinqaku No. 2. Siyayisusa ingxaki, singayisombululi. Isigqibo sesibini. Kithina, into ephambili kukuba umsebenzisi ukhuselwe kule ngxaki. Iya kubakho kwindawo ethile ekwanti, kodwa le meko-bume ayiyi kuba nalo naluphi na unxibelelwano nayo. Ngokwenyani, siya kudlula kula maqela mane eengxaki (ezinye iinkcukacha ngakumbi, ezinye iinkcukacha ezincinci), ndiya kukuxelela into esiyisebenzisayo, ngawaphi amava afanelekileyo esinawo kwizisombululo.

Sombulula: Zenzeka nini kwaye mandenze ntoni ngazo?

Kodwa siya kuqala ngaphandle komyalelo, siya kuqala ngenqaku le-2 - njani ukulahla ngokukhawuleza ingxaki? Kukho ingxaki - kufuneka siyilungise. “Simele senze ntoni ngale nto?” - umbuzo ophambili. Kwaye xa saqala ukucinga malunga nendlela yokulungisa ingxaki, saziphuhlisela ezinye iimfuno ekufuneka zilandele ukusombulula ingxaki.

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Ukuze senze ezi zinto zifunekayo, sagqiba ekubeni sizibuze lo mbuzo: “Kunini na sineengxaki”? Kwaye iingxaki, njengoko kwavela, zenzeka kwiimeko ezine:

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

  • Ukusilela kwehardware.
  • Iinkonzo zangaphandle aziphumelelanga.
  • Ukutshintsha inguqulelo yesoftware (ukusasazwa okufanayo).
  • Ukukhula komthwalo oqhumayo.

Asiyi kuthetha ngezimbini zokuqala. Ukungasebenzi kakuhle kwehardware kunokusonjululwa ngokulula: kufuneka ube nayo yonke into ephindwe kabini. Ukuba ezi diski, iidiski kufuneka zidityaniswe kwi-RAID; ukuba lo ngumncedisi, umncedisi kufuneka aphindwe; ukuba unesiseko senethiwekhi, kufuneka unikeze ikopi yesibini yesiseko sothungelwano, oko kukuthi, uyithathe kwaye yiphindaphinde. Kwaye ukuba kukho into engaphumeleliyo, utshintshela ukugcina amandla. Kunzima ukuthetha enye into apha.

Okwesibini kukungaphumeleli kweenkonzo zangaphandle. Kuninzi, inkqubo ayiyongxaki kwaphela, kodwa hayi kuthi. Ekubeni siqhuba iintlawulo, siyi-aggregator emi phakathi komsebenzisi (ofaka idatha yekhadi lakhe) kunye neebhanki, iinkqubo zokuhlawula (i-Visa, MasterCard, Mira, njl.). Iinkonzo zethu zangaphandle (iinkqubo zentlawulo, iibhanki) zikholisa ukusilela. Thina okanye wena (ukuba uneenkonzo ezinjalo) asinakuphembelela oku.

Kufuneka wenze ntoni ke? Kukho iinketho ezimbini apha. Okokuqala, ukuba unako, kufuneka uphinde le nkonzo ngandlela thile. Ngokomzekelo, ukuba sinako, sidlulisela i-traffic ukusuka kwinkonzo enye ukuya kwenye: umzekelo, amakhadi acutshungulwa nge-Sberbank, i-Sberbank ineengxaki - sidlulisela i-traffic [ngokwemiqathango] kwi-Raiffeisen. Into yesibini esinokuyenza kukubona ukungaphumeleli kweenkonzo zangaphandle ngokukhawuleza, kwaye ngoko siya kuthetha ngesantya sokuphendula kwinxalenye elandelayo yengxelo.

Enyanisweni, kwezi zine, sinokuphembelela ngokuthe ngqo utshintsho lweenguqulelo zesofthiwe - thatha izenzo eziya kukhokelela ekuphuculeni imeko kumxholo wokuthunyelwa kunye nomxholo wokukhula okuqhumayo kumthwalo. Ngokwenene, yiloo nto esayenzayo. Apha, kwakhona, inqaku elincinci ...

Kwezi ngxaki zine, ezininzi zisonjululwa ngoko nangoko ukuba unelifu. Ukuba ukwiMicrosoft Azhur, amafu e-Ozone, okanye usebenzise amafu ethu, ukusuka kwiYandex okanye kwi-Mail, ngoko ke ubuncinci ukungasebenzi kakuhle kwehardware kuba yingxaki yabo kwaye yonke into ilungile kuwe ngokomxholo wokungasebenzi kakuhle kwehardware.

Siyinkampani engaqhelekanga kancinci. Apha wonke umntu uthetha nge "Kubernets", malunga namafu - asinayo "Kubernets" okanye amafu. Kodwa sinee-racks ze-hardware kumaziko amaninzi edatha, kwaye siphoqeleka ukuba siphile kule hardware, siphoqeleka ukuba sibe noxanduva kuyo yonke into. Ngoko ke, siza kuthetha kulo mongo. Ngoko, malunga neengxaki. Ezokuqala ezimbini zakhutshwa kwizibiyeli.

Ukutshintsha inguqulelo yesoftware. Iziseko

Abaphuhlisi bethu abanakho ukufikelela kwimveliso. Kutheni kunjalo? Yinto yokuba siqinisekisiweyo nge-PCI DSS, kwaye abaphuhlisi bethu abanalo ilungelo lokungena “kwimveliso”. Yiyo loo nto, ixesha. Kukonke. Ke ngoko, uxanduva lophuhliso luphela kanye ngalo mzuzu xa uphuhliso lungenisa ukwakhiwa ukuze kukhululwe.

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

Isiseko sethu sesibini esinaso, esikwasinceda kakhulu, kukungabikho kolwazi olulodwa olungabhalwanga phantsi. Ndiyathemba ukuba kuyafana nakuwe. Kuba ukuba akunjalo, uya kuba neengxaki. Iingxaki ziya kuvela xa olu lwazi lukhethekileyo, lungabhalwanga lungekho ngexesha elifanelekileyo kwindawo efanelekileyo. Masithi unomntu omnye okwaziyo ukuhambisa icandelo elithile - umntu akakho, useholideyini okanye uyagula - yiloo nto, uneengxaki.

Kwaye isiseko sesithathu esize kuso. Safika kuyo ngeentlungu, igazi, iinyembezi - safikelela kwisigqibo sokuba nayiphi na into yokwakha yethu iqulethe iimpazamo, nokuba ayinaziphoso. Sagqiba oku ngokwethu: xa sihambisa into, xa siqengqa into ethile kwimveliso, sinesakhiwo esineempazamo. Senze iimfuno ekufuneka inkqubo yethu izanelise.

Iimfuno zokutshintsha inguqulelo yesoftware

Kukho iimfuno ezintathu:

I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

  • Kufuneka sibuyisele umva ngokukhawuleza ukuthunyelwa.
  • Kufuneka sinciphise impembelelo yokusasazwa okungaphumelelanga.
  • Kwaye kufuneka sikwazi ukuhambisa ngokukhawuleza ngokuhambelanayo.
    Kanye ngolo hlobo! Ngoba? Kuba, okokuqala, xa uhambisa inguqu entsha, isantya asibalulekanga, kodwa kubalulekile kuwe, ukuba kukho into engahambi kakuhle, ukukhawuleza ukubuyisela umva kwaye ube nempembelelo encinci. Kodwa ukuba unesethi yeenguqulelo kwimveliso, apho kuvela ukuba kukho impazamo (ngaphandle kwe-blue, kwakungekho ukuthunyelwa, kodwa kukho impazamo) - isantya sokuthunyelwa okulandelayo kubalulekile kuwe. Senze ntoni ukuhlangabezana nezi mfuno? Sabhenela kule ndlela ilandelayo:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Yaziwa kakuhle, asizange siyiqambe- le yiBlue/Green deploy. Yintoni? Kufuneka ube nekopi kwiqela ngalinye leeseva apho usetyenziso lwakho lufakwe khona. Ikopi "ifudumele": akukho zithuthi kuyo, kodwa nangaliphi na ixesha le traffic ingathunyelwa kule kopi. Le kopi iqulethe inguqulelo yangaphambili. Kwaye ngexesha lokuthunyelwa, ukhupha ikhowudi kwikopi engasebenzi. Emva koko utshintshe inxalenye yetrafikhi (okanye yonke) kwinguqulelo entsha. Ngaloo ndlela, ukuze utshintshe ukuhamba kwezithuthi ukusuka kwinguqu endala ukuya kwintsha, kufuneka wenze isenzo esisodwa kuphela: kufuneka utshintshe i-balancer kwindawo ephezulu, utshintshe ulwalathiso - ukusuka kwelinye ukuya kwelinye. Oku kulungeleka kakhulu kwaye isombulula ingxaki yokutshintsha ngokukhawuleza kunye nokubuyisela ngokukhawuleza.

    Apha isisombululo kumbuzo wesibini kukunciphisa: ungathumela kuphela inxalenye yetrafikhi yakho kumgca omtsha, kumgca kunye nekhowudi entsha (makube, umzekelo, 2%). Kwaye ezi 2% azikho i-100%! Ukuba uphulukene ne-100% yetrafikhi yakho ngenxa yokuthunyelwa okungaphumelelanga, oko kuyoyikisa; ukuba ulahlekelwe yi-2% yetrafikhi yakho, ayimnandi loo nto, kodwa ayoyiki. Ngaphezu koko, abasebenzisi abanakho ukuqaphela oku, kuba kwezinye iimeko (kungekhona kuzo zonke) umsebenzisi ofanayo, ucinezela F5, uya kuthathwa kwenye, inguqulelo esebenzayo.

    Blue/Green deploy. Indlela

    Nangona kunjalo, akusiyo yonke into elula "i-Blue / Green deploy" ... Zonke izinto zethu zinokwahlulwa zibe ngamaqela amathathu:

    • le yi-frontend (amaphepha entlawulo abonwa ngabaxhasi bethu);
    • undoqo wokucubungula;
    • i-adapter yokusebenza kunye neenkqubo zokuhlawula (iibhanki, i-MasterCard, i-Visa ...).

    Kwaye kukho i-nuance apha - i-nuance ilele kwindlela phakathi kwemigca. Ukuba utshintsha nje i-100% yetrafikhi, awunazo ezi ngxaki. Kodwa ukuba ufuna ukutshintsha i-2%, uqala ukubuza imibuzo: "Ukwenza njani oku?" Eyona nto ilula iqonde phambili: unokwenza i-Round Robin kwi-nginx ngokukhetha okungahleliwe, kwaye une-2% ukuya kwesobunxele, i-98% ukuya kwesokudla. Kodwa oku akusoloko kufanelekile.

    Ngokomzekelo, kwimeko yethu, umsebenzisi usebenzisana nenkqubo ngesicelo esingaphezulu kwesinye. Oku kuqhelekile: 2, 3, 4, 5 izicelo - iinkqubo zakho zinokufana. Kwaye ukuba kubalulekile kuwe ukuba zonke izicelo zomsebenzisi zize kumgca ofanayo apho isicelo sokuqala sifike khona, okanye (inqaku lesibini) zonke izicelo zomsebenzisi ziza kumgca omtsha emva kokutshintsha (ubenokuqalisa ukusebenza ngaphambili inkqubo, phambi kokutshintsha), - ke olunikezelo olungakhethiyo alufanelekanga kuwe. Emva koko kukho ezi ndlela zilandelayo:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Inketho yokuqala, eyona ilula, isekelwe kwiiparameters ezisisiseko zomthengi (IP Hash). Unayo i-IP, kwaye uyahlulahlula ukusuka ekunene ukuya ekhohlo ngedilesi ye-IP. Ke imeko yesibini endiyichazileyo iya kusebenza kuwe, xa ukuthunyelwa kwenzeka, umsebenzisi unokuqalisa ukusebenza kunye nenkqubo yakho, kwaye ukusuka kumzuzu wokuhanjiswa zonke izicelo ziya kumgca omtsha (kwinye efanayo, yithi).

    Ukuba ngesizathu esithile oku akukufanelanga kwaye kufuneka uthumele izicelo kumgca apho isicelo sokuqala somsebenzisi sifike khona, ngoko unokhetho ezimbini...
    Inketho yokuqala: ungathenga i-nginx+ ehlawulwayo. Kukho indlela yeeseshoni eziSticky, ethi, kwisicelo sokuqala somsebenzisi, yabela iseshoni kumsebenzisi kwaye iyibophelele komnye okanye komnye umlambo. Zonke izicelo zabasebenzisi ezilandelayo ngaphakathi kwexesha lobomi beseshoni ziya kuthunyelwa kwindawo enye enyukayo apho iseshoni yathunyelwa khona.

    Oku akuzange kusilungele kuba sasisele sinenginx eqhelekileyo. Ukutshintshela kwi-nginx+ ayikuko ukuba kuyabiza, kukuba nje bekubuhlungu kuthi kwaye bekungalunganga kakhulu. "IiSeshini zeZintonga", umzekelo, azizange zisisebenzele ngenxa yesizathu esilula sokuba "iiSeshini zeZintonga" azivumeli indlela esekelwe ku-"Nokuba-okanye". Apho ungacacisa ukuba senza ntoni "IiSeshini zokuncamathela", umzekelo, ngedilesi ye-IP okanye ngedilesi ye-IP kunye neekuki okanye nge-postparameter, kodwa "Nokuba-okanye" inzima kakhulu apho.

    Ngoko ke, sifike kukhetho lwesine. Sithathe i-nginx kwi-steroids (le yi-openresty) - le yi-nginx efanayo, exhasa ukongezelela ukufakwa kwezikripthi zokugqibela. Ungabhala iskripthi sokugqibela, unike "ukuphumla okuvulekileyo", kwaye esi script sokugqibela siya kuphunyezwa xa isicelo somsebenzisi sifika.

    Kwaye sibhale, eneneni, iskripthi esinjalo, sizibekele "openresti" kwaye kwesi script sihlela ngeeparamitha ezi-6 ezahlukeneyo ngokudibanisa "Okanye". Ngokuxhomekeke kubukho bomnye okanye enye iparameter, siyazi ukuba umsebenzisi weza kwelinye iphepha okanye kwelinye, umgca omnye okanye omnye.

    Blue/Green deploy. Izinto eziluncedo nezingeloncedo

    Ewe kunjalo, bekunokwenzeka ukwenza kube lula kancinci (sebenzisa "iiSeshini eziNcangathi") ezifanayo, kodwa sikwanombono ongengomsebenzisi kuphela osebenzisana nathi ngaphakathi kwesakhelo senkqubo enye yentengiselwano enye... Kodwa iinkqubo zokuhlawula zikwasebenzisana nathi: Emva kokuba siqhubekisela phambili ukuthengiselana (ngokuthumela isicelo kwinkqubo yokuhlawula), sifumana i-coolback.
    Kwaye masithi, ukuba ngaphakathi kwesekethe yethu sinokuthumela idilesi ye-IP yomsebenzisi kuzo zonke izicelo kwaye sahlule abasebenzisi ngokusekwe kwidilesi ye-IP, ke asiyi kuxelela enye "iVisa": "Mfo, siyinkampani ye-retro, kubonakala ngathi. ukuba ube ngamazwe ngamazwe (kwiwebhusayithi kunye naseRashiya)... Nceda usinike idilesi ye-IP yomsebenzisi kwintsimi eyongezelelweyo, iprotocol yakho isemgangathweni "! Kuyacaca ukuba abazukuvuma.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ngoko ke, oku akuzange kusisebenzele - senze i-openresty. Ngokufanelekileyo, ngokujonga indlela sinento efana nale:

    IBlue/Green Deployment ine, ngokufanelekileyo, izibonelelo endizikhankanyileyo kunye nezingeloncedo.

    Izinto ezingalunganga ezimbini:

    • kufuneka uzikhathaze ngomzila;
    • isiphene sesibini esingundoqo ziindleko.

    Udinga kabini iiseva ezininzi, udinga izixhobo zokusebenza eziphindwe kabini, kufuneka uchithe kabini umzamo omkhulu wokugcina le zoo yonke.

    Ngendlela, phakathi kweenzuzo kukho enye into endingazange ndiyikhankanye ngaphambili: unokugcinwa kwimeko yokukhula komthwalo. Ukuba unokukhula okuqhumayo kumthwalo, unenani elikhulu labasebenzisi, ngoko uquka nje umgca wesibini kwi-50 ukuya kwi-50 yokusabalalisa - kwaye ngoko nangoko unamaseva e-x2 kwiqela lakho de uyisombulule ingxaki yokuba neeseva ezininzi.

    Indlela yokwenza ukuthunyelwa ngokukhawuleza?

    Sathetha malunga nendlela yokusombulula ingxaki yokunciphisa kunye nokubuyisela ngokukhawuleza, kodwa umbuzo uhlala: "Indlela yokuhambisa ngokukhawuleza?"

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Imfutshane kwaye ilula apha.

    • Kuya kufuneka ube nenkqubo yeCD (Ukuhanjiswa okuQhubelekayo) - awunakuphila ngaphandle kwayo. Ukuba uneseva enye, ungayisebenzisa ngesandla. Sinewaka elinesiqingatha sabancedisi kunye newaka elinesiqingatha leziphatho, ngokuqinisekileyo - sinokutyala isebe ubungakanani beli gumbi nje ukuhambisa.
    • Ukusasazwa kufuneka kuhambelane. Ukuba ukuthunyelwa kwakho kulandelelwano, ngoko yonke into imbi. Iseva enye iqhelekile, uya kube uthumela iwaka elinesiqingatha seseva imini yonke.
    • Kwakhona, ukukhawulezisa, oku mhlawumbi akusafuneki. Ngexesha lokuthunyelwa, iprojekthi idla ngokwakhiwa. Uneprojekthi yewebhu, kukho inxalenye yesiphelo sangaphambili (uyenza ipakethe yewebhu apho, uqokelela i-npm - into enjalo), kwaye le nkqubo, ngokomgaqo, ihlala ixesha elifutshane - imizuzu emi-5, kodwa le mizuzu emi-5 inako. gxeka. Yingakho, umzekelo, asikwenzi oko: sisuse le mizuzu emi-5, sihambisa izinto zakudala.

      Yintoni i-artifact? I-artifact sisakhiwo esidityanisiweyo apho zonke iinxalenye zendibano sele zigqityiwe. Sigcina le-artifact kwindawo yokugcina izinto zakudala. Ngesinye isikhathi sasebenzisa ezimbini ezinjalo zokugcina - yayiyi-Nexus kwaye ngoku i-jFrog Artifactory) Ekuqaleni sasebenzisa "i-Nexus" kuba saqala ukwenza le ndlela kwizicelo ze-java (ifaneleke kakuhle). Emva koko babeka ezinye zezicelo ezibhalwe kwi-PHP apho; kwaye "i-Nexus" yayingasenakufanelekanga, kwaye ngoko ke sakhetha i-jFrog Artefactory, enokuthi i-artifactorize phantse yonke into. Side safikelela kwinqanaba lokuba kule ndawo yokugcina izinto zakudala sigcina ezethu iipakethe zokubini esiziqokelelela abancedisi.

    Ukukhula komthwalo oqhumayo

    Sathetha ngokutshintsha uguqulelo lwesoftware. Into elandelayo esinayo kukunyuka okuqhumayo kumthwalo. Apha, mhlawumbi ndithetha ngokukhula okugqabhukileyo komthwalo ayisiyonto ilungileyo...

    Sabhala inkqubo entsha - ijolise kwinkonzo, isefashonini, intle, abasebenzi kuyo yonke indawo, imigca kuyo yonke indawo, i-asynchrony kuyo yonke indawo. Kwaye kwiinkqubo ezinjalo, idatha inokuhamba ngeendlela ezahlukeneyo. Kwintengiselwano yokuqala, i-1, i-3, i-10 yomsebenzi ingasetyenziselwa, kwi-transaction yesibini-ye-2, yesi-4, yesi-5. Kwaye namhlanje, masithi, kusasa unayo ukuhamba kwedatha esebenzisa abasebenzi abathathu bokuqala, kwaye ngokuhlwa kutshintsha ngokuphawulekayo, kwaye yonke into isebenzisa abanye abasebenzi abathathu.

    Kwaye apha kuyavela ukuba ngandlela ithile kufuneka ulinganise abasebenzi, kufuneka ulinganise iinkonzo zakho ngandlela thile, kodwa kwangaxeshanye uthintele ukubhula kwesixhobo.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Sizichazile iimfuno zethu. Ezi mfuno zilula kakhulu: ukuba kubekho ukufunyanwa kweNkonzo, i-parameterization - yonke into isemgangathweni wokwakha iinkqubo ezinobungozi, ngaphandle kwenqaku elinye - ukuhla kwexabiso. Sithe asikakulungeli ukwenza amortize izixhobo ukuze iiseva zifudumale umoya. Sithathe "Consul", sathatha "Nomad", olawula abasebenzi bethu.

    Kutheni le nto iyingxaki kuthi? Makhe sibuye umva kancinci. Ngoku sinee-70 iinkqubo zokuhlawula emva kwethu. Ekuseni, i-traffic ihamba nge-Sberbank, ngoko i-Sberbank yawa, umzekelo, kwaye siyitshintshela kwenye inkqubo yokuhlawula. Sasinabasebenzi abayi-100 ngaphambi kweSberbank, kwaye emva koko kufuneka sinyuse ngokukhawuleza abasebenzi abayi-100 kwenye inkqubo yokuhlawula. Kwaye kunqweneleka ukuba konke oku kwenzeke ngaphandle kokuthatha inxaxheba komntu. Kuba ukuba kukho inxaxheba yabantu, kufuneka kubekho injineli ehleli apho 24/7, ngubani omele enze oku kuphela, kuba ezo ntsilelo, xa iinkqubo ezingama-70 zisemva kwakho, zenzeka rhoqo.

    Ngoko ke, sijonge i-Nomad, ene-IP evulekileyo, kwaye yabhala into yethu, i-Scale-Nomad - ScaleNo, eyenza malunga noku kulandelayo: ibeka esweni ukukhula komgca kunye nokunciphisa okanye ukwandisa inani labasebenzi ngokuxhomekeke kwi-dynamics. emgceni. Xa siyenzile, sacinga: "Mhlawumbi singawuvula umthombo?" Emva koko bamjonga - wayelula njenge-kopecks ezimbini.

    Ukuza kuthi ga ngoku asiyivulanga, kodwa ukuba ngequbuliso emva kwengxelo, emva kokuqonda ukuba ufuna into enjalo, uyayidinga, abafowunelwa bam bakwisilayidi sokugqibela - nceda ubhale kum. Ukuba kukho ubuncinane abantu aba-3-5, siya kuxhasa ngemali.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ingaba isebenza kanjani? Makhe sijonge! Ukukhangela phambili: kwicala lasekhohlo kukho inxalenye yethu yokubeka iliso: lo ngumgca omnye, phezulu lixesha lokucubungula umcimbi, phakathi kwenani leentengiselwano, ngasezantsi inani labasebenzi.

    Ukuba ujonga, kukho i-glitch kulo mfanekiso. Kwitshathi ephezulu, enye yeetshathi yaphuka kwimizuzwana ye-45 - enye yeenkqubo zokuhlawula yehla. Ngokukhawuleza, i-traffic yangeniswa kwimizuzu emi-2 kwaye umgca waqala ukukhula kwenye inkqubo yokuhlawula, apho kwakungekho nabasebenzi (asizange sisebenzise izixhobo - ngokuchaseneyo, salahla isibonelelo ngokuchanekileyo). Sasingafuni ukufudumeza - kwakukho inani elincinci, malunga nabasebenzi abayi-5-10, kodwa abazange bakwazi ukumelana nayo.

    Igrafu yokugqibela ibonisa "i-hump", ethetha nje ukuba "i-Skaleno" iphindwe kabini le mali. Kwaye ke, xa igrafu yehla kancinci, wayinciphisa kancinci - inani labasebenzi latshintshwa ngokuzenzekelayo. Isebenza ngolo hlobo ke le nto. Sathetha ngenombolo ye-2- "Indlela yokususa ngokukhawuleza izizathu."

    Ukubeka iliso. Indlela yokuchonga ngokukhawuleza ingxaki?

    Ngoku inqaku lokuqala lithi "Indlela yokuchonga ingxaki ngokukhawuleza?" Ukubeka iliso! Kufuneka siqonde izinto ezithile ngokukhawuleza. Ziziphi izinto esifanele siziqonde ngokukhawuleza?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Izinto ezintathu!

    • Kufuneka siqonde kwaye siqonde ngokukhawuleza ukusebenza kwezixhobo zethu.
    • Kufuneka siqonde ngokukhawuleza ukungaphumeleli kwaye sibeke iliso ekusebenzeni kweenkqubo ezingaphandle kwethu.
    • Ingongoma yesithathu kukuchonga iimpazamo ezisengqiqweni. Oku kuxa inkqubo isebenza kuwe, yonke into iqhelekile ngokwezikhombisi zonke, kodwa kukho into engahambi kakuhle.

    Mhlawumbi andiyi kukuxelela into epholileyo apha. Ndiza kuba nguKapteni Kucacile. Sakhangela into eyayisemarikeni. Sine “zoo yolonwabo”. Olu luhlobo lomyezo wezilwanyana esinawo ngoku:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Sisebenzisa i-Zabbix ukubeka iliso kwi-hardware, ukujonga iimpawu eziphambili zeeseva. Sisebenzisa i-Okmeter kuluhlu lweenkcukacha. Sisebenzisa u-“Grafana” kunye no-“Prometheus” kuzo zonke ezinye izikhombisi ezingahambelaniyo nezimbini zokuqala, ezinye ezino-“Grafana” no-“Prometheus”, kunye no-“Grafana” no-“Influx” ne-Telegraf.

    Kunyaka ophelileyo besifuna ukusebenzisa iRelic entsha. Into emnandi, inokwenza yonke into. Kodwa kangangoko ekwazi ukwenza yonke into, ubiza kakhulu. Sathi sakukhula safikelela kwi-1,5 lamawaka eeseva, umthengisi weza kuthi waza wathi: “Masenze isivumelwano sonyaka ozayo.” Sijonge ixabiso kwaye sathi hayi, asiyi kuyenza loo nto. Ngoku siyayishiya iRelic eNtsha, sineeseva ezimalunga ne-15 ezishiyekileyo phantsi kweliso leNew Relic. Ixabiso liye labonakala likhohlakele ngokupheleleyo.

    Kwaye kukho isixhobo esinye esiziphumezileyo ngokwethu- esi siDebugger. Ekuqaleni sasiyibiza ngokuba “yi-Bagger,” kodwa emva koko kwadlula umfundisi-ntsapho wesiNgesi, wahleka kakhulu, wayibiza ngokuba “yiDebagger.” Yintoni? Esi sixhobo, eqinisweni, kwimizuzwana ye-15-30 kwicandelo ngalinye, njenge "bhokisi elimnyama" lenkqubo, liqhuba iimvavanyo ekusebenzeni ngokubanzi kwecandelo.

    Ngokomzekelo, ukuba kukho iphepha langaphandle (iphepha lokuhlawula), livula nje kwaye lijonge indlela elifanele libukeke ngayo. Ukuba oku kucutshungulwa, uthumela uvavanyo "lokuthengiselana" kwaye uyaqinisekisa ukuba le "transaction" ifika. Ukuba oku kunxibelelwano kunye neenkqubo zokuhlawula, sitshisa isicelo sovavanyo ngokufanelekileyo, apho sinakho, kwaye sibone ukuba yonke into ihamba kakuhle nathi.

    Zeziphi izikhombisi ezibalulekileyo ekubekweni iliso?

    Yintoni esiyijongayo ubukhulu becala? Zeziphi izikhombisi ezibalulekileyo kuthi?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    • Ixesha lokuphendula / i-RPS kwimida luphawu olubaluleke kakhulu. Uphendula ngoko nangoko ukuba kukho undonakele kuwe.
    • Inani lemiyalezo eqhubekekayo kuyo yonke imigca.
    • Inani labasebenzi.
    • Iimetriki zokuchaneka okusisiseko.

    Inqaku lokugqibela "lishishini", "ishishini" i-metric. Ukuba ufuna ukubeka esweni into enye, kufuneka uchaze i-metrics enye okanye ezimbini ezizizalathisi eziphambili kuwe. I-metric yethu yi-throughput (lo ngumlinganiselo wenani leentengiselwano eziyimpumelelo kuhambo lulonke lwentengiselwano). Ukuba kukho into eguqukayo kuyo ngexesha lemizuzu emi-5-10-15, oko kuthetha ukuba sineengxaki (ukuba itshintsha kakhulu).

    Indlela ekhangeleka ngayo kuthi ngumzekelo wenye yeebhodi zethu:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Kwicala lasekhohlo kukho iigrafu ezi-6, oku kuhambelana nemigca - inani labasebenzi kunye nenani lemiyalezo kwimigca. Kwicala lasekunene - RPS, RTS. Apha ngezantsi kukho i-metric efanayo "yeshishini". Kwaye kwi-metric "yeshishini" sinokubona ngokukhawuleza ukuba kukho into ephosakeleyo kwiigrafu ezimbini eziphakathi ... Le yenye nje inkqubo emi emva kwethu ewileyo.

    Into yesibini ekwakufuneka siyenze kukubeka esweni ukuwa kwenkqubo yentlawulo yangaphandle. Apha sithathe i-OpenTracing - indlela, umgangatho, i-paradigm evumela ukuba ulandele iinkqubo ezisasaziweyo; kwaye yatshintshwa kancinane. Umgangatho we-OpenTracing paradigm uthi sakha umkhondo wesicelo somntu ngamnye. Asizange siyifune le nto, kwaye siyisonge ngesishwankathelo, umkhondo wokuhlanganisa. Senze isixhobo esivumela ukuba silandele isantya seenkqubo ezisemva kwethu.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Igrafu isibonisa ukuba enye yeenkqubo zokuhlawula yaqala ukuphendula ngemizuzwana emi-3 - sineengxaki. Ngaphezu koko, le nto iya kusabela xa iingxaki ziqala, kwithuba le-20-30 imizuzwana.

    Kwaye iklasi yesithathu yeempazamo zokubeka iliso ezikhoyo kukubeka iliso okunengqiqo.

    Ukunyaniseka, ndandingazi ukuba mandizobe ntoni kwesi silayidi, kuba sasikhangele ixesha elide emarikeni into eya kusifanela. Asizange sifumane nto, ngoko kwafuneka sizenzele ngokwethu.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ndithetha ukuthini ngokubeka iliso okusengqiqweni? Ewe, khawufane ucinge: uzenzela inkqubo (umzekelo, iTinder clone); uwenzile, wayisungula. Umphathi ophumelelayo uVasya Pupkin wayibeka kwifowuni yakhe, ubona intombazana apho, iyamthanda ... kwaye into efana nayo ayiyi kwintombazana - into efana nayo iya kumlindi uMikhalych ovela kwiziko elifanayo lezoshishino. Umphathi uyehla ezantsi, aze emva koko azibuze: “Kutheni lo nogada uMikhalych emncumela kangaka nje?”

    Kwiimeko ezinjalo ... Kithina, le meko ivakala ihluke kancinane, kuba (ndabhala) oku kukulahlekelwa kwegama elikhokelela ngokungathanga ngqo kwilahleko yemali. Imeko yethu ichaseneyo: sinokufumana ilahleko yemali ngokuthe ngqo - umzekelo, ukuba siqhube intengiselwano njengempumelelo, kodwa ayizange iphumelele (okanye ngokuphendululekileyo). Kwafuneka ndibhale esam isixhobo esilandelela inani lentengiselwano eyimpumelelo ngexesha usebenzisa izikhombisi zeshishini. Khange ndifumane nto kwimarike! Le yeyona ngcamango bendifuna ukuyidlulisela. Akukho nto kwimarike yokusombulula olu hlobo lwengxaki.

    Oku kwakumalunga nendlela yokuchonga ngokukhawuleza ingxaki.

    Indlela yokufumanisa izizathu zokuthunyelwa

    Iqela lesithathu leengxaki esizisombululayo kusemva kokuba siyichongile ingxaki, emva kokuba siyikhuphe, kungakuhle ukuba siqonde isizathu sophuhliso, sovavanyo, kwaye senze okuthile ngayo. Ngokunjalo, kufuneka siphande, kufuneka sinyuse iinkuni.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ukuba sithetha ngezigodo (esona sizathu siphambili zigodo), ubuninzi beelogi zethu zikwi-ELK Stack - phantse wonke umntu uyafana. Kwabanye, akunakubakho kwi-ELK, kodwa ukuba ubhala iilogi kwiigigabhayithi, ngokukhawuleza okanye kamva uya kuza kwi-ELK. Sizibhala ngeeterabytes.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Kukho ingxaki apha. Sayilungisa, salungisa impazamo kumsebenzisi, saqala ukumba into ekhoyo, sakhwela kwi-Kibana, sangena kwi-id yokuthengiselana apho safumana i-footcloth enje (ibonisa kakhulu). Kwaye akukho nto icacileyo kweli laphu leenyawo. Ngoba? Ewe, kuba akucaci ukuba leliphi icandelo lelomsebenzi, leliphi icala leliphi icandelo. Kwaye ngelo xesha siye sabona ukuba sifuna umkhondo-kwaloo OpenTracing bendithetha ngayo.

    Sacinga oku kunyaka ophelileyo, sajika ingqalelo yethu kwimarike, kwaye kwakukho izixhobo ezimbini apho - "Zipkin" kunye "Jaeger". "I-Jager" ngokwenene iyindlalifa yengcamango, umlandeli weengcamango ze "Zipkin". Yonke into ilungile kwiZipkin, ngaphandle kokuba ingayazi indlela yokudibanisa, ayiyazi indlela yokubandakanya izingodo kwi-trace, kuphela ixesha lokulandelela. Kwaye "uJager" wayixhasa le nto.

    Sijonge kwi-"Jager": unokwenza izixhobo zokusebenza, ungabhala kwi-Api (umgangatho we-Api we-PHP ngelo xesha, nangona kunjalo, awuzange uvunywe - oku kwakunyaka odlulileyo, kodwa ngoku sele kuvunyiwe), kodwa kukho. wayengenguye umxhasi ngokupheleleyo. "Kulungile," sacinga, kwaye sabhala umxhasi wethu. Sifumene ntoni? Le nto ikhangeleka ngathi:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Kwi-Jaeger, i-spans yenziwe kumyalezo ngamnye. Oko kukuthi, xa umsebenzisi evula inkqubo, ubona ibhloko enye okanye ezimbini kwisicelo ngasinye esingenayo (1-2-3 - inani lezicelo ezingenayo kumsebenzisi, inani leebhloko). Ukwenza kube lula kubasebenzisi, songeze iithegi kwiilogi kunye nokulandela ixesha. Ngokufanelekileyo, kwimeko yempazamo, isicelo sethu siya kuphawula ilog ngethegi yempazamo efanelekileyo. Ungahluza ngemposiso ithegi kwaye kuphela iziphalu eziqulathe le block ngempazamo ziyakuboniswa. Le yindlela ekhangeleka ngayo ukuba sandisa isithuba:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ngaphakathi kwe-span kukho isethi yeempawu. Kule meko, ezi zintathu zovavanyo, kwaye umkhondo wesithathu usixelela ukuba kwenzeke impazamo. Kwangaxeshanye, apha sibona umkhondo wexesha: sinesikali sexesha phezulu, kwaye sibona ukuba leliphi ixesha lekhefu le okanye loo log irekhodwe.

    Ngenxa yoko, izinto zasihambela kakuhle. Sibhale eyethu isandiso kwaye siyivula imvelaphi. Ukuba ufuna ukusebenza ngokulandela umkhondo, ukuba ufuna ukusebenza no "Jager" kwi-PHP, kukho ukongezwa kwethu, wamkelekile ukusebenzisa, njengoko besithi:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Sinolu lwandiso - ngumxhasi we-OpenTracing Api, yenziwe njenge-php-extention, oko kukuthi, kuya kufuneka uyihlanganise kwaye uyifake kwinkqubo. Kunyaka ophelileyo akukho nto yahlukileyo. Ngoku kukho abanye abathengi abafana namacandelo. Nantsi ixhomekeke kuwe: nokuba upompa izixhobo ngomqambi, okanye usebenzisa ukongezwa kuwe.

    Imigangatho yoshishino

    Sathetha ngemithetho emithathu. Umthetho wesine kukulinganisa iindlela. Imalunga nantoni? Imalunga noku:

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Kutheni igama elithi “corporate” lilapha? Hayi ngenxa yokuba siyinkampani enkulu okanye i-bureaucratic, hayi! Bendifuna ukusebenzisa igama elithi "corporate" apha kumxholo wokuba yonke inkampani, yonke imveliso kufuneka ibenemigangatho yayo, kuquka nawe. Yiyiphi imilinganiselo esinayo?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    • Sinemimiselo yokuthunyelwa. Asihambi ndawo ngaphandle kwakhe, asinako. Sihambisa malunga namaxesha angama-60 ngeveki, oko kukuthi, sihambisa phantse rhoqo. Ngexesha elifanayo, sinakho, umzekelo, kwimimiselo yokuthunyelwa kwe-taboo ekuhanjisweni ngoLwesihlanu - ngokusemthethweni, asiyi kuthunyelwa.
    • Sifuna amaxwebhu. Akukho nalinye icandelo elitsha elingena kwimveliso ukuba akukho maxwebhu alo, nokuba lazalwa phantsi kosiba lweengcali zethu zeRnD. Sifuna kubo imiyalelo yokuhanjiswa, imephu yokubeka iliso kunye nenkcazo erhabaxa (kakuhle, njengoko abadwelisi benkqubo banokubhala) malunga nendlela eli candelo lisebenza ngayo, indlela yokuyicombulula.
    • Asisombululi unobangela wengxaki, kodwa ingxaki - into esele ndiyithethile. Kubalulekile kuthi ukukhusela umsebenzisi kwiingxaki.
    • Sineziqinisekiso. Umzekelo, asiyiboni njengexesha lokuphumla ukuba siphulukene ne-2% yetrafikhi kwimizuzu emibini. Oku akuqukwanga kwiinkcukacha-manani zethu. Ukuba ngaphezulu ngokwepesenti ngokwemiqathango okanye okwethutyana, sele sibala.
    • Kwaye sihlala sibhala postmortems. Nantoni na eyenzekayo kuthi, nayiphi na imeko apho umntu aziphathe ngokungaqhelekanga kwimveliso iya kubonakala kwi-post-mortem. I-postmortem luxwebhu obhala kulo ukuba kwenzeke ntoni kuwe, ixesha elicacileyo, into oyenzileyo ukuyilungisa kwaye (oku kuyisithintelo esisinyanzelo!) yintoni oya kuyenza ukukhusela oku kungenzeki kwixesha elizayo. Oku kunyanzelekile kwaye kuyimfuneko kuhlalutyo olulandelayo.

    Yintoni ethathwa njengexesha lokuphumla?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Konke oku kwakhokelela entwenini?

    Oku kwakhokelela ekubeni (sibe neengxaki ezithile ngokuzinza, oku akuzange kuhambelane nabaxumi okanye thina) kwiinyanga ezidlulileyo ze-6 isalathisi sethu sozinzo sasiyi-99,97. Sinokuthi oku akukho kakhulu. Ewe, sinento esiza kuyilwela. Kwesi salathisi, malunga nesiqingatha sisizinzo, njengokuba kunjalo, kungekhona eyethu, kodwa ye-firewall yethu yesicelo sewebhu, emele phambi kwethu kwaye isetyenziswe njengenkonzo, kodwa abathengi abakhathaleli ngale nto.

    Safunda ukulala ebusuku. Ekugqibeleni! Kwiinyanga ezintandathu ezidlulileyo asikwazanga. Kwaye kule nqaku ngeziphumo, ndingathanda ukwenza inqaku elinye. Phezolo bekukho ingxelo emangalisayo malunga nenkqubo yolawulo lwesixhobo senyukliya. Ukuba abantu ababhale le nkqubo bayandiva, nceda ulibale malunga nento endiyithethileyo malunga "ne-2% ayiloxesha lokuphumla." Kuwe, i-2% lixesha lokuphumla, nokuba yimizuzu emibini!

    Kuko konke! Imibuzo yakho.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Malunga nabalinganisi kunye nokufuduka kwedatha

    Umbuzo ovela kubaphulaphuli (emva koku – B): – Molo. Enkosi kakhulu ngengxelo enjalo admin! Umbuzo omfutshane malunga nabalinganisi bakho. Ukhankanye ukuba une-WAF, oko kukuthi, njengoko ndiyiqonda, usebenzisa uhlobo oluthile lwe-balancer yangaphandle ...

    EK: - Hayi, sisebenzisa iinkonzo zethu njenge-balancer. Kule meko, i-WAF sisixhobo sokukhusela i-DDoS kuphela kuthi.

    KWI: - Ngaba ungathetha amagama ambalwa malunga nabalinganisi?

    EK: -Njengoko besenditshilo, eli liqela labancedisi kwi-openresty. Ngoku sinamaqela agciniweyo ama-5 aphendula ngokukhethekileyo... oko kukuthi, umncedisi osebenza ngokukhethekileyo ovulelekileyo, wenza i-traffic kuphela. Ngokufanelekileyo, ukuqonda ukuba sibambe malini: ngoku sinokuhamba rhoqo kwetrafikhi yeemegabhithi ezininzi. Bayahlangabezana, baziva belungile, abagxininisi nokuzibhokoxa.

    KWI: – Kwakhona umbuzo olula. Nantsi iBlue/Green deployment. Wenza ntoni, umzekelo, ngokufuduswa kwedatha?

    EK: - Umbuzo olungileyo! Jonga, kwiBlue / Green deployment sinemigca eyahlukeneyo yomgca ngamnye. Oko kukuthi, ukuba sithetha ngemigca yeziganeko ezidluliswa ukusuka kumsebenzi ukuya kumsebenzi, kukho imigca ehlukeneyo yomgca oluhlaza kunye nomgca oluhlaza. Ukuba sithetha nge-database ngokwayo, ngoko sinciphise ngamabom kangangoko sinakho, sahambisa yonke into ngokubonakalayo kwimigca; kwisiseko sedatha sigcina kuphela isitakhi sentengiselwano. Kwaye isitaki sethu sentengiselwano siyafana kuzo zonke iilayini. Ngesiseko sedatha kulo mxholo: asiyihluli ibe luhlaza okwesibhakabhaka kunye nohlaza, kuba zombini iinguqulelo zekhowudi kufuneka zazi ukuba kwenzekani ngentengiselwano.

    Bahlobo, ndinebhaso elincinci lokunikhuthaza - incwadi. Kwaye kufuneka ndiwongwe ngowona mbuzo ulungileyo.

    KWI: - Mholo. Enkosi ngengxelo. Umbuzo ngulo. Ubeka iliso kwiintlawulo, ubeka iliso kwiinkonzo onxibelelana nazo ... Kodwa ubeka njani iliso ukuze umntu ngandlela-thile eze kwiphepha lakho lokuhlawula, wenze intlawulo, kwaye iprojekthi yamfaka imali? Oko kukuthi, ujonga njani ukuba umrhwebi uyafumaneka kwaye uyamkele ukufowunelwa kwakho?

    EK: - "Umrhwebi" kuthi kule meko yinkonzo yangaphandle efanayo kunye nenkqubo yokuhlawula. Sibeka iliso kwisantya sokuphendula somthengisi.

    Malunga noguqulelo oluntsonkothileyo lwedatabase

    KWI: - Mholo. Ndinombuzo ohambelana kancinci. Une-PCI DSS idatha ebuthathaka. Bendifuna ukwazi ukuba uzigcina njani ii-PAN kwimigca ofuna ukutshintshela kuyo? Ngaba usebenzisa naluphi na uguqulelo oluntsonkothileyo? Kwaye oku kukhokelela kumbuzo wesibini: ngokwe-PCI DSS, kuyimfuneko ukuphinda ubhale kwakhona i-database kwimeko yokutshintsha (ukugxothwa kwabalawuli, njl.) - kwenzekani ukufikeleleka kule meko?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    EK: - Umbuzo omangalisayo! Okokuqala, asizigcini ii-PAN emgceni. Asinalo ilungelo lokugcina i-PAN naphi na kwifomu ecacileyo, ngokomgaqo, ngoko sisebenzisa inkonzo ekhethekileyo (siyibiza ngokuthi "iKademon") - le yinkonzo eyenza into enye kuphela: ifumana umyalezo njengegalelo kwaye ithumela. khupha umyalezo ofihliweyo. Kwaye sigcina yonke into ngalo myalezo ofihliweyo. Ngokufanelekileyo, ubude bethu obuphambili buphantsi kwe-kilobyte, ukwenzela ukuba oku kunzulu kwaye kunokwethenjelwa.

    KWI: – Ngaba ufuna iikhilobhayithi ezi-2 ngoku?

    EK: - Kubonakala ngathi izolo nje ibingama-256 ... Kulungile, kwenye indawo?!

    Ngako oko, oku kuqala. Kwaye okwesibini, isisombululo esikhoyo, sixhasa inkqubo yoguqulelo lwe-encryption - kukho izibini ezimbini ze "keks" (izitshixo), ezinika "iidekhi" ezifihliweyo (izitshixo zizitshixo, ideki ziphuma kwizitshixo ezifihliweyo) . Kwaye ukuba inkqubo iqalisiwe (iyenzeka rhoqo, ukusuka kwiinyanga ezi-3 ukuya kwi-± ezinye), sikhuphela "amaqebelengwane" amatsha, kwaye siphinde sibethelele idatha. Sineenkonzo ezahlukeneyo ezikrazula zonke iinkcukacha kwaye zifihlwe ngendlela entsha; Idatha igcinwa ecaleni kwesazisi seqhosha eliguqulelwe ngalo ngokuntsonkothileyo. Ngokufanelekileyo, nje ukuba sibethelela idatha ngezitshixo ezitsha, sicima isitshixo esidala.

    Ngamanye amaxesha iintlawulo kufuneka zenziwe ngesandla...

    KWI: - Oko kukuthi, ukuba imbuyekezo ifikile kumsebenzi othile, ngaba usayicima ngesitshixo esidala?

    EK: - Ewe.

    KWI: - Emva koko omnye umbuzo omncinci. Xa uhlobo oluthile lokusilela, ukuwa, okanye isiganeko senzeke, kuyimfuneko ukutyhala ngentengiselwano ngesandla. Kukho imeko enjalo.

    EK: - Ewe, ngamanye amaxesha.

    KWI: – Uyifumana phi le datha? Okanye uyaziyela wena kule ndawo yokugcina?

    EK: - Hayi, kulungile, kunjalo, sinolunye uhlobo lwenkqubo ye-back-office equlethe ujongano lwenkxaso yethu. Ukuba asazi ukuba yiyiphi imeko intengiselwano ekuyo (umzekelo, de kube inkqubo yokuhlawula iphendule ngexesha lokuvala), asazi i-priori, oko kukuthi, sinikezela isimo sokugqibela kuphela ngokuzithemba okupheleleyo. Kule meko, sinikezela ukuthengiselana kwimo ekhethekileyo yokucubungula ngesandla. Ekuseni, ngosuku olulandelayo, ngokukhawuleza ukuba inkxaso ifumana ulwazi olunjalo kunye neentengiselwano ezinjalo zihlala kwindlela yokuhlawula, zisebenza ngesandla kule interface.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    KWI: – Ndinemibuzo embalwa. Enye yazo kukuqhubela phambili kwendawo ye-PCI DSS: uyifaka njani isekethe yabo? Lo mbuzo kungenxa yokuba umphuhlisi wayenokubeka nantoni na kwiilogi! Umbuzo wesibini: uzikhupha njani iihotfixes? Izibambo kwisiseko sedatha yindlela enye, kodwa kunokubakho ukulungiswa okushushu kwamahhala - yintoni inkqubo apho? Kwaye umbuzo wesithathu mhlawumbi unxulumene ne-RTO, i-RPO. Ubukho bakho be-99,97, phantse ezine ezisithoba, kodwa njengoko ndiyayiqonda, unayo indawo yesibini yedatha, indawo yesithathu yedatha, kunye nedatha yesihlanu ... Uzivumelanisa njani, uziphindaphinde, kunye nayo yonke enye into?

    EK: - Masiqale ngeyokuqala. Ngaba umbuzo wokuqala wawumalunga nezigodo? Xa sibhala iilog, sinomaleko ofihla yonke idatha ebuthathaka. Ujonga imaski nakwimimandla eyongezelelweyo. Ngokufanelekileyo, iilogi zethu ziphuma kunye nedatha esele ifihliwe kunye nesekethe yePCI DSS. Lo ngomnye wemisebenzi eqhelekileyo eyabelwe isebe lovavanyo. Kufuneka bajonge umsebenzi ngamnye, kubandakanywa iilogi abazibhalayo, kwaye lo ngomnye wemisebenzi eqhelekileyo ngexesha lokuphononongwa kwekhowudi, ukwenzela ukulawula ukuba umphuhlisi akazange abhale into phantsi. Ukuhlolwa okulandelayo koku kuqhutyelwa rhoqo lisebe lokhuseleko lolwazi malunga kanye ngeveki: iilogi zosuku lokugqibela zithathwa ngokukhethiweyo kwaye ziqhutywa nge-scanner-analyzer ekhethekileyo kwiiseva zokuvavanya ukujonga yonke into.
    Malunga nezilungiso ezishushu. Oku kubandakanyiwe kwimimiselo yethu yokuthunyelwa. Sinegatya elahlukileyo malunga nee-hotfixes. Sikholelwa ukuba sihambisa izinto ezitshisayo imini yonke xa sizifuna. Ngokukhawuleza ukuba inguqulelo ihlanganiswe, ngokukhawuleza xa iqhutywe, ngokukhawuleza ukuba sine-artifact, sinomlawuli wenkqubo osemsebenzini kwifowuni evela kwinkxaso, kwaye uyayithumela ngexesha xa kuyimfuneko.

    Malunga "nezisithoba". Inani esinalo ngoku liphunyeziwe ngokwenene, kwaye siye sazabalazela kwelinye iziko ledatha. Ngoku sineziko lesibini ledatha, kwaye siqala ukuhamba phakathi kwabo, kwaye umba wokuphindaphinda kwamaziko edatha ngokwenene ngumbuzo ongeyomfuneko. Sazama ukuyicombulula ngexesha elinye ngokusebenzisa iindlela ezahlukeneyo: sazama ukusebenzisa "iTarantula" efanayo - ayizange isebenze kuthi, ndiya kukuxelela ngokukhawuleza. Yiyo loo nto sigqibele ngokuodola "iinzwa" ngesandla. Ngapha koko, isicelo ngasinye kwinkqubo yethu siqhuba ulungelelwaniso olufunekayo "lotshintsho - lwenziwe" phakathi kwamaziko edatha ngokufana.

    KWI: - Ukuba ufumene eyesibini, kutheni ungayifumananga eyesithathu? Ngenxa yokuba akukho mntu unengqondo ehlukeneyo ...

    EK: -Kodwa asinayo iSplit Brain. Ngenxa yokuba isicelo ngasinye siqhutywa yi-multimaster, akunandaba kuthi isicelo size kweliphi iziko. Siyilungele into yokuba ukuba enye yamaziko ethu edatha ayiphumelelanga (sithembele kule nto) kwaye phakathi kwesicelo somsebenzisi sitshintshela kwiziko ledatha yesibini, silungele ukulahlekelwa ngulo msebenzisi, ngokwenene; kodwa ezi ziya kuba ziiyunithi, iiyunithi ezipheleleyo.

    KWI: - Mholo ngokuhlwa nje. Enkosi ngengxelo. Uthethe nge-debugger yakho, eqhuba ezinye iintengiselwano zovavanyo kwimveliso. Kodwa sixelele malunga neentengiselwano zovavanyo! Ingaba nzulu kangakanani?

    EK: -Ihamba kumjikelo opheleleyo wecandelo lonke. Kwicandelo, akukho mahluko phakathi kwentengiselwano yovavanyo kunye nemveliso yemveliso. Kodwa ngokwembono enengqiqo, le yiprojekthi nje eyahlukileyo kwinkqubo, apho kuqhutywa khona kuphela iintengiselwano zovavanyo.

    KWI: -Uyinqumle phi? Apha uCore uthumele...

    EK: - Sisemva kwe "Kor" kule meko yokuthengiselana kovavanyo ... Sinento efana nendlela: "I-Kor" iyazi ukuba yeyiphi inkqubo yokuhlawula ukuthumela kuyo - siyithumela kwinkqubo yokuhlawula inkohliso, enika nje uphawu lwe-http kwaye kuko konke.

    KWI: -Ndixelele, nceda, ngaba isicelo sakho sibhalwe kwi-monolith enye enkulu, okanye ngaba uye wasinqunqa kwezinye iinkonzo okanye kwiinkonzo ezincinci?

    EK: -Asinayo i-monolith, kunjalo, sinesicelo esijolise kwinkonzo. Siyaqhula ukuba inkonzo yethu yenziwe nge-monoliths - inkulu ngokwenene. Kunzima ukuyibiza ngokuba zii-microservices, kodwa ezi ziinkonzo apho abasebenzi bomatshini abasasazwayo basebenza khona.

    Ukuba inkonzo kwiseva isengozini...

    KWI: – Emva koko ndinombuzo olandelayo. Nokuba ibiyi-monolith, usatsho ukuba uninzi lwezi seva zangoko, zonke zisebenza ngokusisiseko idatha, kwaye umbuzo ngulo: "Xa kuthe kwenzeka ukuthotyelwa kwenye yeeseva ezikhawulezileyo okanye isicelo, naliphi na ikhonkco lomntu ngamnye. , ingaba banalo uhlobo lolawulo lofikelelo? Ngowuphi kubo onokwenza ntoni? Ngubani ekufuneka ndiqhagamshelane naye malunga naluphi ulwazi?

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    EK: - Ewe, ngokuqinisekileyo. Iimfuno zokhuseleko zinzima kakhulu. Okokuqala, sinokuhamba kwedatha evulekileyo, kwaye amazibuko kuphela apho silindele ukuhamba kwezithuthi kwangaphambili. Ukuba icandelo linxibelelana ne-database (yithi, kunye ne-Muskul) nge-5-4-3-2, kuphela i-5-4-3-2 iya kuvulelwa kuyo, kunye nezinye izibuko kunye nezinye izikhokelo zendlela aziyi kufumaneka. Ukongeza, kufuneka uqonde ukuba kwimveliso yethu kukho malunga ne-10 eyahlukeneyo yokhuseleko loops. Kwaye nokuba isicelo sichatshazelwe ngandlela thile, akabikho, umhlaseli akayi kukwazi ukufikelela kwi-console yolawulo lomncedisi, kuba lo ngummandla wokhuseleko womnatha ohlukileyo.

    KWI: - Kwaye kulo mongo, into enomdla kum kukuba unezivumelwano ezithile kunye neenkonzo - into abanokuyenza, ngokusebenzisa "izenzo" ezinokuthi ziqhagamshelane ... Kwaye ekuhambeni okuqhelekileyo, ezinye iinkonzo ezithile zicela ezinye. umqolo, uluhlu “lweentshukumo” kwelinye. Ababonakali baphendukela kwabanye kwiimeko eziqhelekileyo, kwaye banezinye iinkalo zoxanduva. Ukuba enye yazo ithotyelwe, ngaba iya kukwazi ukuphazamisa "izenzo" zaloo nkonzo?..

    EK: - Ndiyaqonda. Ukuba kwimeko eqhelekileyo kunye nolunye unxibelelwano lweseva luvunyelwe kuzo zonke, ngoko ewe. Ngokwekhontrakthi ye-SLA, asiyi kubeka iliso ukuba uvunyelwe kuphela "izenzo" ezi-3 zokuqala, kwaye awuvumelekanga ukuba "izenzo" ezi-4. Oku mhlawumbi akufuneki kuthi, kuba sele sinenkqubo yokukhusela ye-4, ngokomgaqo, kwiisekethe. Sikhetha ukuzikhusela nge-contours, kunokuba kwinqanaba langaphakathi.

    Isebenza njani iVisa, MasterCard kunye neSberbank

    KWI: -Ndifuna ukucacisa inqaku malunga nokutshintsha umsebenzisi ukusuka kwiziko ledatha ukuya kwelinye. Ngokokwazi kwam, iVisa kunye ne-MasterCard zisebenza zisebenzisa i-8583 binary synchronous protocol, kwaye kukho imixube apho. Kwaye ndandifuna ukwazi, ngoku sithetha ukutshintsha - ngaba ngokuthe ngqo "i-Visa" kunye ne "MasterCard" okanye ngaphambi kweenkqubo zokuhlawula, ngaphambi kokuba kuqhutywe?

    EK: - Oku kuphambi kwemixube. Imixube yethu ibekwe kwiziko ledatha efanayo.

    KWI: -Ngokuthetha nje, ngaba unayo indawo enye yonxibelelwano?

    EK: - "I-Visa" kunye ne "MasterCard" - ewe. Kungenxa yokuba i-Visa kunye ne-MasterCard zifuna utyalo-mali olunzulu kwiziseko zophuhliso ukuze kuqukunjelwe iikontraki ezahlukeneyo ukufumana isibini semixube, umzekelo. Zigcinwe ngaphakathi kwiziko ledatha enye, kodwa ukuba, uThixo akafuni, isikhungo sethu sedatha, apho kukho imixube yokuxhuma kwi-Visa kunye ne-MasterCard, iyafa, ngoko siya kuba noqhagamshelwano kunye ne-Visa kunye ne-MasterCard elahlekileyo ...

    KWI: – Zinokugcinwa njani? Ndiyazi ukuba iVisa ivumela uqhagamshelo olunye kuphela kumgaqo!

    EK: – Babonelela ngezixhobo ngokwabo. Kuyo nayiphi na imeko, sifumene izixhobo ezingafunekiyo ngokupheleleyo ngaphakathi.

    KWI: -Ke i-stand ivela kwi-Connects yabo ye-Orange?..

    EK: - Ewe.

    KWI: Kodwa kuthekani ngale meko: ukuba iziko lakho ledatha liyanyamalala, ungaqhubeka njani nokulisebenzisa? Okanye ngaba itrafikhi iyayeka?

    EK: - Hayi. Kule meko, siya kutshintshela i-traffic kwelinye itshaneli, eya kuthi, ngokwemvelo, ibize kakhulu kwaye ibize kakhulu kubathengi bethu. Kodwa i-traffic ayiyi kuhamba ngokuthe ngqo kwi-Visa, i-MasterCard, kodwa nge-Sberbank enemiqathango (igqithise kakhulu).

    Ndiyaxolisa kakhulu ukuba ndikhubekise abasebenzi baseSberbank. Kodwa ngokwezibalo zethu, phakathi kweebhanki zaseRashiya, iSberbank iyawa rhoqo. Akupheli inyanga kungekho nto iwekayo eSberbank.

    I-HighLoad ++, u-Evgeniy Kuzovlev (EcommPay IT): yintoni onokuyenza xa umzuzu wexesha lokuphumla ubiza i-$ 100000

    Ezinye iintengiso 🙂

    Enkosi ngokuhlala nathi. Ngaba uyawathanda amanqaku ethu? Ngaba ufuna ukubona umxholo onomdla ngakumbi? Sixhase ngokufaka iodolo okanye ngokucebisa abahlobo, ifu VPS kubaphuhlisi ukusuka $4.99, i-analogue eyodwa yeeseva zomgangatho wokungena, eyenzelwe wena: Inyaniso yonke malunga neVPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ukusuka kwi-$ 19 okanye indlela yokwabelana ngomncedisi? (ifumaneka nge-RAID1 kunye ne-RAID10, ukuya kuthi ga kwi-24 cores kunye ne-40GB DDR4).

    Dell R730xd 2x ngexabiso eliphantsi kwiziko ledatha le-Equinix Tier IV eAmsterdam? Kuphela apha 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ukusuka $199 eNetherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ukusuka $99! Funda malunga Ulwakha njani umbutho weziseko zophuhliso. iklasi ngokusetyenziswa kwe-Dell R730xd E5-2650 iiseva ze-v4 ezixabisa i-9000 yee-euro ngepeni?

umthombo: www.habr.com

Yongeza izimvo