I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Wonke umuntu ukhuluma ngezinqubo zokuthuthukiswa nokuhlola, ukuqeqesha abasebenzi, ukukhuthaza okukhulayo, kodwa lezi zinqubo azanele uma umzuzu wokungasebenzi wesevisi ubiza izindodla zemali. Yini okufanele uyenze lapho wenza ukuthengiselana kwezezimali ngaphansi kwe-SLA eqinile? Ungakukhuphula kanjani ukwethembeka nokubekezelela amaphutha kwezinhlelo zakho, ukhipha intuthuko nokuhlola ku-equation?

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Ingqungquthela elandelayo ye-HighLoad++ izoba ngo-April 6 no-7, 2020 e-St. Petersburg. Imininingwane namathikithi e isixhumanisi. Novemba 9, 18:00. HighLoad++ Moscow 2018, Delhi + Kolkata hall. Lezi kanye isethulo.

Evgeniy Kuzovlev (ngemuva kwalokhu – EC): - Abangane, sawubona! Igama lami nginguKuzovlev Evgeniy. Ngivela enkampanini ye-EcommPay, ingxenye ethile i-EcommPay IT, ingxenye ye-IT yeqembu lezinkampani. Futhi namuhla sizokhuluma ngezikhathi zokuphumula - mayelana nendlela yokugwema, mayelana nendlela yokunciphisa imiphumela yazo uma ingenakugwenywa. Isihloko sishiwo kanje: "Yini okufanele uyenze lapho umzuzu wokuphumula ubiza u-$ 100"? Uma sibheka phambili, izinombolo zethu ziyaqhathaniswa.

Yenzani i-EcommPay IT?

Singobani? Ngimeleni lapha phambi kwakho? Kungani nginelungelo lokukutshela okuthile lapha? Futhi sizokhuluma ngani lapha ngokuningiliziwe?

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Iqembu lezinkampani ze-EcommPay liyisitholi samazwe ngamazwe. Sicubungula izinkokhelo emhlabeni wonke - eRussia, Europe, Southeast Asia (Emhlabeni Wonke). Sinamahhovisi angu-9, abasebenzi abangu-500 sebebonke, futhi cishe abangaphansi kwengxenye yabo bangochwepheshe be-IT. Konke esikwenzayo, yonke into esenza ngayo imali, besizenzela thina.

Sabhala yonke imikhiqizo yethu (futhi sinayo eminingi impela - kulayini wethu wemikhiqizo emikhulu ye-IT sinezingxenye ezihlukene eziyi-16) ngokwethu; Siyazibhalela, siyazithuthukisa. Futhi okwamanje senza imisebenzi engaba yisigidi ngosuku (izigidi cishe ziyindlela efanele yokusho). Siyinkampani encane kakhulu - cishe sineminyaka eyisithupha kuphela ubudala.

Eminyakeni engu-6 edlule kwakuyisiqalo esinjalo lapho abafana beza nebhizinisi. Bahlanganiswe umqondo (akukho okunye ngaphandle kombono), futhi sagijima. Njenganoma yikuphi ukuqalisa, sagijima ngokushesha... Kithina, isivinini sasibaluleke kakhulu kunekhwalithi.

Ngesinye isikhathi sayeka: sabona ukuthi ngeke sisakwazi ukuphila ngaleso sivinini ngandlela-thile nangaleyo mfanelo futhi kwakudingeka sigxile eqophelweni kuqala. Njengamanje, sinqume ukubhala inkundla entsha ezolunga, ikhule, futhi ithembeke. Baqala ukubhala lesi sigcawu (baqala ukutshala izimali, ukuthuthukisa ukuthuthukiswa, ukuhlola), kodwa ngesikhathi esithile baqaphela ukuthi ukuthuthukiswa nokuhlolwa akusivumeli ukuba sifinyelele izinga elisha lekhwalithi yesevisi.

Wenza umkhiqizo omusha, uyawufaka ekukhiqizeni, kodwa noma kunjalo kukhona okuzokonakala endaweni ethile. Futhi namuhla sizokhuluma ngendlela yokufinyelela izinga elisha lekhwalithi (indlela esenze ngayo, mayelana nolwazi lwethu), ukuthatha ukuthuthukiswa nokuhlola ngaphandle kwe-equation; sizokhuluma ngalokho okutholakala ekusebenzeni - yikuphi ukusebenza okungakwenza ngokwakho, lokho okungakunikeza ekuhlolweni ukuze kuthonye ikhwalithi.

Izikhathi zokuphumula. Imiyalo yokusebenza.

Ngaso sonke isikhathi isisekelo esiyinhloko, esizokhuluma ngakho namuhla yisikhathi sokuphumula. Igama elibi. Uma sinesikhathi sokuphumula, konke kubi kithi. Sesigijima ukuyoyiphakamisa, abaphathi babambe iseva - uNkulunkulu angawi, njengoba besho kulelo culo. Yilokhu esizokhuluma ngakho namuhla.

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Lapho siqala ukushintsha izindlela zethu, sakha imiyalo emi-4. Ngizethule kumaslayidi:

Le miyalo ilula kakhulu:

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

  • Khomba ngokushesha inkinga.
  • Yisuse ngokushesha okukhulu.
  • Siza ukuqonda isizathu (kamuva, konjiniyela).
  • Futhi linganisa izindlela.

Ngithanda ukukudonsela ukunaka kwakho ephuzwini elingunombolo 2. Siyayiqeda inkinga, asiyixazululi. Ukunquma kungokwesibili. Kithina, into eyinhloko ukuthi umsebenzisi uvikelekile kule nkinga. Izoba khona endaweni engayodwa, kodwa le ndawo ngeke ibe nokuxhumana nayo. Empeleni, sizodlula kulawa maqembu amane ezinkinga (ezinye ngokuningiliziwe, ezinye ngemininingwane emincane), ngizokutshela ukuthi sisebenzisani, isiphi isipiliyoni esifanele esinaso ezisombululweni.

Ukuxazulula: Zenzeka nini futhi ngenzenjani ngazo?

Kodwa sizoqala ngaphandle kokuhleleka, sizoqala ngephuzu No. 2 - indlela yokuqeda ngokushesha inkinga? Kunenkinga - sidinga ukuyilungisa. “Yini okufanele siyenze ngalokhu?” - umbuzo oyinhloko. Futhi lapho siqala ukucabanga ngendlela yokulungisa inkinga, sazenzela izidingo ezithile okufanele zilandelwe ukuxazulula inkinga.

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Ukuze sakhe lezi zimfuneko, sanquma ukuzibuza lo mbuzo: “Kunini lapho sinezinkinga”? Futhi izinkinga, njengoba kwavela, zenzeka ezimweni ezine:

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

  • Ukuhluleka kwezingxenyekazi zekhompuyutha.
  • Izinsizakalo zangaphandle zehlulekile.
  • Ukushintsha inguqulo yesofthiwe (ukuthunyelwa okufanayo).
  • Ukukhula komthwalo oqhumayo.

Ngeke sikhulume ngababili bokuqala. Ukungasebenzi kahle kwehadiwe kungaxazululwa kalula: kufanele ube nakho konke okuphindwe kabili. Uma lawa angamadiski, amadiski kufanele ahlanganiswe ku-RAID; uma lokhu kuyiseva, iseva kufanele iphindwe; uma unengqalasizinda yenethiwekhi, kufanele unikeze ikhophi yesibili yengqalasizinda yenethiwekhi, okungukuthi, uyayithatha futhi phinda. Futhi uma okuthile kwehluleka, ushintshela ekugcineni amandla. Kunzima ukusho okunye lapha.

Okwesibili ukwehluleka kwezinsizakalo zangaphandle. Kwabaningi, uhlelo aluyona inkinga nhlobo, kodwa hhayi kithi. Njengoba sicubungula izinkokhelo, siyi-aggregator emi phakathi komsebenzisi (ofaka idatha yekhadi lakhe) namabhange, izinhlelo zokukhokha (i-Visa, MasterCard, Mira, njll.). Izinkonzo zethu zangaphandle (izinhlelo zokukhokha, amabhange) zivame ukwehluleka. Thina noma wena (uma unamasevisi anjalo) ngeke sibe nomthelela kulokhu.

Yini-ke okufanele uyenze? Kunezinketho ezimbili lapha. Okokuqala, uma ukwazi, kufanele uphindaphinde le sevisi ngandlela thile. Isibonelo, uma sikwazi, sidlulisela ithrafikhi isuka kwenye isevisi iye kwenye: isibonelo, amakhadi acutshungulwa nge-Sberbank, i-Sberbank inezinkinga - sidlulisela ithrafikhi [ngokombandela] ku-Raiffeisen. Into yesibili esingayenza ukuqaphela ukwehluleka kwezinsizakalo zangaphandle ngokushesha okukhulu, ngakho-ke sizokhuluma ngesivinini sokuphendula engxenyeni elandelayo yombiko.

Eqinisweni, kulezi ezine, singathonya ngokuqondile ukuguqulwa kwezinguqulo zesofthiwe - thatha izinyathelo ezizoholela ekuthuthukisweni kwesimo kumongo wokuthunyelwa kanye nesimo sokukhula kokuqhuma komthwalo. Empeleni, yilokho esakwenza. Lapha, futhi, inothi elincane...

Kulezi zinkinga ezine, eziningana zixazululwa ngokushesha uma unefu. Uma uku-Microsoft Azhur, amafu e-Ozone, noma usebenzisa amafu ethu, kusukela ku-Yandex noma i-Mail, khona-ke okungenani ukungasebenzi kahle kwe-hardware kuba inkinga yabo futhi yonke into ngokushesha iba ngcono kuwe kumongo wokungasebenzi kahle kwehadiwe.

Siyinkampani engajwayelekile kancane. Lapha wonke umuntu ukhuluma "Kubernets", mayelana namafu - asinawo "Kubernets" noma amafu. Kodwa sinama-racks we-hardware ezikhungweni eziningi zedatha, futhi siphoqeleka ukuthi siphile kule hardware, siphoqeleka ukuba sibe nesibopho sakho konke. Ngakho-ke, sizokhuluma kulo mongo. Ngakho, mayelana nezinkinga. Amabili okuqala akhishwe kubakaki.

Ukushintsha inguqulo yesofthiwe. Izisekelo

Onjiniyela bethu abanakho ukufinyelela ekukhiqizeni. Kungani kunjalo? Ukuthi nje siqinisekisiwe nge-PCI DSS, futhi abathuthukisi bethu abanalo ilungelo lokungena “emkhiqizweni”. Yilokho, inkathi. Kube bonke. Ngakho-ke, umthwalo wemfanelo wokuthuthukisa uphela ngaso leso sikhathi lapho ukuthuthukiswa kuthumela isakhiwo ukuze sikhishwe.

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

Isisekelo sethu sesibili esinaso, naso esisisiza kakhulu, ukungabibikho kolwazi olungabhaliwe oluyingqayizivele. Ngethemba ukuthi kuyafana nakuwe. Ngoba uma kungenjalo, uzoba nezinkinga. Izinkinga zizovela lapho lolu lwazi oluyingqayizivele, olungabhaliwe lungekho ngesikhathi esifanele endaweni efanele. Ake sithi unomuntu oyedwa okwaziyo ukufaka ingxenye ethile - umuntu akekho, useholidini noma uyagula - yilokho, unezinkinga.

Nesisekelo sesithathu esize kuso. Safika kukho ngobuhlungu, igazi, izinyembezi - safinyelela esiphethweni sokuthi noma iyiphi yezakhiwo zethu iqukethe amaphutha, noma ingenaphutha. Sazinqumela lokhu: uma sikhipha okuthile, lapho sigingqa okuthile ekukhiqizeni, siba nesakhiwo esinamaphutha. Senze izimfuneko isistimu yethu okufanele izenelise.

Izidingo zokushintsha inguqulo yesofthiwe

Kunezidingo ezintathu:

I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

  • Kufanele sibuyisele emuva ngokushesha ukuthunyelwa.
  • Kufanele sinciphise umthelela wokungaphumeleli kokuthunyelwa.
  • Futhi kufanele sikwazi ukuhambisa ngokushesha ngokuhambisana.
    Impela ngaleyo ndlela! Kungani? Ngoba, okokuqala, lapho usebenzisa inguqulo entsha, isivinini asibalulekile, kodwa kubalulekile kuwe, uma kukhona okungahambi kahle, ukuhlehlisa ngokushesha futhi ube nomthelela omncane. Kodwa uma unesethi yezinguqulo ekukhiqizeni, okuvela ukuthi kukhona iphutha (ngaphandle kokuluhlaza okwesibhakabhaka, kwakungekho ukuthunyelwa, kodwa kukhona iphutha) - isivinini sokuthunyelwa okulandelayo kubalulekile kuwe. Senzeni ukuze sihlangabezane nalezi zidingo? Sisebenzise indlela yokwenza elandelayo:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Yaziwa kahle, asikaze siyisungule - lena iBlue/Green deploy. Yini? Kufanele ube nekhophi yeqembu ngalinye lamaseva lapho izinhlelo zakho zokusebenza zifakwe khona. Ikhophi "ifudumele": akukho thrafikhi kuyo, kodwa noma nini le thrafikhi ingathunyelwa kule khophi. Le khophi iqukethe inguqulo yangaphambilini. Futhi ngesikhathi sokusetshenziswa, ukhipha ikhodi kukhophi engasebenzi. Bese ushintsha ingxenye yethrafikhi (noma yonke) uye enguqulweni entsha. Ngakho-ke, ukuze uguqule ukugeleza kwethrafikhi kusuka enguqulweni yakudala kuya kwentsha, udinga ukwenza isenzo esisodwa kuphela: udinga ukushintsha ibhalansi endaweni ekhuphukayo, ushintshe isiqondiso - ukusuka phezulu kuya kwesinye. Lokhu kulula kakhulu futhi kuxazulula inkinga yokushintsha okusheshayo nokuhlehlisa ngokushesha.

    Lapha isisombululo sombuzo wesibili siwukunciphisa: ungathumela kuphela ingxenye yethrafikhi yakho emgqeni omusha, kulayini onekhodi entsha (makube njalo, isibonelo, 2%). Futhi lezi 2% aziwona 100%! Uma ulahlekelwe u-100% wethrafikhi yakho ngenxa yokungaphumeleli ukuthunyelwa, lokho kuyasabisa; uma ulahlekelwe u-2% wethrafikhi yakho, lokho akujabulisi, kodwa akwethusi. Ngaphezu kwalokho, abasebenzisi cishe ngeke bakuqaphele lokhu, ngoba kwezinye izimo (hhayi kuzo zonke) umsebenzisi ofanayo, ngokucindezela u-F5, uzoyiswa kwenye, inguqulo esebenzayo.

    Ukuthunyelwa okuluhlaza/okuluhlaza. Umzila

    Nokho, akuyona yonke into elula kangaka "Blue / Green deploy" ... Zonke izingxenye zethu zingahlukaniswa ngamaqembu amathathu:

    • lena ingaphambili (amakhasi okukhokha abonwa amakhasimende ethu);
    • ukucubungula okuyinhloko;
    • i-adaptha yokusebenza nezinhlelo zokukhokha (amabhange, i-MasterCard, i-Visa...).

    Futhi kukhona i-nuance lapha - i-nuance ilele kumzila phakathi kwemigqa. Uma uvele ushintshe u-100% wethrafikhi, awunazo lezi zinkinga. Kodwa uma ufuna ukushintsha u-2%, uqala ukubuza imibuzo: "Ukwenza kanjani lokhu?" Into elula iqonde phambili: ungasetha i-Round Robin ku-nginx ngokukhetha okungahleliwe, futhi uno-2% kwesokunxele, 98% kwesokudla. Kodwa lokhu akufanelekile ngaso sonke isikhathi.

    Isibonelo, esimweni sethu, umsebenzisi usebenzisana nesistimu ngesicelo esingaphezu kwesisodwa. Lokhu kuvamile: 2, 3, 4, 5 izicelo - amasistimu akho angase afane. Futhi uma kubalulekile kuwe ukuthi zonke izicelo zomsebenzisi zize emgqeni ofanayo lapho isicelo sokuqala sifike khona, noma (iphuzu lesibili) zonke izicelo zomsebenzisi zize emugqeni omusha ngemva kokushintsha (kungenzeka ukuthi uqale ukusebenza ngaphambili uhlelo, ngaphambi kokushintsha), - ke lokhu kusatshalaliswa okungahleliwe akufanelekile kuwe. Bese kuba nezinketho ezilandelayo:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Inketho yokuqala, elula kakhulu, isekelwe kumingcele eyisisekelo yeklayenti (IP Hash). Unayo i-IP, futhi uyayihlukanisa ukusuka kwesokudla kuye kwesobunxele ngekheli le-IP. Khona-ke icala lesibili engilichazile lizokusebenzela, lapho ukuthunyelwa kwenzeka, umsebenzisi usengaqala ukusebenza nesistimu yakho, futhi kusukela ngesikhathi sokuthunyelwa zonke izicelo zizoya kulayini omusha (kuwo ofanayo, usho).

    Uma ngesizathu esithile lokhu kungahambisani nawe futhi kufanele uthumele izicelo kulayini lapho kufika isicelo sokuqala somsebenzisi, lapho-ke unezinketho ezimbili...
    Inketho yokuqala: ungathenga i-nginx+ ekhokhelwayo. Kunomshini wezikhathi ezinamathelayo, okuthi, ngesicelo sokuqala somsebenzisi, inikeze umsebenzisi iseshini bese iyibophezela komunye noma komunye umfula. Zonke izicelo zomsebenzisi ezilandelanayo phakathi nesikhathi sempilo yonke zizothunyelwa endaweni efanayo ekhuphukayo lapho iseshini ithunyelwe khona.

    Lokhu akusifanelanga ngoba besivele sinenginx ejwayelekile. Ukushintshela ku-nginx+ akukhona ukuthi kuyabiza, ukuthi nje bekubuhlungu kithi futhi bekungalungile kakhulu. I-“Sticks Sessions”, isibonelo, ayizange isisebenzele ngenxa yesizathu esilula sokuthi “I-Sticks Sessions” ayikuvumeli umzila osuselwe kokuthi “Noma-noma”. Lapho ungacacisa ukuthi senzani “Izikhathi Ezinamathelayo”, isibonelo, ngekheli lasesizindeni se-inthanethi noma ngekheli lasesizindeni se-inthanethi namakhukhi noma ngepharamitha yeposi, kodwa okuthi “Noma-noma” kuyinkimbinkimbi kakhulu lapho.

    Ngakho-ke, safika enketho yesine. Sithathe i-nginx kuma-steroids (lokhu i-openresty) - lena nginx efanayo, esekela futhi ukufakwa kwemibhalo yokugcina. Ungabhala umbhalo wokugcina, uwunikeze "ukuphumula okuvulekile", futhi lesi script sokugcina sizosetshenziswa lapho isicelo somsebenzisi sifika.

    Futhi sibhale, empeleni, iskripthi esinjalo, sizibekele "i-openresti" futhi kulesi script sihlunga amapharamitha ahlukene angu-6 ngokuhlanganisa "Noma". Kuye ngobukhona bepharamitha eyodwa noma enye, siyazi ukuthi umsebenzisi weza ekhasini elilodwa noma kwelinye, umugqa owodwa noma omunye.

    Ukuthunyelwa okuluhlaza/okuluhlaza. Izinzuzo kanye nokubi

    Yebo, kungenzeka ukuthi kwenziwe kube lula kancane (sebenzisa "Amaseshini Okunamathelayo" afanayo), kodwa futhi sinombono ohlukile wokuthi hhayi kuphela umsebenzisi osebenzisana nathi ngaphakathi kohlaka lokucutshungulwa okukodwa kokunye... Kodwa amasistimu okukhokha nawo ayasebenzisana nathi: Ngemva kokucubungula okwenziwayo (ngokuthumela isicelo ohlelweni lokukhokha), sithola i-coolback.
    Futhi ake sithi, uma ngaphakathi kwesifunda sethu singakwazi ukudlulisa ikheli le-IP lomsebenzisi kuzo zonke izicelo futhi sihlukanise abasebenzisi ngokusekelwe ekhelini le-IP, ngeke sisho okufanayo "i-Visa": "Dude, siyinkampani ye-retro, kubonakala sengathi. ukuze ube ngamazwe ngamazwe (kuwebhusayithi naseRussia)... Sicela usinikeze ikheli le-IP lomsebenzisi endaweni eyengeziwe, iphrothokholi yakho imisiwe”! Kuyacaca ukuthi ngeke bavume.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ngakho-ke, lokhu akuzange kusisebenzele - senze i-openresty. Ngokuvumelana nalokho, ngomzila sinento enjengale:

    I-Blue/Green Deployment ine, ngokufanelekile, izinzuzo engizishilo kanye nokubi.

    Okubi okubili:

    • udinga ukuzihlupha ngomzila;
    • okwesibili okubi okuyinhloko yizindleko.

    Udinga amaseva amaningi ngokuphindwe kabili, udinga izinsiza zokusebenza eziphindwe kabili, udinga ukuchitha umzamo ophindwe kabili ukuze ugcine le zoo yonke.

    Ngendlela, phakathi kwezinzuzo kukhona enye into engingazange ngiyikhulume ngaphambili: unendawo yokugcina uma kwenzeka ukukhula komthwalo. Uma unomthwalo okhulayo wokukhula, unenani elikhulu labasebenzisi, bese uvele ufake umugqa wesibili ekusabalaliseni okungu-50 kuye kwangama-50 - futhi ngokushesha uba namaseva e-x2 kuqoqo lakho uze uxazulule inkinga yokuba namaseva amaningi.

    Indlela yokwenza ukuthunyelwa ngokushesha?

    Sikhulume ngendlela yokuxazulula inkinga yokunciphisa nokuhlehlisa ngokushesha, kodwa umbuzo usasele: "Indlela yokufaka ngokushesha?"

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Kufushane futhi kulula lapha.

    • Kufanele ube nesistimu ye-CD (Ukulethwa Okuqhubekayo) - awukwazi ukuphila ngaphandle kwayo. Uma uneseva eyodwa, ungakwazi ukuphakela mathupha. Sinezinsiza ezingaba yinkulungwane nesigamu kanye nezibambo eziyinkulungwane eyodwa nengxenye, kunjalo - singatshala umnyango olingana naleli gumbi ukuze siwasebenzise.
    • Ukuthunyelwa kufanele kuhambisane. Uma ukuthunyelwa kwakho kulandelana, khona-ke konke kubi. Iseva eyodwa ijwayelekile, uzobe usebenzisa amaseva ayinkulungwane nesigamu usuku lonke.
    • Futhi, ukuze kusheshiswe, lokhu cishe akusadingeki. Ngesikhathi sokuthunyelwa, iphrojekthi ivame ukwakhiwa. Unephrojekthi yewebhu, kunengxenye esekupheleni (wenza iphakethe lewebhu lapho, uhlanganisa i-npm - into enjalo), futhi le nqubo, ngokuyisisekelo, ihlala isikhathi esifushane - imizuzu emi-5, kodwa le mizuzu emi-5 ingakwazi. gxeka. Yingakho, ngokwesibonelo, singakwenzi lokho: sisuse le mizuzu emi-5, sisebenzisa ama-artifact.

      Yini i-artifact? I-artifact iyisakhiwo esihlanganisiwe lapho zonke izingxenye zomhlangano seziqediwe kakade. Sigcina le-artifact endaweni yokulondoloza ye-artifact. Ngesinye isikhathi sasebenzisa okokugcina okubili okunjalo - kwakuyi-Nexus futhi manje i-jFrog Artifactory). Ekuqaleni sasebenzisa i-"Nexus" ngoba saqala ukuzijwayeza le ndlela kuzinhlelo zokusebenza ze-java (iyifanele kahle). Bese befaka ezinye zezinhlelo zokusebenza ezibhalwe ku-PHP lapho; futhi i-“Nexus” yayingasafaneleki, ngakho-ke sikhethe i-jFrog Artefactory, engenza cishe yonke into. Size safika ephuzwini lokuthi kule nqolobane ye-artifact sigcina amaphakheji ethu kanambambili esiwaqoqela amaseva.

    Ukukhula komthwalo oqhumayo

    Sikhulume ngokushintsha inguqulo yesofthiwe. Into elandelayo esinayo ukwanda okukhulu komthwalo. Lapha, mhlawumbe ngiqonde ngokukhula okuqhumayo komthwalo akuyona into efanele...

    Sabhala uhlelo olusha - lugxile ezinsizeni, lusemfashinini, luhle, lusebenza yonke indawo, luhlala emigqeni yonke indawo, luyi-asynchrony yonke indawo. Futhi kumasistimu anjalo, idatha ingageleza ngokugeleza okuhlukene. Ekwenziweni kokuqala, isisebenzi soku-1, sesi-3, se-10 singasetshenziswa, okwesibili - okwesibili, kwesi-2, kwesi-4. Futhi namuhla, ake sithi, ekuseni unokugeleza kwedatha okusebenzisa abasebenzi abathathu bokuqala, futhi kusihlwa kushintsha kakhulu, futhi yonke into isebenzisa ezinye izisebenzi ezintathu.

    Futhi lapha kuvela ukuthi udinga ngandlela thize ukukala abasebenzi, udinga ukukala izinsizakalo zakho ngandlela thile, kodwa ngasikhathi sinye uvimbele ukuqunjelwa kwezinsiza.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Sizichazile izidingo zethu. Lezi zidingo zilula kakhulu: ukuthi kube nokutholakala kwesevisi, ukuhlukaniswa kwepharamitha - yonke into isezingeni lokwakha amasistimu angaka, ngaphandle kwephuzu elilodwa - ukwehla kwensiza. Sithe asikakakulungeli ukudambisa izinsiza ukuze amaseva ashise umoya. Sithathe "Consul", sathatha "Nomad", ophethe abasebenzi bethu.

    Kungani lokhu kuyinkinga kithi? Ake sihlehle kancane. Manje sinezinhlelo zokukhokha ezingaba ngu-70 ezisilandelayo. Ekuseni, ithrafikhi ihamba nge-Sberbank, i-Sberbank yawa, isibonelo, futhi siyishintshela kwenye isistimu yokukhokha. Sasinabasebenzi abayi-100 ngaphambi kwe-Sberbank, futhi ngemuva kwalokho sidinga ukukhulisa kakhulu abasebenzi abayi-100 kolunye uhlelo lokukhokha. Futhi kuyafiseleka ukuba konke lokhu kwenzeke ngaphandle kokuhlanganyela komuntu. Ngoba uma kukhona ukubamba iqhaza kwabantu, kufanele kube nonjiniyela ohlezi lapho 24/7, okufanele enze lokhu kuphela, ngoba ukwehluleka okunjalo, lapho izinhlelo ezingama-70 zisemva kwakho, zenzeka njalo.

    Ngakho-ke, sibheke i-Nomad, ene-IP evulekile, futhi sabhala into yethu, i-Scale-Nomad - ScaleNo, eyenza cishe lokhu okulandelayo: iqapha ukukhula komugqa futhi inciphisa noma ikhulise isibalo sabasebenzi ngokuya nge-dynamics. kolayini. Lapho sikwenza, sacabanga: “Mhlawumbe singawuvula umthombo?” Base bembuka - wayelula njengama-kopecks amabili.

    Kuze kube manje asikawuvuli umthombo, kodwa uma kungazelelwe ngemva kombiko, ngemva kokubona ukuthi udinga into enjalo, uyayidinga, engithintana nabo ku-slide sokugcina - ngicela ungibhalele. Uma okungenani kunabantu abangu-3-5, sizoyixhasa.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Isebenza kanjani? Ake sibheke! Ukubheka phambili: ohlangothini lwesobunxele kukhona ucezu lokuqapha kwethu: lena umugqa owodwa, phezulu yisikhathi sokucubungula umcimbi, phakathi nenani lokuthengiselana, ngezansi yinani labasebenzi.

    Uma ubheka, kukhona iphutha kulesi sithombe. Eshadini eliphezulu, elinye lamashadi liphahlazekile kumasekhondi angu-45 - enye yezinhlelo zokukhokha yehlile. Ngokushesha, ithrafikhi yalethwa ngemizuzu emi-2 futhi umugqa waqala ukukhula kolunye uhlelo lokukhokha, lapho kwakungekho khona abasebenzi (asizange sisebenzise izinsiza - ngokuphambene nalokho, salahla insiza ngendlela efanele). Besingafuni ukushisa - bekunenani elincane, abasebenzi abangaba ngu-5-10, kodwa abakwazanga ukumelana nayo.

    Igrafu yokugcina ibonisa "i-hump", okusho nje ukuthi "i-Skaleno" iphinde kabili le mali. Futhi-ke, lapho igrafu yehla kancane, wayinciphisa kancane - inani labasebenzi lashintshwa ngokuzenzakalelayo. Isebenza kanjalo lento. Sikhulume ngenombolo yephoyinti 2 - "Indlela yokususa ngokushesha izizathu."

    Ukuqapha. Indlela yokubona ngokushesha inkinga?

    Manje iphuzu lokuqala lithi "Ungayibona kanjani inkinga ngokushesha?" Ukuqapha! Kufanele siqonde izinto ezithile ngokushesha. Yiziphi izinto okufanele siziqonde ngokushesha?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Izinto ezintathu!

    • Kufanele siqonde futhi siqonde ngokushesha ukusebenza kwezinsiza zethu.
    • Kufanele sisheshe siqonde ukwehluleka futhi siqaphe ukusebenza kwezinhlelo ezingaphandle kwethu.
    • Iphuzu lesithathu ukuhlonza amaphutha anengqondo. Kulapho uhlelo lusebenzela wena, konke kujwayelekile ngokwazo zonke izinkomba, kodwa kukhona okungahambi kahle.

    Mhlawumbe ngeke ngikutshele lutho olumnandi lapha. Ngizoba uKapteni Obvious. Sabheka okwakusemakethe. Sine “zoo ejabulisayo”. Lolu wuhlobo lwe-zoo esinalo manje:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Sisebenzisa i-Zabbix ukuqapha ihadiwe, ukuqapha izinkomba eziyinhloko zamaseva. Sisebenzisa i-Okmeter kuma-database. Sisebenzisa elithi “Grafana” nelithi “Prometheus” kuzo zonke ezinye izinkomba ezingahambisani nezimbili zokuqala, ezinye ezino-“Grafana” ne-“Prometheus”, kanti ezinye ezino-“Grafana” ne-“Influx” ne-Telegraf.

    Ngonyaka odlule besifuna ukusebenzisa i-New Relic. Into enhle, ingenza konke. Kodwa njengoba ekwazi ukwenza yonke into, ubiza kakhulu. Lapho sikhula safinyelela kumthamo wamaseva ayizinkulungwane eziyi-1,5, umthengisi weza kithi wathi: “Masenze isivumelwano sonyaka ozayo.” Sabheka inani futhi sathi cha, ngeke sikwenze lokho. Manje sesiyishiya i-New Relic, sinamaseva angaba ngu-15 asele ngaphansi kokuqashwa kwe-New Relic. Intengo ivele yaba yindle impela.

    Futhi kukhona ithuluzi elilodwa esilisebenzise ngokwethu - leli yi-Debugger. Ekuqaleni sasiyibiza ngokuthi “Bagger,” kodwa kwabe sedlula uthisha wesiNgisi, wahleka kakhulu, wayiqamba kabusha ngokuthi “Debagger.” Yini? Leli ithuluzi, eqinisweni, kumasekhondi angu-15-30 engxenyeni ngayinye, "njengebhokisi elimnyama" lesistimu, lenza izivivinyo ekusebenzeni okuphelele kwengxenye.

    Isibonelo, uma kukhona ikhasi langaphandle (ikhasi lokukhokha), uvele alivule futhi abheke ukuthi kufanele libukeke kanjani. Uma lokhu kucutshungulwa, uthumela "umsebenzi" wokuhlola futhi uqinisekisa ukuthi lokhu "kuthengiselana" kuyafika. Uma lokhu kuwukuxhumana nezinhlelo zokukhokha, sixosha isicelo sokuhlolwa ngendlela efanele, lapho singakwazi khona, futhi sibone ukuthi konke kuhamba kahle ngathi.

    Yiziphi izinkomba ezibalulekile zokuqapha?

    Yini esiyiqaphayo ngokuyinhloko? Yiziphi izinkomba ezibalulekile kithi?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    • Isikhathi sokuphendula / i-RPS kuma-fronts iyinkomba ebaluleke kakhulu. Ngokushesha aphendule athi kukhona okungahambi kahle ngawe.
    • Inani lemilayezo ecutshunguliwe kuyo yonke imigqa.
    • Inani labasebenzi.
    • Amamethrikhi okulunga ayisisekelo.

    Iphuzu lokugcina lithi "ibhizinisi", "ibhizinisi" imethrikhi. Uma ufuna ukuqapha into efanayo, udinga ukuchaza imethrikhi eyodwa noma ezimbili eziyizinkomba eziyinhloko zakho. Imethrikhi yethu iwumphumela (lesi isilinganiso senani lemisebenzi eyimpumelelo nengqikithi yokugeleza kokwenziwe). Uma okuthile kushintsha kuwo ngesikhathi semizuzu engu-5-10-15, kusho ukuthi sinezinkinga (uma kushintsha kakhulu).

    Indlela ebukeka ngayo kithi iyisibonelo selinye lamabhodi ethu:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ngakwesobunxele kunamagrafu angu-6, lokhu kuhambisana nemigqa - inani labasebenzi kanye nenani lemiyalezo kulayini. Ngakwesokudla - i-RPS, i-RTS. Ngezansi kunemethrikhi "yebhizinisi" efanayo. Futhi kumethrikhi "yebhizinisi" singabona ngokushesha ukuthi kukhona okungahambanga kahle kumagrafu amabili aphakathi ... Lena enye nje isistimu emi ngemuva kwethu ewile.

    Okwesibili okwakumele sikwenze ukuqapha ukuwa kwezinhlelo zokukhokha zangaphandle. Lapha sithathe i-OpenTracing - indlela, indinganiso, i-paradigm evumela ukuthi ulandelele amasistimu asabalalisiwe; futhi yashintshwa kancane. Ipharadigm evamile ye-OpenTracing ithi sakha umkhondo wesicelo ngasinye. Besingakudingi lokhu, futhi sikugoqe ngesifinyezo, umkhondo wokuhlanganisa. Senze ithuluzi elisivumela ukuthi silandelele isivinini samasistimu ngemuva kwethu.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Igrafu isibonisa ukuthi enye yezinhlelo zokukhokha yaqala ukuphendula ngemizuzwana emi-3 - sinezinkinga. Ngaphezu kwalokho, le nto izosabela lapho izinkinga ziqala, ngesikhawu samasekhondi angu-20-30.

    Futhi isigaba sesithathu samaphutha okuqapha akhona ukuqapha okunengqondo.

    Uma ngikhuluma iqiniso, ngangingazi ukuthi ngizodweba ini kulesi silayidi, ngoba kwase kunesikhathi eside sifuna okuthile okuzosifanela emakethe. Asitholanga lutho, ngakho kwadingeka sizenzele thina.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ngiqonde ukuthini ngokuqapha okunengqondo? Awu, ake ucabange: uzenza uhlelo (isibonelo, i-Tinder clone); uwenzile, uyethula. Umphathi ophumelelayo u-Vasya Pupkin wabeka efonini yakhe, ubona intombazane lapho, uyamthanda ... futhi okufanayo akuyi entombazaneni - okufanayo kuya kunogada uMikhalych ovela esikhungweni sebhizinisi esifanayo. Umphathi uyehla, abese ezibuza: “Kungani lo nogada uMikhalych emmamatheka kangaka?”

    Ezimweni ezinjalo ... Kithina, lesi simo sizwakala sihluke kancane, ngoba (ngabhala) lokhu ukulahlekelwa kwesithunzi okuholela ngokungaqondile ekulahlekelweni kwezimali. Isimo sethu siphambene: singase silahlekelwe yimali eqondile - isibonelo, uma senze umsebenzi waba yimpumelelo, kodwa akuphumelelanga (noma okuphambene nalokho). Bekufanele ngibhale ithuluzi lami elilandelela inani lemisebenzi eyimpumelelo ngokuhamba kwesikhathi ngisebenzisa izinkomba zebhizinisi. Angitholanga lutho emakethe! Lona kanye umqondo ebengifuna ukuwudlulisela. Akukho lutho emakethe ukuxazulula lolu hlobo lwenkinga.

    Lokhu bekumayelana nendlela yokuhlonza ngokushesha inkinga.

    Indlela yokunquma izizathu zokuthunyelwa

    Iqembu lesithathu lezinkinga esizixazululayo ngesokuthi sesiyibonile inkinga, ngemuva kokuthi sesiyiqedile, kungaba kuhle ukuthi siqonde isizathu sokuthuthukiswa, ukuhlolwa, senze okuthile ngayo. Ngokunjalo, sidinga ukuphenya, sidinga ukuphakamisa izingodo.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Uma sikhuluma ngezingodo (isizathu esiyinhloko izingodo), inqwaba yezingodo zethu ziku-ELK Stack - cishe wonke umuntu uyafana. Kwabanye, kungase kungabi ku-ELK, kodwa uma ubhala izingodo ngamagigabhayithi, khona-ke ngokushesha noma kamuva uzofika ku-ELK. Siwabhala ngama-terabytes.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Kunenkinga lapha. Salilungisa, salungisa iphutha kumsebenzisi, saqala ukumba okukhona, sagibela e-Kibana, safaka i-id yokuthengiselana lapho sathola indwangu yezinyawo kanje (ibonisa okuningi). Futhi akukho lutho olucacile kule ndwangu yezinyawo. Kungani? Yebo, ngoba akucaci ukuthi iyiphi ingxenye engeyesisebenzi, iyiphi ingxenye engeyayiphi ingxenye. Futhi ngaleso sikhathi sabona ukuthi sidinga ukulandelela - i-OpenTracing efanayo engangikhulume ngayo.

    Sacabanga lokhu ngonyaka owedlule, saphendukela emakethe, futhi kwakukhona amathuluzi amabili lapho - "Zipkin" kanye "noJaeger". "U-Jager" empeleni uyindlalifa engokwengqondo enjalo, umlandeli we-ideological "Zipkin". Konke kuhle ku-Zipkin, ngaphandle kokuthi ayazi ukuthi ihlanganisa kanjani, ayazi ukuthi ifaka kanjani izingodo kumkhondo, ukulandelela isikhathi kuphela. Futhi “uJager” ukusekelile lokhu.

    Sibheke "i-Jager": ungasebenzisa izinhlelo zokusebenza, ungabhala ku-Api (izinga le-Api le-PHP ngaleso sikhathi, nokho, alizange livunyelwe - lokhu kwakungonyaka odlule, kodwa manje sekuvunyelwe kakade), kodwa kukhona wayengelona iklayenti nhlobo. “Kulungile,” sacabanga, futhi sabhala iklayenti lethu. Sitholeni? Lokhu cishe kubukeka kanje:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ku-Jaeger, kwakhiwa izikhala zomlayezo ngamunye. Okusho ukuthi, lapho umsebenzisi evula uhlelo, ubona ibhulokhi eyodwa noma amabili ngesicelo ngasinye esingenayo (1-2-3 - inani lezicelo ezingenayo ezivela kumsebenzisi, inani lamabhulokhi). Ukuze senze kube lula kubasebenzisi, sengeze omaka emalogu nasekulandeleni isikhathi. Ngokufanelekile, uma kwenzeka iphutha, uhlelo lwethu lokusebenza luzomaka ilogu ngomaka ofanele wephutha. Ungakwazi ukuhlunga ngomaka wephutha futhi izikhala eziqukethe leli bhulokhi ezinephutha kuphela ezizoboniswa. Lokhu kubukeka kanjani uma sinweba ubude besikhathi:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ngaphakathi kwe-span kukhona isethi yemikhondo. Kulokhu, lezi yizindlela ezintathu zokuhlola, futhi umkhondo wesithathu usitshela ukuthi kwenzeke iphutha. Ngesikhathi esifanayo, lapha sibona umkhondo wesikhathi: sinesilinganiso sesikhathi phezulu, futhi sibona ukuthi yisiphi isikhawu sesikhathi lokhu noma lelo logi labhalwa.

    Ngakho, izinto zasihambela kahle. Sibhale isandiso sethu futhi savula umthombo. Uma ufuna ukusebenza ngokulandela umkhondo, uma ufuna ukusebenza ne-“Jager” ku-PHP, kukhona isandiso sethu, siyakwamukela ukusisebenzisa, njengoba besho:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Sinalesi sandiso - siyiklayenti le-OpenTracing Api, senziwe njengesandiso se-php, okungukuthi, uzodinga ukusihlanganisa futhi usifake ohlelweni. Ngonyaka odlule kwakungekho okwehlukile. Manje kukhona amanye amaklayenti afana nezingxenye. Nakhu kukuwe: noma upompa izingxenye ngomqambi, noma usebenzisa isandiso kuze kube kuwe.

    Izindinganiso zebhizinisi

    Sikhulume ngemithetho emithathu. Umthetho wesine uwukulinganisa izindlela. Kumayelana nani lokhu? Imayelana nalokhu:

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Kungani igama elithi “corporate” likhona lapha? Hhayi ngoba siyinkampani enkulu noma esemthethweni, cha! Bengifuna ukusebenzisa igama elithi “corporate” lapha kumongo wokuthi yonke inkampani, yonke imikhiqizo kufanele ibe nezindinganiso zayo, okuhlanganisa nawe. Yiziphi izindinganiso esinazo?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    • Sinemithethonqubo yokusatshalaliswa. Asihambi ndawo ngaphandle kwakhe, ngeke sikwazi. Siphakela izikhathi ezingaba ngu-60 ngeviki, okungukuthi, siphakela cishe njalo. Ngesikhathi esifanayo, sine, ngokwesibonelo, emithethweni yokuthunyelwa i-taboo ekuthumeni ngoLwesihlanu - ngokuyisisekelo, asifaki.
    • Sidinga imibhalo. Ayikho neyodwa ingxenye entsha engena ekukhiqizweni uma ingekho imibhalo yayo, noma ngabe yazalwa ngaphansi kopeni bochwepheshe bethu be-RnD. Sidinga kubo imiyalelo yokuthunyelwa, imephu yokuqapha kanye nencazelo enzima (kahle, njengoba abahleli bezinhlelo bengabhala) yokuthi le ngxenye isebenza kanjani, indlela yokuyixazulula.
    • Asixazululi imbangela yenkinga, kodwa inkinga - lokho esengikushilo. Kubalulekile ukuthi sivikele umsebenzisi ezinkingeni.
    • Sinezimvume. Isibonelo, asikubheki njengesikhathi sokuphumula uma silahlekelwe u-2% wethrafikhi phakathi nemizuzu emibili. Lokhu akufakiwe ezibalweni zethu. Uma kungaphezulu ngokwemibandela yamaphesenti noma okwesikhashana, sesivele sibala.
    • Futhi sihlala sibhala ama-postmortems. Kungakhathaliseki ukuthi kwenzekani kithi, noma yisiphi isimo lapho othile aziphathe ngendlela engavamile ekukhiqizweni sizobonakala ekuhlolweni kwesidumbu. I-postmortem idokhumenti obhala kuyo ukuthi kwenzekeni kuwe, isikhathi esinemininingwane, ukuthi yini oyenzile ukuze uyilungise futhi (lokhu kuyisibopho esiyisibopho!) ozokwenza ukuvimbela lokhu ukuthi kungenzeki esikhathini esizayo. Lokhu kuyimpoqo futhi kuyadingeka ekuhlaziyeni okulandelayo.

    Yini ebhekwa njengesikhathi sokuphumula?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Konke lokhu kwaholelaphi?

    Lokhu kwaholela eqinisweni lokuthi (sibe nezinkinga ezithile zokuzinza, lokhu akuzange kuhambisane namaklayenti noma nathi) phakathi nezinyanga ezingu-6 ezedlule inkomba yethu yokuzinza ibingu-99,97. Singasho ukuthi lokhu akukuningi kakhulu. Yebo, kukhona okumele sikulwele. Kule nkomba, cishe isigamu siwukuzinza, njengokungathi, hhayi okwethu, kodwa kwe-firewall yesicelo sethu sewebhu, esimi phambi kwethu futhi sisetshenziswa njengesevisi, kodwa amakhasimende awanandaba nalokhu.

    Safunda ukulala ebusuku. Ekugcineni! Ezinyangeni eziyisithupha ezedlule asikwazanga. Futhi kule nothi ngemiphumela, ngingathanda ukwenza inothi elilodwa. Izolo ebusuku kube nombiko omuhle kakhulu mayelana nohlelo lokulawula i-nuclear reactor. Uma abantu ababhale lolu hlelo bengangizwa, ngicela ukhohlwe engikushilo mayelana nokuthi “2% akusona isikhathi sokuphumula.” Kuwe, u-2% yisikhathi sokuphumula, noma ngabe imizuzu emibili!

    Yilokho kuphela! Imibuzo yakho.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Mayelana nabalinganisi kanye nokufuduka kwesizindalwazi

    Umbuzo ovela ezithamelini (ngemuva kwalokhu – B): – Sawubona. Ngiyabonga kakhulu ngombiko onjalo admin! Umbuzo omfushane mayelana nabalingani bakho. Ushilo ukuthi une-WAF, okungukuthi, njengoba ngikuqonda, usebenzisa uhlobo oluthile lwe-balancer yangaphandle...

    EK: - Cha, sisebenzisa izinsiza zethu njengebhalansi. Kulokhu, i-WAF iyithuluzi lethu lokuvikela i-DDoS kuphela.

    B: - Ungasho amagama ambalwa mayelana nabalinganisi?

    EK: - Njengoba sengishilo, leli yiqembu lamaseva avulekile. Manje sesinamaqembu angu-5 agciniwe aphendula ngokukhethekile...okungukuthi, iseva esebenzisa i-openresty ngokukhethekile, imelela ithrafikhi kuphela. Ngakho-ke, ukuqonda ukuthi siphethe malini: manje sinokuhamba okuvamile kwethrafikhi yama-megabits angamakhulu amaningana. Baphila, bazizwa behle, abazihluphi nokuzikhandla.

    B: – Futhi umbuzo olula. Nakhu ukusetshenziswa okuluhlaza okwesibhakabhaka/okuluhlaza. Wenzani, isibonelo, ngokufuduka kwesizindalwazi?

    EK: - Umbuzo omuhle! Bheka, ekusetshenzisweni Okuluhlaza Okuhlaza okwesibhakabhaka/Okuhlaza sinemigqa ehlukene yomugqa ngamunye. Okusho ukuthi, uma sikhuluma ngolayini bemicimbi abadluliswa besuka emsebenzini baye kwesinye, kukhona olayini abahlukene bomugqa oluhlaza okwesibhakabhaka kanye nolayini oluhlaza. Uma sikhuluma nge-database ngokwayo, sabe sesiyinciphisa ngamabomu ngokusemandleni ethu, sahambisa yonke into emigqeni; kusizindalwazi sigcina kuphela inqwaba yezinto ezenziwayo. Futhi isitaki sethu sokwenziwe siyafana kuyo yonke imigqa. Ngesizindalwazi kulo mongo: asiyihlukanisi ibe luhlaza okwesibhakabhaka nokuluhlaza, ngoba zombili izinguqulo zekhodi kufanele zazi ukuthi kwenzekani ngomsebenzi.

    Bangani, nami nginomklomelo omncane engizonikhuthaza ngawo - incwadi. Futhi kufanele ngiklonyeliswe ngombuzo ongcono kakhulu.

    B: - Sawubona. Siyabonga ngombiko. Umbuzo yilokhu. Uqapha izinkokhelo, uqapha izinsizakalo oxhumana nazo ... Kodwa uqapha kanjani ukuze umuntu ngandlela-thile eze ekhasini lakho lokukhokha, enze inkokhelo, futhi iphrojekthi imnikeze imali? Okusho ukuthi, uqapha kanjani ukuthi umashi uyatholakala futhi wamukele ukuphinda ushayelwe ucingo?

    EK: – “Umthengisi” kithi kuleli cala uyisevisi yangaphandle efanayo ncamashi nesistimu yokukhokha. Siqapha isivinini sokuphendula somthengisi.

    Mayelana nokubethela kusizindalwazi

    B: - Sawubona. Nginombuzo ohlobene kancane. Unedatha ebucayi ye-PCI DSS. Bengifuna ukwazi ukuthi uwagcina kanjani ama-PAN kulayini odinga ukudlulisela kuwo? Ingabe usebenzisa noma yikuphi ukubethela? Futhi lokhu kuholela embuzweni wesibili: ngokusho kwe-PCI DSS, kuyadingeka ukuthi ngezikhathi ezithile ubhale kabusha i-database uma kwenzeka izinguquko (ukuxoshwa kwabaphathi, njll) - kwenzekani ekufinyeleleni kuleli cala?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    EK: - Umbuzo Wonderful! Okokuqala, asiwagcini ama-PAN kulayini. Asinalo ilungelo lokugcina i-PAN noma yikuphi ngendlela ecacile, ngokomthetho, ngakho sisebenzisa isevisi ekhethekile (siyibiza ngokuthi "Kademon") - lena yisevisi eyenza into eyodwa kuphela: ithola umlayezo njengokufaka futhi ithumela. khipha umlayezo obethelwe. Futhi sigcina yonke into ngalo mlayezo obethelwe. Ngakho-ke, ubude bethu obuyisihluthulelo bungaphansi kwe-kilobyte, ukuze lokhu kubucayi futhi kuthembekile.

    B: – Ingabe udinga 2 kilobytes manje?

    EK: - Kubonakala sengathi izolo nje bekungama-256 ... Awu, kuphi futhi?!

    Ngokuvumelana nalokho, lokhu kungokokuqala. Okwesibili, isisombululo esikhona, sisekela inqubo yokubethela kabusha - kukhona amapheya amabili "keks" (okhiye), anikeza "amadekhi" abethela (izihluthulelo ziyizihluthulelo, i-dek iphuma kwezikhiye ezibethela) . Futhi uma inqubo iqalisiwe (yenzeka njalo, kusukela ezinyangeni ezi-3 ukuya ku-± ezinye), silanda "amakhekhe" amasha, bese sibhala kabusha idatha. Sinezinsizakalo ezihlukene eziklebhula yonke idatha futhi ziyibethele ngendlela entsha; Idatha igcinwa eduze kwesihlonzi sokhiye ebethelwe ngaso. Ngokufanelekile, lapho nje sibhala ngemfihlo idatha ngokhiye abasha, sisusa ukhiye omdala.

    Kwesinye isikhathi izinkokhelo zidinga ukwenziwa mathupha...

    B: - Okusho ukuthi, uma ukubuyiselwa kwemali sekufikile kokusebenza okuthile, usazokususa ngokhiye omdala?

    EK: - Yebo.

    B: - Bese kuba umbuzo owodwa omncane. Uma uhlobo oluthile lokwehluleka, ukuwa, noma isigameko senzeka, kubalulekile ukuphusha okwenziwayo mathupha. Kukhona isimo esinjalo.

    EK: - Yebo, ngezinye izikhathi.

    B: – Uyithathaphi le datha? Noma uyaziyela wena kulesi sikhungo sokugcina?

    EK: - Cha, kunjalo, sinesistimu ye-back-office equkethe isixhumi esibonakalayo ukuze sisekele. Uma singazi ukuthi umsebenzi ukusiphi isimo (isibonelo, kuze kube yilapho uhlelo lokukhokha luphendula ngokuvala isikhathi), asazi i-priori, okungukuthi, sinikeza isimo sokugcina kuphela ngokuzethemba okuphelele. Kulesi simo, sinikeza umsebenzi esimweni esikhethekile sokucubungula mathupha. Ekuseni, ngosuku olulandelayo, ngokushesha nje lapho ukusekelwa kuthola ulwazi lokuthi ukuthengiselana okunjalo nalokhu kuhlala kusistimu yokukhokha, bakucubungula mathupha kulesi sikhombimsebenzisi.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    B: – Nginemibuzo embalwa. Enye yazo ukuqhubeka kwendawo ye-PCI DSS: usifaka kanjani isifunda sabo? Lo mbuzo kungenxa yokuthi umthuthukisi ubengafaka noma yini ezingodweni! Umbuzo wesibili: uwakhipha kanjani ama-hotfixes? Izibambo ku-database kuyindlela eyodwa, kodwa kungase kube nokulungiswa kwamahhala - iyiphi inqubo lapho? Futhi umbuzo wesithathu cishe uhlobene ne-RTO, RPO. Ukutholakala kwakho kwakungu-99,97, cishe ama-nines amane, kodwa njengoba ngikuqonda, unesikhungo sedatha sesibili, isikhungo sedatha sesithathu, nesikhungo sedatha yesihlanu ... Uzivumelanisa kanjani, uziphindaphinde, nakho konke okunye?

    EK: - Ake siqale ngeyokuqala. Ingabe umbuzo wokuqala wawumayelana nezingodo? Uma sibhala amalogi, sinesendlalelo esivala yonke idatha ebucayi. Ubheka imaski kanye nezinkambu ezengeziwe. Ngakho-ke, izingodo zethu ziphuma nedatha evele imaski kanye nesekethe ye-PCI DSS. Lona omunye wemisebenzi evamile eyabelwe umnyango wokuhlola. Kudingeka ukuthi bahlole umsebenzi ngamunye, kuhlanganise namalogi abawabhalayo, futhi lona omunye wemisebenzi evamile phakathi nokubuyekezwa kwekhodi, ukuze kulawulwe ukuthi unjiniyela akazange abhale okuthile phansi. Ukuhlola okulandelayo kwalokhu kwenziwa njalo umnyango wezokuphepha wolwazi cishe kanye ngeviki: amalogi osuku lokugcina athathwa ngokukhetha futhi aqhutshwa ngesihlaziyi seskena esikhethekile esivela eziphakelini zokuhlola ukuze kuhlolwe yonke into.
    Mayelana nokulungiswa okushisayo. Lokhu kufakiwe emithethweni yethu yokusatshalaliswa. Sinesigatshana esihlukile mayelana nama-hotfixes. Sikholelwa ukuthi sisebenzisa ama-hotfixes ubusuku nemini uma sikudinga. Ngokushesha nje lapho inguqulo isiqoqiwe, ngokushesha nje lapho isiqalisiwe, ngokushesha nje lapho sine-artifact, sinomlawuli wesistimu osemsebenzini ocingweni oluvela ekusekeleni, futhi uyisebenzisa ngaleso sikhathi lapho kudingekile.

    Mayelana "neziyisishiyagalolunye ezine". Isibalo esinaso manje sizuzwe ngempela, futhi siye salwela ukusithola kwesinye isikhungo sedatha. Manje sesinesikhungo sedatha sesibili, futhi sesiqala ukuhamba phakathi kwaso, futhi indaba yokuphindaphinda kwesikhungo sedatha iwumbuzo ongabalulekile ngempela. Sazama ukuyixazulula ngesikhathi esisodwa sisebenzisa izindlela ezahlukene: sazama ukusebenzisa "i-Tarantula" efanayo - ayizange isisebenzele, ngizokutshela ngokushesha. Yingakho sigcine ngoku-oda "izinzwa" mathupha. Eqinisweni, uhlelo lokusebenza ngalunye ohlelweni lwethu lusebenzisa ukuvumelanisa okudingekayo "koshintsho - olwenziwe" phakathi kwezikhungo zedatha ngokuhambisanayo.

    B: - Uma uthole eyesibili, kungani ungayitholanga eyesithathu? Ngoba akekho umuntu onobuchopho obuhlukene...

    EK: - Kodwa asinayo i-Split Brain. Ngenxa yokuthi isicelo ngasinye siqhutshwa yi-multimaster, akusho lutho kithina ukuthi isicelo size kusiphi isikhungo. Silungele iqiniso lokuthi uma esinye sezikhungo zethu zedatha sihluleka (sithembele kulokhu) futhi phakathi nesicelo somsebenzisi sishintshela kusikhungo sedatha sesibili, silungele ukulahlekelwa yilo msebenzisi, ngempela; kodwa lezi kuzoba amayunithi, amayunithi aphelele.

    B: - Sawubona. Siyabonga ngombiko. Ukhulume nge-debugger yakho, eqhuba ukuthenga okuthile ekukhiqizeni. Kodwa sitshele mayelana nokuthengiselana kokuhlola! Ijula kangakanani?

    EK: - Idlula kumjikelezo ogcwele wayo yonke ingxenye. Engxenyeni ethile, awukho umehluko phakathi kokwenziwayo kokuhlola nokukhiqiza. Kodwa ngokombono onengqondo, lokhu kumane kuyiphrojekthi ehlukile ohlelweni, lapho kwenziwa khona ukuthengiselana kuphela.

    B: -Uyinqamula kuphi? Lapha u-Core uthumele...

    EK: - Singemuva kuka-"Kor" kulokhu ukuze kuhlolwe ukuthengiselana... Sinento efana nendlela: "I-Kor" iyazi ukuthi iyiphi isistimu yokukhokha okufanele ithunyelwe - sithumela ohlelweni lokukhokha lomgunyathi, oluvele lunikeze isignali ye-http futhi yilokho kuphela.

    B: - Ngicela ungitshele, ingabe isicelo sakho sasibhalwe nge-monolith eyodwa enkulu, noma usike waba ezinye izinsiza noma ama-microservices?

    EK: - Asinayo i-monolith, kunjalo, sinohlelo lokusebenza oluqondiswe kusevisi. Sihlekisa ngokuthi insizakalo yethu yenziwe ngama-monoliths - makhulu impela. Kunzima ukukubiza ngokuthi ama-microservices, kodwa lezi yizinsizakalo lapho abasebenzi bemishini esabalalisiwe besebenza khona.

    Uma isevisi ekuseva isengozini...

    B: – Bese ngiba nombuzo olandelayo. Noma ngabe bekuyi-monolith, usasho ukuthi unamaseva amaningi asheshayo, wonke acubungula idatha, futhi umbuzo uthi: “Ezimweni lapho kuba khona ukuyekethisa kwenye yamaseva asheshayo noma isicelo, noma yisiphi isixhumanisi ngasinye , ingabe banalo uhlobo oluthile lokulawula ukufinyelela? Imuphi kubo ongenzani? Ubani okufanele ngixhumane naye ukuze ngithole luphi ulwazi?

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    EK: - Yebo, nakanjani. Izidingo zokuphepha zibucayi kakhulu. Okokuqala, sinokunyakaziswa kwedatha okuvulekile, futhi izimbobo yilabo kuphela esilindele ukuhamba kwethrafikhi kusenesikhathi. Uma ingxenye ixhumana nesizindalwazi (yithi, no-Muskul) nge-5-4-3-2, kuzovulelwa i-5-4-3-2 kuphela, nezinye izimbobo nezinye izikhombisi-ndlela zomgwaqo ngeke zitholakale. Ngaphezu kwalokho, udinga ukuqonda ukuthi ekukhiqizeni kwethu kukhona cishe amalophu okuvikela ayi-10 ahlukene. Futhi noma ngabe uhlelo lokusebenza lubekwe engcupheni ngandlela thize, uNkulunkulu akavumi, umhlaseli ngeke akwazi ukufinyelela ikhonsoli yokuphatha iseva, ngoba lena indawo yokuphepha yenethiwekhi ehlukile.

    B: - Futhi kulo mongo, okungithakazelisa kakhulu ukuthi unezivumelwano ezithile namasevisi - lokho abangakwenza, ngokusebenzisa yiziphi "izenzo" abangathintana ngazo... Futhi ngokuhamba okuvamile, ezinye izinsizakalo ezithile zicela ezinye. irowu, uhlu "lwezenzo" ngakolunye. Ababonakali bephendukela kwabanye esimweni esivamile, futhi banezinye izindawo zomthwalo wemfanelo. Uma enye yazo isengozini, ingabe izokwazi ukuphazamisa “izenzo” zaleyo nkonzo?..

    EK: - Ngiyaqonda. Uma esimweni esivamile nomunye ukuxhumana kweseva kwakuvunyelwe nhlobo, yebo. Ngokwenkontileka ye-SLA, asiqapheli ukuthi uvunyelwe kuphela "izenzo" ezi-3 zokuqala, futhi awuvunyelwe "izenzo" ezi-4. Lokhu cishe akusadingeki kithi, ngoba sesivele sinesistimu yokuvikela enamazinga angu-4, ngokomgomo, wamasekhethi. Sikhetha ukuzivikela ngama-contours, kunokuba sivikeleke ezingeni langaphakathi.

    Isebenza kanjani iVisa, MasterCard neSberbank

    B: - Ngifuna ukucacisa iphuzu mayelana nokushintsha umsebenzisi kusuka kusikhungo sedatha esisodwa kuya kwesinye. Ngokwazi kwami, i-Visa ne-MasterCard isebenza kusetshenziswa i-8583 kanambambili yokuvumelanisa protocol, futhi kukhona izingxube lapho. Futhi bengifuna ukwazi, manje sesisho ukushintsha - ingabe ngokuqondile "i-Visa" kanye "ne-MasterCard" noma ngaphambi kwezinhlelo zokukhokha, ngaphambi kokucubungula?

    EK: - Lokhu kungaphambi kwezingxube. Imiksi yethu itholakala esikhungweni sedatha esifanayo.

    B: - Uma sikhuluma nje, ingabe unendawo eyodwa yokuxhumana?

    EK: – “Visa” kanye “MasterCard” - yebo. Ngoba nje i-Visa ne-MasterCard zidinga ukutshalwa kwezimali okuqinile kungqalasizinda ukuze kuphothulwe izinkontileka ezihlukene ukuze kutholwe ipheya lesibili lamamiksi, isibonelo. Zigcinwe ngaphakathi kwesikhungo esisodwa sedatha, kodwa uma, uNkulunkulu engavumeli, isikhungo sethu sedatha, lapho kukhona izingxube zokuxhuma ku-Visa ne-MasterCard, sifa, khona-ke sizoba nokuxhumana ne-Visa ne-MasterCard elahlekile...

    B: - Zingagcinwa kanjani? Ngiyazi ukuthi i-Visa ivumela ukuxhumana okukodwa kuphela ngokomgomo!

    EK: – Bazihlinzeka ngokwabo imishini. Kunoma ikuphi, sithole okokusebenza okungasenamsebenzi ngokuphelele ngaphakathi.

    B: - Ngakho-ke isitendi sivela ku-Connects Orange yabo?..

    EK: - Yebo.

    B: - Kodwa kuthiwani ngaleli cala: uma isikhungo sakho sedatha sinyamalala, ungaqhubeka kanjani nokusisebenzisa? Noma ithrafikhi imane ima?

    EK: - Cha. Kulokhu, sizomane sishintshe ithrafikhi siye kwesinye isiteshi, ngokwemvelo, esizobiza kakhulu kithi futhi sibize kakhulu kumakhasimende ethu. Kodwa ithrafikhi ngeke idlule ekuxhumekeni kwethu okuqondile ku-Visa, MasterCard, kodwa nge-Sberbank enemibandela (ihaba kakhulu).

    Ngiyaxolisa kakhulu uma ngicasule abasebenzi bakwaSberbank. Kodwa ngokwezibalo zethu, phakathi kwamabhange aseRussia, i-Sberbank iwela kaningi. Ayipheli inyanga kungawi lutho eSberbank.

    I-HighLoad++, u-Evgeniy Kuzovlev (EcommPay IT): yini okufanele uyenze uma umzuzu wesikhathi sokuphumula ubiza u-$100000

    Ezinye izikhangiso 🙂

    Siyabonga ngokuhlala nathi. Uyazithanda izindatshana zethu? Ufuna ukubona okuqukethwe okuthakaselayo okwengeziwe? Sisekele ngokufaka i-oda noma ngokuncoma kubangani, I-VPS yefu yonjiniyela kusuka ku-$4.99, i-analogue ehlukile yamaseva ezinga lokungena, esungulwe yithi ngenxa yakho: Lonke iqiniso nge-VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kusuka ku-$19 noma ukwabelana ngeseva? (itholakala nge-RAID1 kanye ne-RAID10, kufika kuma-cores angu-24 kuze kufike ku-40GB DDR4).

    I-Dell R730xd 2x ishibhile esikhungweni sedatha se-Equinix Tier IV e-Amsterdam? Lapha kuphela 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kusukela ku-$199 eNetherlands! I-Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - isuka ku-$99! Funda mayelana Indlela yokwakha ingqalasizinda corp. ikilasi ngokusetshenziswa kwe-Dell R730xd E5-2650 v4 amaseva abiza u-9000 euros ngepeni?

Source: www.habr.com

Engeza amazwana