HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

Wese munhu anotaura nezve maitirwo ekusimudzira uye kuyedzwa, vashandi vekudzidzisa, kuwedzera kukurudzira, asi maitiro aya haana kukwana kana miniti yenguva yekuzorora inodhura mari yakawanda. Chii chaunofanira kuita kana iwe uchiita kutengeserana kwemari pasi peSLA yakasimba? Nzira yekuwedzera sei kuvimbika uye kukanganisa kushivirira kwemasisitimu ako, kutora kusimudzira uye kuyedzwa kunze kweiyo equation?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

Musangano unotevera weHighLoad++ uchaitwa muna Kubvumbi 6 na7, 2020 muSt. Details uye matikiti e batanidzo. Mbudzi 9, 18:00. HighLoad++ Moscow 2018, Delhi + Kolkata hall. Izvi uye mharidzo.

Evgeniy Kuzovlev (zvino – EC): - Shamwari, mhoro! Zita rangu ndinonzi Kuzovlev Evgeniy. Ini ndinobva kukambani yeEcommPay, chikamu chakati EcommPay IT, chikamu cheIT cheboka remakambani. Uye nhasi tichataura pamusoro pekuderera - nezve nzira yekuzvidzivirira nayo, nezvekuderedza migumisiro yavo kana isingagoni kudziviswa. Musoro wacho unotaurwa sezvizvi: "Zvekuita kana miniti yekudzikira inodhura $100"? Tichitarira mberi, nhamba dzedu dzakaenzana.

Chii chinoita EcommPay IT?

Tiri vanaani? Ndakamira sei pano pamberi penyu? Sei ndine kodzero yekukuudza chimwe chinhu pano? Uye tichataura nezvei pano zvakadzama?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

EcommPay boka remakambani mutori wepasi rese. Isu tinogadzira mubhadharo pasi rese - muRussia, Europe, Southeast Asia (Munyika Yose). Tine mahofisi mapfumbamwe, vashandi mazana mashanu pamwe chete, uye vangangoita isingasviki hafu yavo inyanzvi dzeIT. Zvese zvatinoita, zvese zvatinoita mari kubva, takazviita isu pachedu.

Takanyora zvigadzirwa zvedu zvese (uye isu tine zvakawanda kwazvo - mumutsara wedu wezvigadzirwa zveIT zvakakura tine zvikamu gumi nematanhatu zvakasiyana) isu pachedu; Tinozvinyora pachedu, tinozvisimudzira. Uye panguva ino isu tinoita zvingangoita miriyoni yekutengeserana pazuva (mamiriyoni pamwe ndiyo nzira chaiyo yekuzvitaura). Isu tiri kambani diki - isu tinongova nemakore matanhatu.

6 years ago it was so startup pakauya vakomana nebusiness. Vakanga vakabatana nepfungwa (pakanga pasina chimwe chinhu kunze kwepfungwa), uye takamhanya. Kufanana nekutanga chero kupi zvako, takamhanya nekukurumidza ... Kwatiri, kukurumidza kwaive kwakakosha kupfuura kunaka.

Pane imwe nguva takamira: takaona kuti isu hatichakwanisa kurarama nekumhanya ikoko uye nemhando iyoyo uye isu taifanira kutarisa nezvemhando yekutanga. Panguva ino, isu takasarudza kunyora chikuva chitsva chaizove chakarurama, chinotyisa, uye chakavimbika. Vakatanga kunyora puratifomu iyi (vakatanga kuisa mari, kusimudzira budiriro, kuyedza), asi pane imwe nguva vakaziva kuti kusimudzira uye kuyedza hakuna kutibvumira kusvika padanho idzva remhando yebasa.

Iwe unogadzira chigadzirwa chitsva, unochiisa mukugadzirwa, asi zvakadaro chimwe chinhu chinozokanganisika pane imwe nzvimbo. Uye nhasi tichataura nezve nzira yekusvika padanho idzva remhando (maitirwo atakazviita, nezve chiitiko chedu), kutora budiriro uye kuyedza kunze kweiyo equation; isu tichataura pamusoro pezvinowanikwa pakushanda - chii chinogona kuvhiyiwa pachacho, chii chaanogona kupa pakuyedzwa kuitira kuti chipesvedzere kunaka.

Nguva dzekuzorora. Mirairo yekushanda.

Nguva dzose ibwe rekona, izvo zvatichataura nezvazvo nhasi inguva yekuderera. Shoko rinotyisa. Kana isu tiine nguva yekuderera, zvese zvakaipa kwatiri. Tirikumhanya kuisimudza, maadmins akabata server - Mwari ngaarege kudonha, sezvavanotaura murwiyo irworwo. Izvi ndizvo zvatichataura nezvazvo nhasi.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

Patakatanga kushandura maitiro edu, takagadzira mirairo mina. Ndine iwo anoratidzwa pamasiraidhi:

Iyi mirairo iri nyore:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

  • Kurumidza kuziva dambudziko.
  • Zvibvise nekukurumidza.
  • Batsira kunzwisisa chikonzero (gare gare, kune vanogadzira).
  • Uye standardize nzira.

Ndinoda kukwevera pfungwa dzako kune nhamba Nhamba 2. Tiri kubvisa dambudziko racho, kwete kurigadzirisa. Sarudzo ndeyechipiri. Kwatiri, chinhu chekutanga ndechekuti mushandisi anodzivirirwa kubva kudambudziko iri. Ichavepo mune imwe nharaunda iri kwayo yega, asi iyi nharaunda haizove nekusangana nayo. Chaizvoizvo, isu tichapfuura neaya mapoka mana ematambudziko (mamwe mune zvakadzama, mamwe muchidimbu), ini ndichakuudza zvatinoshandisa, chii chakakosha chiitiko chatinacho mumhinduro.

Troubleshooting: Zvinoitika riini uye zvokuita nezvazvo?

Asi isu tichatanga kunze kwekurongeka, tichatanga nenhamba Nhamba 2 - sei kukurumidza kubvisa dambudziko? Pane dambudziko - tinofanira kurigadzirisa. "Chii chatinofanira kuita pamusoro peizvi?" - mubvunzo mukuru. Uye patakatanga kufunga nezve kugadzirisa dambudziko, takazvigadzirira isu zvimwe zvinodikanwa izvo zvinofanirwa kuteverwa nekugadzirisa dambudziko.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

Kuti tigadzire izvi zvinodiwa, takasarudza kuzvibvunza mubvunzo wokuti: “Tine matambudziko rini”? Uye matambudziko, sezvazvakazoitika, anoitika muzviitiko zvina:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

  • Hardware kutadza.
  • Masevhisi ekunze akundikana.
  • Kuchinja shanduro yesoftware (iyo yakafanana kutumira).
  • Kukura kwemutoro unoputika.

Hatizotaura nezve maviri ekutanga. Kusashanda zvakanaka kwehardware kunogona kugadziriswa zviri nyore: iwe unofanirwa kuve uine zvese zvakapetwa. Kana aya ari madhisiki, madhisiki anofanira kuunganidzwa muRAID; kana iyi iri sevha, sevha inofanirwa kudzokororwa; kana uine network network, iwe unofanirwa kupa kopi yechipiri yetiweki network, ndiko kuti, iwe unotora uye. dzokorora. Uye kana chimwe chinhu chikatadza, unochinja kuti uchengete simba. Zvakaoma kutaura zvimwe zvakawanda pano.

Chechipiri ndiko kukundikana kwemabasa ekunze. Kune vazhinji, iyo system haisi dambudziko zvachose, asi kwete kwatiri. Sezvo isu tichigadzira mubhadharo, isu tiri aggregator inomira pakati pemushandisi (uyo anopinda kadhi data rake) nemabhangi, masisitimu ekubhadhara (Visa, MasterCard, Mira, nezvimwewo). Masevhisi edu ekunze (yekubhadhara masisitimu, mabhangi) anowanzo kutadza. Isu kana iwe (kana uine masevhisi akadai) anogona kukanganisa izvi.

Ndoita sei ipapo? Pane zvingasarudzwa zviviri pano. Kutanga, kana uchikwanisa, unofanira kutevedzera iyi sevhisi neimwe nzira. Semuenzaniso, kana tichikwanisa, tinotamisa traffic kubva kune imwe sevhisi kuenda kune imwe: semuenzaniso, makadhi akagadziriswa kuburikidza neSberbank, Sberbank ine matambudziko - tinotamisa traffic [nemamiriro ezvinhu] kuRaiffeisen. Chechipiri chatinogona kuita ndechekuona kutadza kwemabasa ekunze nekukurumidza, uye saka tichataura nezvekukurumidza kwekupindura muchikamu chinotevera chemushumo.

Muchokwadi, pane izvi zvina, isu tinokwanisa kunyatso kupesvedzera shanduko yeshanduro dzesoftware - tora zviito zvinozotungamira mukuvandudzika kwemamiriro ezvinhu mumamiriro ekutumirwa uye mumamiriro ekukura kwekuputika mumutoro. Chaizvoizvo, ndizvo zvatakaita. Pano, zvakare, katsamba kadiki ...

Pamatambudziko mana aya, akati wandei anogadziriswa nekukurumidza kana uine gore. Kana iwe uri muMicrosoft Azhur, Ozone makore, kana kushandisa makore edu, kubva kuYandex kana Email, saka kanenge kusashanda kwehardware kunova dambudziko ravo uye zvese zvinobva zvangove zvakakunakira iwe mumamiriro ekusashanda kwehardware.

Isu tiri kambani isina kujairika zvishoma. Pano munhu wese ari kutaura nezve "Kubernets", nezvemakore - isu hatina "Kubernets" kana makore. Asi isu tine racks ye Hardware munzvimbo dzakawanda dze data, uye isu tinomanikidzwa kurarama pane iyi hardware, isu tinomanikidzwa kuve nemhosva kune iyo yese. Nokudaro, tichataura munyaya ino. Saka, nezve dambudziko. Maviri ekutanga akaburitswa mumabhuraketi.

Kuchinja shanduro yesoftware. Mabhesi

Vagadziri vedu havana mukana wekugadzira. Nei zvakadaro? Kungoti isu tiri PCI DSS certified, uye vagadziri vedu havana kodzero yekupinda mu "chigadzirwa". Ndizvozvo, nguva. Zvachose. Naizvozvo, basa rekusimudzira rinopera chaizvo panguva iyo budiriro inoendesa iyo kuvaka kuti isunungurwe.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

Hwaro hwedu hwechipiri hwatinahwo, hunotibatsirawo zvakanyanya, kusavapo kweruzivo rusina kunyorwa. Ndinovimba zvakafanana kwauri. Nokuti kana zvisina kudaro, iwe uchava nematambudziko. Matambudziko achamuka kana iyi yakasarudzika, isina kunyorwa ruzivo isipo panguva chaiyo munzvimbo chaiyo. Ngatiti iwe une munhu mumwe chete anoziva nzira yekuisa chimwe chinhu - munhu wacho haapo, ari pazororo kana kurwara - ndizvozvo, une matambudziko.

Uye hwaro hwechitatu hwatakasvika. Takasvika pazviri kuburikidza nekurwadziwa, ropa, misodzi - takasvika pamhedziso yekuti chero yezvivakwa zvedu zvine zvikanganiso, kunyangwe zvisina kukanganisa. Isu takazvisarudzira isu pachedu: kana isu tichiendesa chimwe chinhu, kana isu tichikungurutsa chimwe chinhu mukugadzira, isu tine chivakwa chine zvikanganiso. Isu takagadzira zvinodiwa izvo system yedu inofanirwa kugutsa.

Zvinodiwa pakushandura shanduro yesoftware

Pane zvinhu zvitatu zvinodiwa:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

  • Tinofanira kukurumidza kudzosera kumashure kutumirwa.
  • Tinofanira kuderedza kukanganiswa kwekushandiswa kusina kubudirira.
  • Uye isu tinofanira kukwanisa kukurumidza kuendesa mukufanana.
    Ndizvo chaizvo muhurongwa ihwohwo! Sei? Nokuti, kutanga kune zvose, kana uchitumira shanduro itsva, kukurumidza hakuna kukosha, asi zvakakosha kwauri, kana chimwe chinhu chikatadza, kukurumidza kudududza uye kuva nemigumisiro shoma. Asi kana iwe uine seti yeshanduro mukugadzirwa, izvo zvinozoitika kuti pane chikanganiso (kunze kwebhuruu, pakanga pasina kutumirwa, asi pane kukanganisa) - kukurumidza kweiyo kunotevera kutumirwa kwakakosha kwauri. Chii chatakaita kuti tizadzise zvido izvi? Isu takashandisa nzira inotevera:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Inonyatso kuzivikanwa, isu hatina kumbozvigadzira - iyi ndeyeBlue / Green deploy. Chii? Iwe unofanirwa kuve nekopi yeboka rega rega remaseva panoisirwa maapplication ako. Iyo kopi "inodziya": hapana traffic pairi, asi chero nguva iyi traffic inogona kutumirwa kune ino kopi. Iri kopi rine shanduro yapfuura. Uye panguva yekutumirwa, iwe unoburitsa kodhi kune isingashande kopi. Wobva wachinja chikamu chetraffic (kana zvese) kune iyo nyowani vhezheni. Nokudaro, kuitira kuti uchinje kuyerera kwemotokari kubva kushanduro yekare kusvika kune itsva, unoda kuita chiito chimwe chete: unoda kushandura kuenzanisa kumusoro kwemvura, shandura nzira - kubva kune imwe kumusoro kusvika kune imwe. Izvi zviri nyore uye zvinogadzirisa dambudziko rekukurumidza kushandura uye nekukurumidza kudzosera kumashure.

    Pano mhinduro kumubvunzo wechipiri ndeyekuderedza: iwe unogona kutumira chete chikamu chetraffic yako kumutsara mutsva, kumutsara une kodhi nyowani (rega ive, semuenzaniso, 2%). Uye aya 2% haasi 100%! Kana iwe wakarasikirwa ne100% yetraffic yako nekuda kwekusabudirira kutumirwa, izvo zvinotyisa; kana iwe wakarasikirwa ne2% yetraffic yako, izvo hazvifadzi, asi hazvityisi. Uyezve, vashandisi vangangove vasingatombozvioni izvi, nekuti mune zvimwe zviitiko (kwete mune zvese) mushandisi mumwechete, achidzvanya F5, achaendeswa kune imwe, inoshanda vhezheni.

    Bhuruu/Green deploy. Routing

    Zvisinei, hazvisi zvose zviri nyore "Blue / Green deploy" ... Zvose zvedu zvikamu zvinogona kugoverwa mumapoka matatu:

    • iyi ndiyo yekutanga (mapeji ekubhadhara ayo vatengi vedu vanoona);
    • processing core;
    • adapta yekushanda nehurongwa hwekubhadhara (mabhangi, MasterCard, Visa ...).

    Uye pane nuance pano - iyo nuance iri munzira yepakati pemitsara. Kana ukangochinja 100% yetraffic, iwe hauna matambudziko aya. Asi kana iwe uchida kushandura 2%, unotanga kubvunza mibvunzo: "Sei kuita izvi?" Chinhu chakareruka chakananga kumberi: unogona kuseta Round Robin munginx nesarudzo yakasarudzika, uye une 2% kuruboshwe, 98% kurudyi. Asi izvi hazvisi nguva dzose zvakakodzera.

    Semuenzaniso, kwatiri isu, mushandisi anopindirana nehurongwa neanopfuura chikumbiro chimwe. Izvi zvakajairika: 2, 3, 4, 5 zvikumbiro - masisitimu ako anogona kunge akafanana. Uye kana zvakakosha kwauri kuti zvikumbiro zvese zvemushandisi zviuye kumutsara wakafanana pakauya chikumbiro chekutanga, kana (yechipiri pfungwa) zvese zvikumbiro zvemushandisi zvinouya kumutsara mutsva mushure mekuchinja (angadai akatanga kushanda kare ne system, isati yachinja), - saka kugovera uku kwakangoitika hakuna kukodzera iwe. Zvadaro pane zvinotevera zvingasarudzwa:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Sarudzo yekutanga, yakareruka, yakavakirwa pane ekutanga paramita yemutengi (IP Hash). Iwe une IP, uye unoipatsanura kubva kurudyi kuenda kuruboshwe ne IP kero. Zvino nyaya yechipiri yandakatsanangura ichashanda kwauri, kana kutumirwa kwaitika, mushandisi anogona kutotanga kushanda nehurongwa hwako, uye kubva panguva yekutumirwa zvikumbiro zvese zvinoenda kune mutsara mutsva (kune imwecheteyo, taura).

    Kana nekuda kwechimwe chikonzero izvi zvisingaenderane newe uye unofanirwa kutumira zvikumbiro kumutsara uko kwekutanga kwemushandisi, chikumbiro chekutanga chakauya, saka une sarudzo mbiri ...
    Chekutanga sarudzo: unogona kutenga yakabhadharwa nginx +. Kune Sticky maseshini magadzirirwo, ayo, pachikumbiro chekutanga chemushandisi, anopa chikamu kumushandisi uye anosungira kune mumwe kana mumwe kumusoro. Zvese zvikumbiro zvinozotevera zvemushandisi mukati menguva yehupenyu hweseshini zvinotumirwa kune imwecheteyo kumusoro uko iyo chikamu chakatumirwa.

    Izvi hazvina kutikodzera nekuti taive tagara tiine nginx. Kuchinjira ku nginx + hakusi kuti kunodhura, inyaya yekuti zvaitirwadza uye zvisiri izvo. "Sticks Sessions", semuenzaniso, haina kushanda kwatiri nechikonzero chiri nyore chekuti "Sticks Sessions" haibvumire nzira yakavakirwa pa "Zvimwe-kana". Ikoko iwe unogona kutsanangura izvo isu "Sticks Sessions" tinoita, semuenzaniso, neIP kero kana neIP kero uye makuki kana nepositi parameter, asi "Zvimwe-kana" zvakanyanya kuomarara ipapo.

    Naizvozvo, takasvika pane yechina sarudzo. Takatora nginx pane steroids (iyi ndiyo openresty) - iyi yakafanana nginx, iyo inotsigirawo kuisirwa kwekupedzisira zvinyorwa. Iwe unogona kunyora script yekupedzisira, upe iyo "yakavhurika zororo", uye iyi yekupedzisira script ichaitwa kana chikumbiro chemushandisi chauya.

    Uye isu takanyora, chokwadi, chinyorwa chakadaro, takazvimisa isu "openresti" uye mune ino script tinoronga kuburikidza ne6 maparamita akasiyana neconcatenation "Kana". Zvichienderana nekuvapo kweimwe kana imwe parameter, tinoziva kuti mushandisi akauya kune imwe peji kana imwe, imwe mutsara kana imwe.

    Bhuruu/Green deploy. Zvakanakira nezvayakaipira

    Ehe, pamwe zvaigoneka kuita kuti zvive nyore (shandisa yakafanana "Sticky Sessions"), asi isu zvakare tine nuance yakadaro zvekuti kwete mushandisi chete anodyidzana nesu mukati megadziriro yekumwe kugadzirisa kweimwe transaction ... Asi masisitimu ekubhadhara anodyidzanawo nesu: Mushure mekuita dhizaini (nekutumira chikumbiro kuhurongwa hwekubhadhara), tinogashira inotonhorera.
    Uye ngatiti, kana mukati medunhu redu tinogona kutumira kero yemushandisi mune zvese zvikumbiro uye kupatsanura vashandisi zvinoenderana neiyo IP kero, saka isu hatizotauri zvakafanana "Visa": "Dude, isu tiri kambani yeretro, tinoita senge. kuti uve wepasi rose (pawebhusaiti uye muRussia)... Ndapota tipei IP kero yemushandisi mune imwe ndima, yako protocol yakajairwa"! Zviri pachena kuti havazobvumi.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Naizvozvo, izvi hazvina kushanda kwatiri - takaita openresty. Saizvozvo, ne routing tine chimwe chinhu chakadai:

    Bhuruu/Green Deployment ine, zvinoenderana, zvakanakira izvo zvandataura nezvakashata.

    Zvakaipa zviviri:

    • iwe unofanirwa kunetseka nekufamba;
    • chechipiri chakashata imari.

    Iwe unoda zvakapetwa kaviri maseva akawanda, unoda zvakapetwa kaviri zviwanikwa zvekushandisa, unofanirwa kushandisa zvakapetwa kaviri kuedza kuchengetedza iyi zoo yese.

    Nenzira, pakati pezvakanakira pane chimwe chinhu chandisati ndambotaura: iwe une chengetedzo kana paine kukura kwemutoro. Kana iwe uine kuputika kukura mumutoro, iwe une nhamba huru yevashandisi, saka iwe unongobatanidza mutsara wechipiri mukugovera makumi mashanu kusvika makumi mashanu - uye iwe unobva waita x50 maseva musumbu rako kusvika wagadzirisa dambudziko rekuve nemamwe maseva.

    Nzira yekuita sei kukurumidza kutumirwa?

    Takataura nezve nzira yekugadzirisa dambudziko rekudzikisa uye nekukurumidza kudzosera kumashure, asi mubvunzo unoramba uripo: "Sei kuendesa nekukurumidza?"

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Ipfupi uye iri nyore pano.

    • Iwe unofanirwa kuve neCD system (Inoenderera Kuendeswa) - haugone kurarama usina. Kana iwe uine imwe sevha, unogona kutumira nemaoko. Tine zviuru nehafu maseva uye imwe nehafu zviuru zvibato, hongu - tinogona kudyara dhipatimendi saizi yekamuri ino chete kuendesa.
    • Kuendesa kunofanirwa kunge kwakafanana. Kana kutumirwa kwako kwakatevedzana, saka zvese zvakaipa. Sevha imwe yakajairika, iwe unenge uchiendesa chiuru nehafu maseva zuva rese.
    • Zvekare, zvekumhanyisa, izvi pamwe hazvichakoshi. Panguva yekuendesa, purojekiti inowanzovakwa. Iwe une webhu purojekiti, kune chikamu chemberi-yekupedzisira (iwe unoita webhu paki ipapo, iwe unounganidza npm - chimwe chinhu chakadaro), uye maitiro aya, mumusimboti, anogara kwenguva pfupi - maminetsi mashanu, asi aya maminetsi mashanu anogona. kutsoropodza. Ndicho chikonzero, semuenzaniso, isu hatiite izvo: isu takabvisa aya maminetsi mashanu, tinotumira zvigadzirwa.

      Chii chinonzi artifact? Chigadzirwa chivakwa chakaunganidzwa umo zvikamu zvese zvegungano zvakatopedzwa. Isu tinochengeta chigadzirwa ichi mune artifact storage. Pane imwe nguva takashandisa matura maviri akadai - yaive Nexus uye ikozvino jFrog Artifactory).Takatanga kushandisa "Nexus" nekuti takatanga kudzidzira nzira iyi mumaapplication ejava (yaienderana nazvo). Vakabva vaisa mamwe maapplication akanyorwa muPHP imomo; uye "Nexus" yakanga isisakodzeri, uye saka takasarudza jFrog Artefactory, inogona kugadzira zvinenge zvese. Isu takatosvika padanho rekuti mune ino artifact repository tinochengeta pachedu mabhanari mapakeji atinounganidzira maseva.

    Inoputika mutoro kukura

    Takataura nezvekuchinja shanduro yesoftware. Chinhu chinotevera chatinacho kuwedzera kunoputika mumutoro. Pano, ini ndinoreva nekuputika kwekukura kwemutoro kwete chinhu chaicho ...

    Isu takanyora hurongwa hutsva - hwakatarisana nesevhisi, fashoni, yakanaka, vashandi kwese kwese, mitsetse kwese, asynchony kwese. Uye mumasisitimu akadaro, data inogona kuyerera kuburikidza nekuyerera kwakasiyana. Kune yekutanga kutengeserana, 1, 3, 10 mushandi anogona kushandiswa, kune yechipiri kutengeserana - yechipiri, 2, 4. Uye nhasi, ngatiti, mangwanani iwe une data data inoshandisa vashandi vatatu vokutanga, uye manheru inoshanduka zvikuru, uye zvinhu zvose zvinoshandisa vamwe vashandi vatatu.

    Uye pano zvinozoitika kuti iwe unofanirwa kuyera vashandi neimwe nzira, iwe unofanirwa kuyera masevhisi ako, asi panguva imwechete kudzivirira bloat resource.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Takatsanangura zvatinoda. Izvi zvinodikanwa zviri nyore: kuti kuve nekuwanikwa kweSevhisi, parameterization - zvese zvakajairwa pakuvaka masisitimu anotyisa, kunze kwepoindi imwe - kudzikira kwezviwanikwa. Isu takati isu hatisati tagadzirira kubhadhara zviwanikwa kuitira kuti maseva adzise mhepo. Takatora "Consul", takatora "Nomad", iyo inotarisira vashandi vedu.

    Sei iri dambudziko kwatiri? Ngatidzokere kumashure zvishoma. Isu tave neakatenderedza 70 masisitimu ekubhadhara kumashure kwedu. Mangwanani, motokari inopinda neSberbank, ipapo Sberbank yakawa, somuenzaniso, uye tinoshandura kune imwe nzira yekubhadhara. Takanga tine vashandi ve100 pamberi peSberbank, uye mushure mezvo tinoda kuwedzera zvakanyanya vashandi zana kune imwe nzira yekubhadhara. Uye zvinoshuviwa kuti zvose izvi zviitike pasina kubatanidzwa kwevanhu. Nekuti kana paine kutora chikamu kwevanhu, panofanira kunge paine injiniya agere ipapo 100/24, anofanirwa kunge achingoita izvi, nekuti kutadza kwakadaro, kana masisitimu makumi manomwe ari kumashure kwako, anoitika nguva nenguva.

    Nokudaro, takatarisa Nomad, iyo ine IP yakazaruka, uye yakanyora chinhu chedu, Scale-Nomad - ScaleNo, iyo inoita zvinenge zvinotevera: inotarisa kukura kwemutsara uye inoderedza kana kuwedzera nhamba yevashandi zvichienderana nemasimba. zvemutsetse. Patakazviita, takafunga kuti: "Pamwe tinogona kuvhura sosi?" Vakabva vamutarisa - aive akapusa semakopeki maviri.

    Parizvino isu hatina kuvhura sourced, asi kana kamwe kamwe mushure meshumo, mushure mekuona kuti iwe unoda chinhu chakadaro, unochida, vandinosangana navo vari mune yekupedzisira slide - ndapota ndinyorere. Kana paine vanhu vangangoita 3-5, isu tichaitsigira.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Inoshanda sei? Ngationei! Kutarisa mberi: kurutivi rworuboshwe kune chidimbu chekutarisa kwedu: iyi ndiyo imwe mutsara, kumusoro ndiyo nguva yekugadzirisa chiitiko, pakati ndiyo nhamba yekutengeserana, pasi ndiyo nhamba yevashandi.

    Kana iwe ukatarisa, pane glitch mumufananidzo uyu. Pachati yepamusoro, imwe yemachati yakaputsika mumasekondi makumi mana neshanu - imwe yehurongwa hwekubhadhara yakadonha. Pakarepo, traffic yakaunzwa mumaminitsi e45 uye mutsara wakatanga kukura pane imwe nzira yekubhadhara, pakanga pasina vashandi (hatina kushandisa zviwanikwa - pane zvinopesana, takarasa zviwanikwa nenzira kwayo). Isu takanga tisingadi kupisa - pakanga paine vashoma, vangangoita 2-5 vashandi, asi vakatadza kurarama.

    Girafu yekupedzisira inoratidza "hump", izvo zvinongoreva kuti "Skaleno" yakapetwa kaviri iyi mari. Uye zvino, apo girafu yakadonha zvishoma, akaideredza zvishoma - nhamba yevashandi yakashandurwa pakarepo. Ndiko kushanda kunoita chinhu ichi. Takataura nezve poindi nhamba 2 - "Maitiro ekukurumidza kubvisa zvikonzero."

    Monitoring. Nzira yekukurumidza kuziva dambudziko?

    Zvino poindi yekutanga ndeye "Sei kukurumidza kuziva dambudziko?" Monitoring! Tinofanira kunzwisisa zvimwe zvinhu nekukurumidza. Zvinhu zvipi zvatinofanira kukurumidza kunzwisisa?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Zvinhu zvitatu!

    • Tinofanira kunzwisisa uye kunzwisisa nokukurumidza kushanda kwezviwanikwa zvedu pachedu.
    • Tinofanira kukurumidza kunzwisisa kukundikana uye kutarisa kushanda kwehurongwa huri kunze kwatiri.
    • Pfungwa yechitatu ndeyekuziva zvikanganiso zvine musoro. Apa ndipo kana sisitimu ichikushandira iwe, zvese zvakajairika zvinoenderana nezviratidzo zvese, asi chimwe chinhu chinokanganisa.

    Ini pamwe handisi kuzokuudza chero chinhu chinonaka apa. Ndichava Captain Obvious. Takatsvaga zvaive pamusika. Tine "nzvimbo inonakidza yekuchengetedza mhuka". Iyi ndiyo mhando yezoo yatinayo ikozvino:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Isu tinoshandisa Zabbix kutarisa Hardware, kutarisa makuru zviratidzo zvemaseva. Isu tinoshandisa Okmeter kune dhatabhesi. Isu tinoshandisa "Grafana" uye "Prometheus" kune zvimwe zviratidzo zvisingaenderane nembiri yekutanga, imwe ine "Grafana" uye "Prometheus", uye imwe ine "Grafana" ine "Influx" uye Telegraf.

    Gore rapfuura taida kushandisa New Relic. Chinhu chakanaka, chinogona kuita zvese. Asi chero zvaanogona kuita zvese, anodhura zvakanyanya. Apo takakura kusvika kuvhoriyamu yemaseva ane zviuru 1,5, mutengesi akauya kwatiri ndokuti: “Ngatiite chibvumirano chegore rinouya.” Takatarisa mutengo ndokuti kwete, hatingaite izvozvo. Iye zvino tave kusiya New Relic, isu tine maseva angangoita gumi nemashanu asara pasi pekutariswa kweNew Relic. Mutengo wacho wakazova womusango chose.

    Uye pane chishandiso chimwe chete chatakaita isu pachedu - ichi Debugger. Pakutanga takaidana kuti “Bagger,” asi ipapo mumwe mudzidzisi wechiRungu akapfuura, akaseka zvisingaite, uye akaritumidza kuti “Debagger.” Chii? Ichi chishandiso icho, muchokwadi, mumasekonzi gumi nemashanu-makumi matatu pane chimwe nechimwe chikamu, se "bhokisi dema" rehurongwa, rinomhanyisa bvunzo pakuita kwese kwechikamu.

    Semuenzaniso, kana pane peji rekunze (peji yekubhadhara), anongorivhura uye anotarisa kuti rinofanira kutarisa sei. Kana izvi zviri kugadzirisa, anotumira bvunzo "transaction" uye anoita shuwa kuti iyi "transaction" inosvika. Kana ichi chiri chinongedzo nehurongwa hwekubhadhara, tinopisa chikumbiro chekuyedza zvinoenderana, kwatinogona, uye toona kuti zvese zvakanaka nesu.

    Ndezvipi zviratidzo zvakakosha pakuongorora?

    Chii chatinonyanya kutarisa? Ndezvipi zviratidzo zvakakosha kwatiri?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    • Nguva yekupindura / RPS pamakona chiratidzo chakakosha. Anobva angopindura kuti pane chakaipa pauri.
    • Huwandu hwemeseji dzakagadziriswa mumitsetse yese.
    • Nhamba yevashandi.
    • Basic correctness metrics.

    Pfungwa yekupedzisira ndeye "bhizinesi", "bhizinesi" metric. Kana iwe uchida kutarisa chinhu chimwe chete, unofanirwa kutsanangura metric imwe kana maviri ari iwo makuru zviratidzo kwauri. Yedu metric ndeye throughput (iyi ndiyo chiyero chenhamba yekubudirira kwekutengeserana kune yakazara transaction kuyerera). Kana chimwe chinhu chichichinja mairi panguva ye5-10-15 maminitsi, zvinoreva kuti tine matambudziko (kana ichichinja zvakanyanya).

    Zvazvinotaridzika kwatiri muenzaniso weimwe yemabhodhi edu:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Kurutivi rworuboshwe kune magirafu matanhatu, izvi zvinoenderana nemitsara - nhamba yevashandi uye nhamba yemashoko mumitsetse. Kurutivi rworudyi - RPS, RTS. Pazasi pane imwechete "bhizinesi" metric. Uye mu "bhizinesi" metric tinogona kuona pakarepo kuti chimwe chinhu chakashata mumagirafu maviri epakati ... Iyi inongova imwe nzira inomira shure kwedu iyo yakawa.

    Chechipiri chataifanira kuita ndechekutarisa kudonha kwemasystem ekubhadhara ekunze. Pano takatora OpenTracing - chigadziriso, chakajairwa, paradigm chinokutendera kuti uteedzere masisitimu akagoverwa; uye yakashandurwa zvishoma. Iyo yakajairwa OpenTracing paradigm inoti isu tinovaka tsvakiridzo yechikumbiro chega chega. Isu takanga tisingade izvi, uye takazviputira muchidimbu, kuunganidzwa kwekutsvaga. Isu takagadzira chishandiso chinotitendera kuti titarise kumhanya kwemasystem ari kumashure kwedu.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Girafu inotiratidza kuti imwe yehurongwa hwekubhadhara yakatanga kupindura mumasekondi matatu - tine matambudziko. Uyezve, chinhu ichi chichaita kana matambudziko atanga, pane imwe nguva ye3-20 seconds.

    Uye yechitatu kirasi yekuongorora zvikanganiso zviripo ndeyekutarisa zvine musoro.

    Kutaura chokwadi, ndakanga ndisingazivi zvokudhirowa pane iyi siraidhi, nokuti takanga tave tichitsvaka kwenguva yakareba pamusika chimwe chinhu chaizotikodzera. Hatina chatakawana, saka taifanira kuzviita isu pachedu.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Ndinorevei nekutarisa zvine musoro? Zvakanaka, fungidzira: iwe unozviita iwe system (semuenzaniso, Tinder clone); ndimi makazviita, makazvibudisa. Mutungamiri anobudirira Vasya Pupkin akaiisa pafoni yake, anoona musikana aripo, anomuda ... uye zvakafanana hazviendi kumusikana - zvakafanana zvinoenda kumuchengetedzi Mikhalych kubva panzvimbo imwechete yebhizimisi. Maneja anoburuka pasi, obva ashamisika kuti: “Nei murindiri uyu Mikhalych achimunyemwerera zvinomufadza kudaro?”

    Mumamiriro ezvinhu akadaro ... Kwatiri, mamiriro ezvinhu aya anonzwika zvishoma zvakasiyana, nokuti (ndakanyora) uku ndiko kurasikirwa kwezita kunotungamirira kune kurasikirwa kwemari. Mamiriro edu ezvinhu akasiyana: tinogona kutambura kurasikirwa kwemari kwakananga - semuenzaniso, kana takaita kutengeserana kwakabudirira, asi hazvina kubudirira (kana zvinopesana). Ini ndaifanira kunyora zvangu chishandiso chinoteedzera huwandu hwekutengesa kwakabudirira nekufamba kwenguva uchishandisa zviratidzo zvebhizinesi. Hapana chandakawana pamusika! Iyi ndiyo pfungwa yandaida kutaura. Hapana chinhu pamusika kugadzirisa rudzi urwu rwedambudziko.

    Izvi zvaive zveku kurumidza kuziva dambudziko.

    Nzira yekuziva zvikonzero zvekutumirwa

    Boka rechitatu rematambudziko atinogadzirisa mushure mekunge taona dambudziko, mushure mekunge tabvisa, zvingava zvakanaka kuti tinzwisise chikonzero chekusimudzira, chekuyedza, uye kuita chimwe chinhu nezvazvo. Saizvozvo, isu tinofanirwa kuongorora, isu tinofanirwa kusimudza matanda.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Kana isu tiri kutaura nezve matanda (chikonzero chikuru matanda), iyo yakawanda yematanda edu ari muELK Stack - anenge munhu wese ane zvakafanana. Kune vamwe, inogona kunge isiri muELK, asi kana ukanyora matanda mugigabytes, ipapo nokukurumidza kana kuti gare gare iwe uchauya kuELK. Tinoanyora mu terabytes.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Pane dambudziko apa. Takazvigadzirisa, takagadzirisa kukanganisa kwemushandisi, takatanga kuchera kunze kwaivapo, takakwira muKibana, takapinda mudhipatimendi rekutengeserana ikoko ndokutora jira retsoka seizvi (inoratidza zvakawanda). Uye zvachose hapana chakajeka mumucheka wetsoka uyu. Sei? Hongu, nekuti hazvisi pachena kuti ndechipi chikamu chemushandi, chikamu chipi chiri chechikamu chipi. Uye panguva iyoyo takaona kuti taida kutsvaga - imwechete OpenTracing yandakataura nezvayo.

    Takafunga izvi gore rapfuura, takatarisa kumusika, uye pakanga paine maturusi maviri ipapo - "Zipkin" uye "Jaeger". "Jager" ndiye mugari wenhaka akadaro, mutsivi wepfungwa we "Zipkin". Zvose zvakanaka muZipkin, kunze kwekuti haizive kuunganidza, haizivi kuisa matanda mukutsvaga, nguva chete yekutsvaga. Uye "Jager" akatsigira izvi.

    Takatarisa "Jager": unogona kunyorera zvikumbiro, unogona kunyora muApi (iyo Api chiyero chePHP panguva iyoyo, zvisinei, haina kubvumidzwa - iri raive gore rapfuura, asi ikozvino rakatobvumidzwa), asi ipapo. akanga asina client zvachose. "Zvakanaka," takafunga, ndokunyora mutengi wedu pachedu. Takawanei? Izvi ndizvo zvazvinoita senge:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    MuJaeger, spans inogadzirwa kune yega yega meseji. Ndiko kuti, kana mushandisi avhura sisitimu, anoona imwe kana maviri mabhuroki pachikumbiro chimwe nechimwe chinouya (1-2-3 - nhamba yezvikumbiro zvinouya kubva kumushandisi, nhamba yezvivharo). Kuita kuti zvive nyore kune vashandisi, isu takawedzera ma tag kumatanda uye nguva yekutevera. Saizvozvo, kana paine chikanganiso, application yedu inomaka irogi neiyo yakakodzera Kanganiso tag. Unogona kusefa neKukanganisa tag uye chete spans ine block iyi ine chikanganiso icharatidzwa. Izvi ndizvo zvazvinoita kana tikawedzera span:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Mukati me span pane set of traces. Muchiitiko ichi, aya ndiwo matatu ekuedzwa, uye chechitatu chinotiudza kuti kukanganisa kwakaitika. Panguva imwecheteyo, pano tinoona mutsara wenguva: tine chiyero chenguva kumusoro, uye tinoona panguva ipi inopindirana iyi kana iyo log yakanyorwa.

    Naizvozvo, zvinhu zvakatifambira zvakanaka. Isu takanyora yedu yekuwedzera uye isu tinovhura sourced iyo. Kana iwe uchida kushanda nekutsvaga, kana iwe uchida kushanda ne "Jager" muPHP, kune yedu yekuwedzera, inogamuchirwa kushandisa, sezvavanotaura:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Isu tine iyi yekuwedzera - ndeye mutengi weOpenTracing Api, inogadzirwa se php-kuwedzera, ndiko kuti, iwe uchafanirwa kuiunganidza nekuiisa pane system. Gore rakapfuura pakanga pasina chakasiyana. Ikozvino kune mamwe macustomer akafanana nezvikamu. Hezvino zviri kwauri: kungave iwe unopomba kunze zvinhu nemunyori, kana iwe unoshandisa kuwedzera kusvika kwauri.

    Mitemo yemakambani

    Takataura pamusoro pemirairo mitatu. Murairo wechina ndewe kuenzanisa maitiro. Izvi ndezvei? Zviri pamusoro peizvi:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Nei izwi rekuti “corporate” riri pano? Kwete nekuti isu tiri kambani hombe kana yehurumende, kwete! Ini ndaida kushandisa izwi rekuti "corporate" pano muchirevo chekuti kambani yega yega, chigadzirwa chega chega chinofanirwa kunge chine mwero wayo, kusanganisira iwe. Mipimo ipi yatinayo?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    • Tine mitemo yekuendesa. Hapana kwatinofamba pasina iye, hatigone. Isu tinotumira kanenge ka60 pasvondo, ndiko kuti, isu tinotumira kanenge nguva dzose. Panguva imwecheteyo, isu tine, semuenzaniso, mumitemo yekuendesa taboo pa deployments musi weChishanu - musimboti, isu hatiisi.
    • Tinoda zvinyorwa. Hapana kana chimwe chinhu chitsva chinopinda mukugadzirwa kana pasina zvinyorwa zvacho, kunyangwe chakazvarwa pasi pepeni yenyanzvi dzedu dzeRnD. Tinoda kubva kwavari mirairo yekuendesa, mepu yekutarisa uye tsananguro yakaoma (zvakanaka, semapurogiramu anogona kunyora) yekuti chikamu ichi chinoshanda sei, magadzirisiro acho.
    • Isu tinogadzirisa kwete chikonzero chedambudziko, asi dambudziko - izvo zvandatotaura. Zvakakosha kuti isu tidzivirire mushandisi kubva kumatambudziko.
    • Tine clearances. Semuenzaniso, isu hatizvione senguva yekuderera kana isu takarasikirwa ne2% yetraffic mukati memaminitsi maviri. Izvi hazvibatanidzwe muhuwandu hwedu. Kana zvakanyanya muzvikamu zvematemu kana zvenguva pfupi, isu tinotoverenga.
    • Uye tinogara tichinyora postmortems. Chero zvingaitika kwatiri, chero mamiriro ezvinhu apo mumwe munhu akazvibata zvisina kufanira mukugadzirwa anozoratidzwa mune post-mortem. A postmortem igwaro raunonyora zvakaitika kwauri, nguva yakadzama, zvawakaita kuti ugadzirise uye (ichi chivharo chinosungirwa!) zvauchaita kudzivirira izvi kuti zvirege kuitika mune ramangwana. Izvi zvinosungirwa uye zvinodiwa pakuongorora kunotevera.

    Chii chinonzi downtime?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Zvose izvi zvakaguma nei?

    Izvi zvakakonzera kuti (taive nemamwe matambudziko nekugadzikana, izvi hazvina kuenderana nevatengi kana isu) mukati memwedzi mitanhatu yapfuura chiratidzo chedu chekugadzikana chaive 6. Tinogona kutaura kuti izvi hazvisi zvakawanda. Hungu, tine chimwe chinhu chokuvavarira. Pamusoro pechiratidzo ichi, inenge hafu ndiyo kugadzikana, senge, kwete yedu, asi yewebhu web application firewall, iyo inomira pamberi pedu uye inoshandiswa sevhisi, asi vatengi havana hanya neizvi.

    Takadzidza kurara usiku. Pakupedzisira! Mwedzi mitanhatu yapfuura hatina kukwanisa. Uye pane ino noti nemhedzisiro, ndinoda kunyora imwe chete. Husiku hwapfuura pakanga paine mushumo unoshamisa nezve hurongwa hwekutonga hwenyukireya reactor. Kana vanhu vakanyora sisitimu ino vachindinzwa, ndapota kanganwa nezvandakataura nezve "2% haisi nguva yekuzorora." Kwauri, 2% inguva yekudzikira, kunyangwe maminetsi maviri!

    Ndizvo zvose! Mibvunzo yako.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Nezve balancers uye kutama kwe database

    Mubvunzo kubva kuvateereri (pano - B): - Manheru. Ndatenda zvikuru nemushumo wakadai we admin! Mubvunzo mupfupi nezve mabharani ako. Iwe wakataura kuti une WAF, ndiko kuti, sekunzwisisa kwandinoita, iwe unoshandisa imwe mhando yekunze balancer ...

    EK: - Aiwa, isu tinoshandisa masevhisi edu seanoenzanisa. Muchiitiko ichi, WAF inongori DDoS kudzivirira chishandiso kwatiri.

    Mu: - Unogona here kutaura mazwi mashoma nezve balancers?

    EK: - Sezvandambotaura, iri iboka remaseva ari pachena. Isu tava nemapoka mashanu ekuchengetera anopindura zvakasarudzika ... kureva, sevha inomhanya zvakasarudzika openresty, inongomiririra traffic. Saizvozvo, kuti tinzwisise kuti yakawanda sei yatinobata: isu ikozvino tine yakajairika traffic traffic yemazana akati wandei megabits. Vanotsungirira, vanonzwa zvakanaka, havatombozvinetse.

    Mu: - Zvakare mubvunzo wakapfava. Heino Bhuruu/Green kuiswa. Unoitei, semuenzaniso, nekufambisa kwedatabase?

    EK: - Mubvunzo wakanaka! Tarisai, muBlue/Green deployment tine mitsetse yakasiyana yemutsetse wega wega. Ndokunge, kana isu tichitaura nezve mitsara yezviitiko inofambiswa kubva kumushandi kuenda kumushandi, kune mitsara yakaparadzana yemutsetse webhuruu uye wegirinhi mutsara. Kana isu tiri kutaura nezve dhatabhesi pachayo, saka isu takazvimisikidza nemaune sezvataigona, takafambisa zvese kuita mumitsara; mudhatabhesi tinongochengeta murwi wekutengesa. Uye yedu yekutengeserana stack yakafanana kune ese mitsetse. Iine dhatabhesi mune ino mamiriro: isu hatiipatsanure kuita bhuruu uye girini, nekuti ese mavhezheni ekodhi anofanira kuziva zviri kuitika nekutengeserana.

    Shamwari, ndinewo mubairo mudiki wokukukurudzirai - bhuku. Uye ndinofanira kupihwa iyo yemubvunzo wakanakisa.

    Mu: - Mhoro. Ndatenda neshumo. Mubvunzo ndouyu. Iwe unotarisa kubhadhara, iwe unotarisa masevhisi aunotaurirana nawo ... Asi iwe unotarisisa sei kuitira kuti mumwe munhu auye kune peji rako rekubhadhara, akaita mubhadharo, uye purojekiti yakamupa mari? Ndokureva kuti, unotarisisa sei kuti mutengesi aripo uye abvuma kufona kwako?

    EK: - "Mutengesi" kwatiri mune iyi kesi ndiyo chaiyo yekunze sevhisi seyekubhadhara system. Isu tinoongorora kumhanya kwemhinduro yemutengesi.

    Nezve database encryption

    Mu: - Mhoro. Ndine mubvunzo unechekuita zvishoma. Iwe une PCI DSS data inonzwisisika. Ini ndaida kuziva kuti unochengeta sei maPAN mumitsetse yaunoda kuendesa mairi? Unoshandisa chero encryption here? Uye izvi zvinotungamirira kumubvunzo wechipiri: maererano nePCI DSS, zvakakosha kuti nguva nenguva-encrypt database kana kuchinja (kudzingwa kwevatungamiri, nezvimwewo) - chii chinoitika pakuwanika munyaya iyi?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    EK: - Mubvunzo wakanaka! Chekutanga, isu hatichengete maPAN mumitsetse. Hatina kodzero yekuchengetedza PAN chero kupi zvako nenzira yakajeka, mumusimboti, saka tinoshandisa basa rakakosha (tinoridaidza kuti "Kademon") - iyi ibasa rinoita chinhu chimwe chete: rinogamuchira meseji sekuisa uye kutumira. buritsa meseji yakavharidzirwa. Uye isu tinochengeta zvese neiyi encrypted meseji. Saizvozvowo, urefu hwedu hunokosha huri pasi pe kilobyte, kuitira kuti izvi zvive zvakakomba uye zvakavimbika.

    Mu: - Unoda 2 kilobytes izvozvi?

    EK: - Zvinoita senge zuro chete yaive 256 ... Zvakanaka, kupi kumwe?!

    Naizvozvo, iyi ndiyo yekutanga. Uye chechipiri, mhinduro iripo, inotsigira maitiro e-encryption - kune maviri maviri e "keks" (makiyi), ayo anopa "decks" iyo encrypt (kiyi makiyi, dek inotorwa makiyi anovharira) . Uye kana nzira yacho yakatangwa (inoitika nguva dzose, kubva pamwedzi mitatu kusvika ± vamwe), tinodhawunirodha hutsva hwe "makeke", uye tinonyora zvakare data. Tine masevhisi akaparadzana anobvisa data rese uye nekurivharira nenzira nyowani; Iyo data inochengetwa padivi pechiziviso chekiyi iyo yakavharidzirwa nayo. Nekudaro, kana tangoita encrypt data nemakiyi matsva, tinodzima kiyi yekare.

    Dzimwe nguva kubhadhara kunoda kuitwa nemaoko...

    Mu: -Kureva kuti, kana kudzoserwa kwasvika kune kumwe kuvhiyiwa, iwe ucharamba uchiri decrypt nekiyi yekare?

    EK: - Ehe.

    Mu: - Zvadaro mumwe mubvunzo mudiki. Kana imwe mhando yekutadza, kudonha, kana chiitiko chikaitika, zvinodikanwa kusundira kuburikidza nekutengeserana nemawoko. Kune mamiriro akadaro.

    EK: - Hongu, dzimwe nguva.

    Mu: -Unowana kupi iyi data kubva? Kana kuti unoenda kunzvimbo yekuchengetera iyi iwe pachako?

    EK: - Kwete, zvakanaka, isu tine imwe mhando yekumashure-hofisi system ine interface yerutsigiro rwedu. Kana isu tisingazivi chimiro chekutengeserana chiri mukati (somuenzaniso, kusvikira hurongwa hwekubhadhara hwakapindura nenguva yekupera), hatizivi priori, ndiko kuti, tinopa chimiro chekupedzisira chete nechivimbo chakazara. Muchiitiko ichi, tinopa kutengeserana kune chimiro chakakosha chekugadzirisa zvinyorwa. Mangwanani, zuva rinotevera, kana rubatsiro ruchingogamuchira ruzivo rwekuti zvakadai uye zvakadai zvinoramba zviri muhurongwa hwekubhadhara, ivo vanozvigadzirisa nemaoko mune iyi interface.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Mu: - Ndine mibvunzo miviri. Imwe yacho kuenderera mberi kwePCI DSS zone: unoisa sei dunhu ravo? Uyu mubvunzo ndewekuti mugadziri angadai akaisa chero chinhu mumatanda! Mubvunzo wechipiri: unoburitsa sei hotfixes? Kushandisa zvibato mudhatabhesi ndiyo imwe sarudzo, asi panogona kunge paine emahara inopisa-inogadzirisa - ndeipi maitiro ipapo? Uye mubvunzo wechitatu ungangove une chekuita neRTO, RPO. Kuwanikwa kwako kwaiva 99,97, anenge mana mapfumbamwe, asi sezvandinozvinzwisisa, une chechipiri data data, chechitatu data data, uye yechishanu data data ... Unoenzanisa sei, kudzokorora, nezvimwe zvose?

    EK: - Ngatitangei neyokutanga. Waive mubvunzo wekutanga pamusoro pematanda here? Kana isu tichinyora matanda, isu tine dhizaini inovhara ese akavanzika data. Anotarisa mask uye kune mamwe minda. Saizvozvo, matanda edu anobuda aine yakatovharwa data uye PCI DSS wedunhu. Iri nderimwe remabasa anogara achipihwa kudhipatimendi rekuyedza. Ivo vanofanirwa kutarisa basa rega rega, kusanganisira matanda avanonyora, uye iyi ndeimwe yenguva dzose mabasa panguva yekuongororwa kwekodhi, kuitira kudzora kuti mugadziri haana kunyora chimwe chinhu pasi. Kutevera kutariswa kweizvi kunoitwa nguva nenguva nedhipatimendi rekuchengetedza ruzivo kamwechete pasvondo: matanda ezuva rekupedzisira anotorwa zvakasarudzika uye anofambiswa neakakosha scanner-analyzer kubva kumaseva ebvunzo kuti atarise zvese.
    Pamusoro pekugadzirisa-kupisa. Izvi zvinosanganisirwa mumirau yedu yekutumirwa. Tine chirevo chakasiyana nezve hotfixes. Isu tinotenda kuti isu tinotumira hotfixes kutenderera wachi patinenge tichida. Pakangounganidzwa vhezheni, painongoitwa, kana tangove neyakagadzirwa, isu tine system administrator ari pabasa parunhare kubva kuvatsigiri, uye anoitumira panguva iyo pazvinenge zvakakodzera.

    Nezve "four nines". Huwandu hwatinahwo ikozvino hwave kuwanikwa, uye takavavarira kune imwe nzvimbo yedata. Iye zvino tine yechipiri data center, uye isu tava kutanga kufamba pakati pavo, uye nyaya ye-cross-data center replication ndeyechokwadi isiri-yakakosha mubvunzo. Takaedza kuigadzirisa pane imwe nguva tichishandisa nzira dzakasiyana: takaedza kushandisa "Tarantula" imwechete - hazvina kushanda kwatiri, ini ndichakuudza pakarepo. Ndosaka takapedzisira taraira "sens" nemaoko. Muchokwadi, yega yega application mune yedu system inomhanyisa inodiwa "shanduko - yaitwa" kuwiriranisa pakati pe data data asynchronously.

    Mu: - Kana iwe wakawana wechipiri, nei usina kuwana wechitatu? Nekuti hapana ane akapatsanura-uropi parizvino ...

    EK: - Asi isu hatina Split Brain. Nekuda kwekuti application yega yega inofambiswa nemultimaster, hazvina basa kwatiri kuti chikumbiro chakauya kupi. Isu takagadzirira chokwadi chekuti kana imwe yenzvimbo yedu yedata ikatadza (tinovimba neizvi) uye pakati pekukumbira kwevashandisi kuchinjika kune yechipiri data data, isu takagadzirira kurasikirwa nemushandisi uyu, zvirokwazvo; asi aya achava mayuniti, absolute mauniti.

    Mu: - Manheru akanaka. Ndatenda neshumo. Iwe wakataura nezve debugger yako, iyo inomhanyisa mamwe ma test transaction mukugadzira. Asi tiudze nezve bvunzo dzekutengeserana! Inodzika zvakadii?

    EK: - Inoenda kuburikidza nekutenderera kuzere kwechikamu chose. Kune chikamu, hapana mutsauko pakati peyedzo yekutengeserana uye yekugadzira dhizaini. Asi kubva pamaonero ane musoro, iyi ingori purojekiti yakaparadzana muhurongwa, painongoitwa bvunzo dzekutengesa.

    Mu: -Unoigura kupi? Apa Core atumira...

    EK: - Isu tiri kumashure kwe "Kor" munyaya iyi yekutengeserana kwekuedza ... Tine chinhu chakadai sekufambisa: "Kor" inoziva kuti ndeipi nzira yekubhadhara yekutumira kune - tinotumira kune imwe nzira yekubhadhara yenhema, iyo inongopa http chiratidzo uye ndizvo zvose.

    Mu: -Ndiudze, ndapota, chikumbiro chako chaive chakanyorwa mune imwe hombe monolith, kana wakaicheka mune mamwe masevhisi kana kunyange mamicroservices?

    EK: - Isu hatina monolith, hongu, isu tine-yakatarisana nesevhisi application. Isu tinoseka kuti sevhisi yedu yakagadzirwa nemonoliths - iwo akakura chaizvo. Zvakaoma kuzvidaidza kuti microservices, asi aya masevhisi mukati umo vashandi vemichina yakagoverwa vanoshanda.

    Kana sevhisi iri paserver ikakanganiswa...

    Mu: - Ipapo ini ndine mubvunzo unotevera. Kunyangwe dai yanga iri monolith, iwe uchiri kutaura kuti une akawanda eaya maseva ipapo, iwo ese anongogadzira data, uye mubvunzo ndewekuti: "Muchiitiko chekukanganisa kweimwe yemaseva kana application, chero chinongedzo. , vane imwe mhando yekutonga kwekuwana? Ndeupi wavo anogona kuita chii? Ndiani wandinofanira kubata kune ruzivo?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    EK: - Hongu, zvirokwazvo. Izvo zvinodiwa zvekuchengetedza zvakakomba. Chekutanga, isu tine yakavhurika data mafambiro, uye madoko ndiwo chete ayo atinofungidzira kufamba kwetraffic pamberi. Kana chikamu chikataurirana nedhatabhesi (taura, neMuskul) kuburikidza ne5-4-3-2, chete 5-4-3-2 ndiyo ichave yakavhurika kwairi, uye mamwe madoko uye mamwe mafambiro emigwagwa haazovepo. Mukuwedzera, iwe unofanirwa kunzwisisa kuti mukugadzirwa kwedu kune anenge gumi akasiyana ekuchengetedza zvishwe. Uye kunyangwe kana application yacho yakakanganiswa, Mwari ngaasadaro, anorwisa haakwanise kuwana server manejimendi console, nekuti iyi inzvimbo yakasiyana yekuchengetedza network.

    Mu: - Uye muchirevo chechinyorwa chino, chinonyanya kufadza kwandiri ndechekuti une zvimwe zvibvumirano nemasevhisi - zvavanogona kuita, kuburikidza ne "zviito" zvavanogona kuonana ... Uye mukuyerera kwakajairika, mamwe masevhisi chaiwo anokumbira mamwe. row, runyoro rwe "zviito" pane imwe. Ivo havaratidzike kutendeukira kune vamwe mune yakajairika mamiriro, uye ivo vane dzimwe nzvimbo dzemutoro. Kana imwe yadzo ikakanganiswa, ichakwanisa here kukanganisa "zviito" zvesevhisi iyoyo?..

    EK: - Ndinonzwisisa. Kana mune yakajairika mamiriro neimwe sevha kutaurirana kwakabvumidzwa zvachose, saka hongu. Zvinoenderana nechibvumirano cheSLA, isu hatitarise kuti iwe unobvumidzwa chete yekutanga 3 "zviito", uye iwe haubvumidzwe iyo 4 "zviito". Izvi zvingangove zvisingaite kwatiri, nekuti isu tatova ne4-level yekudzivirira system, musimboti, yemasekete. Isu tinosarudza kuzvidzivirira isu nemacontours, pane padanho remukati.

    Mashandiro anoita Visa, MasterCard uye Sberbank

    Mu: -Ini ndinoda kujekesa poindi nezve kushandura mushandisi kubva kune imwe data data kune imwe. Sekuziva kwangu, Visa neMasterCard vanoshanda vachishandisa iyo 8583 binary synchronous protocol, uye kune misanganiswa ipapo. Uye ini ndaida kuziva, ikozvino tave kureva kushandura - ndeye zvakananga "Visa" uye "MasterCard" kana kuti tisati tabhadhara masisitimu, isati yagadziriswa?

    EK: - Izvi pamberi pemisanganiswa. Misanganiswa yedu iri munzvimbo imwechete yedata.

    Mu: - Nekutaura, une nzvimbo imwe yekubatanidza here?

    EK: - "Visa" uye "MasterCard" - hongu. Zvingori nekuti Visa neMasterCard inoda mari yakakomba muzvivakwa kuti vapedze zvibvumirano zvakasiyana kuti vawane peya yechipiri yemusanganiswa, semuenzaniso. Izvo zvakachengetwa mukati meimwe nzvimbo yedata, asi kana, Mwari asingade, nzvimbo yedu yedata, uko kune misanganiswa yekubatanidza kuVisa neMasterCard, inofa, ipapo tichava nekubatana neVisa uye MasterCard yakarasika ...

    Mu: - Vanogona sei kuchengetwa? Ndinoziva kuti Visa inobvumira chete kubatana musimboti!

    EK: - Vanopa midziyo ivo pachavo. Chero zvazvingava, takagamuchira midziyo iyo yakazara yakazara mukati.

    Mu: - Saka kumira kunobva kune yavo Inobatanidza Orange?..

    EK: - Ehe.

    Mu: - Asi zvakadini nenyaya iyi: kana nzvimbo yako yedata ikanyangarika, ungaramba uchiishandisa sei? Kana kuti traffic inongomira here?

    EK: - Aihwa. Muchiitiko ichi, isu tichangochinja traffic kune imwe chiteshi, izvo, sezvizvi, zvichatidhurira uye zvinodhura kune vatengi vedu. Asi iyo traffic haizoendi kuburikidza nekubatana kwedu kwakananga kuVisa, MasterCard, asi kuburikidza nemamiriro ezvinhu Sberbank (yakanyanya kuwedzeredza).

    Ndinokumbira ruregerero nehasha kana ndakagumbura vashandi veSberbank. Asi maererano nehuwandu hwedu, pakati pemabhangi eRussia, Sberbank inowira kazhinji. Hapana mwedzi unopera pasina chinhu chinodonha paSberbank.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zvekuita kana miniti yekupedza nguva ichidhura $100000

    Dzimwe ads 🙂

    Ndinokutendai nekugara nesu. Unoda zvinyorwa zvedu here? Unoda kuona zvimwe zvinonakidza zvemukati? Titsigire nekuisa odha kana kukurudzira kushamwari, Cloud VPS yevagadziri kubva kumadhora 4.99, yakasarudzika analogue yekupinda-level maseva, iyo yakagadzirwa nesu kuti iwe: Chokwadi chese nezveVPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kubva pamadhora makumi maviri kana kugovera sevha? (inowanikwa neRAID1 uye RAID10, kusvika ku24 cores uye kusvika ku40GB DDR4).

    Dell R730xd 2 nguva yakachipa muEquinix Tier IV data center muAmsterdam? Chete pano 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kubva $199 muNetherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kubva pamadhora makumi mapfumbamwe nemapfumbamwe! Verenga nezve Nzira yekuvaka Infrastructure Corp. kirasi nekushandiswa kweDell R730xd E5-2650 v4 maseva anokosha 9000 euros penny?

Source: www.habr.com

Voeg