HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Aliyense amalankhula za njira zachitukuko ndi kuyesa, ogwira ntchito yophunzitsa, kukulitsa chilimbikitso, koma izi sizokwanira ngati miniti yanthawi yochepetsera ntchito imawononga ndalama zambiri. Zoyenera kuchita mukamachita zandalama pansi pa SLA yolimba? Momwe mungakulitsire kudalirika ndi kulolerana kolakwika kwa machitidwe anu, kutenga chitukuko ndi kuyesa kuchokera mu equation?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Msonkhano wotsatira wa HighLoad ++ udzachitika pa Epulo 6 ndi 7, 2020 ku St. Tsatanetsatane ndi matikiti a kugwirizana. Novembala 9, 18:00. HighLoad++ Moscow 2018, Delhi + Kolkata hall. Izi ndi mawu.

Evgeniy Kuzovlev (pano - EC): - Anzanga, moni! Dzina langa ndine Kuzovlev Evgeniy. Ndine wochokera ku kampani ya EcommPay, gawo linalake ndi EcommPay IT, gawo la IT la gulu lamakampani. Ndipo lero tikambirana za nthawi zochepetsera - momwe tingapewere, momwe tingachepetsere zotsatira zake ngati sizingapeweke. Mutuwu ukunenedwa motere: "Zoyenera kuchita ngati mphindi yanthawi yopumira imawononga $ 100"? Kuyang'ana m'tsogolo, ziwerengero zathu ndizofanana.

Kodi EcommPay IT imachita chiyani?

Ndife yani? Chifukwa chiyani ndaimirira pano pamaso panu? Chifukwa chiyani ndili ndi ufulu wokuuzani zina pano? Ndipo tikambirana chiyani mwatsatanetsatane apa?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Gulu lamakampani la EcommPay ndi opeza padziko lonse lapansi. Timakonza zolipira padziko lonse lapansi - ku Russia, Europe, Southeast Asia (Padziko Lonse Lapansi). Tili ndi maofesi 9, antchito 500 onse, ndipo pafupifupi ochepera theka la iwo ndi akatswiri a IT. Chilichonse chomwe timachita, chilichonse chomwe timapeza, timachita tokha.

Tinalemba zinthu zathu zonse (ndipo tili nazo zambiri - pamzere wathu wazinthu zazikulu za IT tili ndi magawo 16 osiyanasiyana) tokha; Timalemba tokha, timakulitsa tokha. Ndipo pakadali pano timachita pafupifupi miliyoni miliyoni patsiku (mamiliyoni mwina ndi njira yoyenera kunena). Ndife kampani yachichepere - tili ndi zaka zisanu ndi chimodzi zokha.

Zaka 6 zapitazo zinali zoyambira pamene anyamatawo adabwera ndi bizinesi. Iwo anali ogwirizana ndi lingaliro (panalibe china koma lingaliro), ndipo ife tinathamanga. Monga chiyambi chilichonse, tinathamanga mofulumira ... Kwa ife, liwiro linali lofunika kwambiri kuposa khalidwe.

Panthawi ina tinasiya: tinazindikira kuti sitingathenso kukhala pa liwiro limenelo komanso ndi khalidwe limenelo ndipo tinkafunika kuganizira za khalidwe poyamba. Panthawiyi, tinaganiza zolemba nsanja yatsopano yomwe ingakhale yolondola, yowonjezereka, komanso yodalirika. Iwo anayamba kulemba nsanja iyi (anayamba kuyika ndalama, kupanga chitukuko, kuyesa), koma panthawi ina adazindikira kuti chitukuko ndi kuyesa sikunatilole kuti tifike pamtundu watsopano wa khalidwe lautumiki.

Mumapanga chinthu chatsopano, mumachiyika mukupanga, komabe chinachake chidzalakwika kwinakwake. Ndipo lero tidzakambirana za momwe tingafikire mulingo watsopano (momwe tidachitira, za zomwe takumana nazo), kutenga chitukuko ndi kuyesa kuchokera ku equation; tidzakambirana zomwe zilipo kuti zigwire ntchito - zomwe zingachite zokha, zomwe zingapereke pakuyesa kuti zikhudze khalidwe.

Nthawi zopuma. Malamulo a ntchito.

Nthawi zonse mwala wapangodya, zomwe tidzakambirana lero ndi nthawi yopuma. Mawu oyipa. Ngati tili ndi nthawi yopumira, chilichonse chitha kwa ife. Tikuthamangira kuti tikweze, ma admin akugwira seva - Mulungu asagwere, monga akunena mu nyimboyi. Izi ndi zomwe tikambirana lero.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Pamene tinayamba kusintha njira zathu, tinapanga malamulo 4. Ndawawonetsa pazithunzi:

Malamulo awa ndi osavuta:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

  • Dziwani vuto mwamsanga.
  • Chotsani mwachangu.
  • Thandizani kumvetsetsa chifukwa (pambuyo pake, kwa omanga).
  • Ndipo standardize njira.

Ndikufuna kukuwonetsani chidwi chanu ku mfundo No. 2. Tikuchotsa vutoli, osati kulithetsa. Kusankha ndi yachiwiri. Kwa ife, chinthu chachikulu ndikuti wogwiritsa ntchito amatetezedwa ku vutoli. Zidzakhalapo m'malo ena akutali, koma malowa sangagwirizane nawo. M'malo mwake, tidutsa m'magulu anayi amavutowa (ena mwatsatanetsatane, ena mwatsatanetsatane), ndikuwuzani zomwe timagwiritsa ntchito, zomwe timakumana nazo pakuthana nazo.

Kuthetsa mavuto: Zimachitika liti komanso zoyenera kuchita nazo?

Koma tidzayamba popanda dongosolo, tidzayamba ndi mfundo No. 2 - momwe tingachotsere vutoli mwamsanga? Pali vuto - tiyenera kukonza. "Titani pamenepa?" - funso lalikulu. Ndipo titayamba kuganizira za momwe tingakonzere vutoli, tidadzipangira tokha zofunika zina zomwe tiyenera kutsatira.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Kuti tipeze zofunika zimenezi, tinaganiza zodzifunsa kuti: “Kodi ndi liti pamene tikukumana ndi mavuto”? Ndipo mavuto, monga momwe zinakhalira, amapezeka muzochitika zinayi:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

  • Kulephera kwa Hardware.
  • Ntchito zakunja zalephera.
  • Kusintha mtundu wa mapulogalamu (kutumiza komweko).
  • Kukula kwamphamvu kwaphulika.

Sitilankhula za ziwiri zoyambirira. Kuwonongeka kwa Hardware kumatha kuthetsedwa mosavuta: muyenera kukhala ndi chilichonse chobwereza. Ngati awa ndi ma disks, ma disks ayenera kusonkhanitsidwa mu RAID; ngati iyi ndi seva, seva iyenera kubwerezedwa; ngati muli ndi makina opangira ma netiweki, muyenera kupereka kopi yachiwiri ya maukonde, ndiko kuti, mutenge ndi chibwereza. Ndipo ngati china chake chalephera, mumasinthira kusungitsa mphamvu. Ndizovuta kunena chinanso apa.

Chachiwiri ndi kulephera kwa mautumiki akunja. Kwa ambiri, dongosolo si vuto konse, koma osati kwa ife. Popeza timakonza malipiro, ndife aggregator omwe amaima pakati pa wogwiritsa ntchito (amene amalowetsa deta yake ya khadi) ndi mabanki, machitidwe olipira (Visa, MasterCard, Mira, etc.). Ntchito zathu zakunja (njira zolipirira, mabanki) zimalephera. Ife kapena inu (ngati muli ndi ntchito zotere) sitingakhudze izi.

Zotani ndiye? Pali njira ziwiri apa. Choyamba, ngati mungathe, muyenera kubwereza ntchitoyi mwanjira ina. Mwachitsanzo, ngati tingathe, timasamutsa magalimoto kuchokera ku utumiki wina kupita ku wina: mwachitsanzo, makadi adakonzedwa kudzera ku Sberbank, Sberbank ikukumana ndi mavuto - timasamutsa magalimoto [moyenera] kupita ku Raiffeisen. Chinthu chachiwiri chomwe tingachite ndikuwona kulephera kwa mautumiki akunja mofulumira kwambiri, choncho tidzakambirana za liwiro la kuyankha mu gawo lotsatira la lipoti.

M'malo mwake, mwa anayiwa, titha kukhudza mwachindunji kusintha kwamitundu yamapulogalamu - kuchitapo kanthu zomwe zingapangitse kuti zinthu zisinthe potengera kutumizidwa komanso pakukula kwamphamvu. Kwenikweni, ndi zomwe tinachita. Apa, kachiwiri, cholemba chaching'ono ...

Mwa mavuto anayiwa, angapo amathetsedwa nthawi yomweyo ngati muli ndi mtambo. Ngati muli mu Microsoft Azhur, mitambo ya Ozone, kapena mugwiritse ntchito mitambo yathu, kuchokera ku Yandex kapena Mail, ndiye kuti vuto la hardware limakhala vuto lawo ndipo zonse nthawi yomweyo zimakhala zabwino kwa inu pokhudzana ndi vuto la hardware.

Ndife kampani yosavomerezeka pang'ono. Apa aliyense akulankhula za "Kubernets", za mitambo - tilibe "Kubernets" kapena mitambo. Koma tili ndi zida za hardware m'malo ambiri a deta, ndipo timakakamizika kukhala pa hardware iyi, timakakamizika kukhala ndi udindo pa zonsezi. Choncho, tikambirana m'nkhani ino. Choncho, za mavuto. Awiri oyambirira anachotsedwa m'mabulaketi.

Kusintha mtundu wa mapulogalamu. Maziko

Madivelopa athu alibe mwayi wopanga. Ndichoncho chifukwa chiyani? Kungoti ndife ovomerezeka a PCI DSS, ndipo opanga athu alibe ufulu wolowa mu "chinthu". Ndi zimenezo, nthawi. Ayi. Chifukwa chake, udindo wachitukuko umatha ndendende panthawi yomwe chitukuko chimatumiza kumanga kuti amasulidwe.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

Maziko athu achiwiri omwe tili nawo, omwe amatithandizanso kwambiri, ndikusowa kwa chidziwitso chapadera chosadziwika. Ine ndikuyembekeza izo ziri chimodzimodzi kwa inu. Chifukwa ngati sizili choncho, mudzakhala ndi mavuto. Mavuto adzabuka pamene chidziwitso chapaderachi, chosalembedwa sichipezeka pa nthawi yoyenera pamalo oyenera. Tiyerekeze kuti muli ndi munthu m'modzi yemwe amadziwa kuyika gawo linalake - munthuyo kulibe, ali patchuthi kapena akudwala - ndizo, muli ndi mavuto.

Ndipo maziko achitatu omwe tabwerako. Tidabwera chifukwa cha zowawa, magazi, misozi - tidazindikira kuti zomanga zathu zilizonse zili ndi zolakwika, ngakhale zilibe zolakwika. Tinadzipangira izi: tikamatumiza china chake, tikamagubuduza china chake pakupanga, timakhala ndi zolakwika. Tapanga zofunikira zomwe dongosolo lathu liyenera kukwaniritsa.

Zofunikira pakusintha mtundu wa mapulogalamu

Pali zofunikira zitatu:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

  • Tiyenera kubweza mwachangu ntchitoyo.
  • Tiyenera kuchepetsa zotsatira za kutumizidwa kosachita bwino.
  • Ndipo tiyenera kutha kuyika mwachangu mofananira.
    Ndendende mu dongosolo limenelo! Chifukwa chiyani? Chifukwa, choyamba, potumiza mtundu watsopano, kuthamanga sikofunikira, koma ndikofunikira kwa inu, ngati china chake sichikuyenda bwino, muthamangitse mwachangu ndikukhala ndi zotsatira zochepa. Koma ngati muli ndi matembenuzidwe mukupanga, zomwe zimawoneka kuti pali cholakwika (kunja kwa buluu, panalibe kutumizidwa, koma pali cholakwika) - liwiro la kutumizidwa kotsatira ndikofunikira kwa inu. Kodi tachita chiyani kuti tikwaniritse zokhumba izi? Tinagwiritsa ntchito njira zotsatirazi:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Ndizodziwika bwino, sitinazipangepo - iyi ndi Blue/Green deploy. Ndi chiyani? Muyenera kukhala ndi kopi pagulu lililonse la maseva omwe mapulogalamu anu amayikidwira. Kope ndi "kutentha": palibe magalimoto pa izo, koma nthawi iliyonse magalimoto awa akhoza kutumizidwa kope ili. Kopeli lili ndi mtundu wakale. Ndipo panthawi yotumiza, mumatulutsa kachidindo ku kopi yosagwira ntchito. Kenako mumasintha gawo la magalimoto (kapena onse) kupita ku mtundu watsopano. Choncho, kuti musinthe kayendetsedwe ka magalimoto kuchokera kumtundu wakale kupita ku watsopano, muyenera kuchita chinthu chimodzi chokha: muyenera kusintha balancer kumtunda, kusintha njira - kuchokera kumtunda kupita ku wina. Izi ndizothandiza kwambiri ndipo zimathetsa vuto lakusintha mwachangu komanso kubwezeretsa mwachangu.

    Apa yankho la funso lachiwiri ndikuchepetsa: mutha kutumiza gawo lokha la magalimoto anu ku mzere watsopano, pamzere wokhala ndi code yatsopano (zikhale, mwachitsanzo, 2%). Ndipo 2% awa si 100%! Ngati mwataya 100% ya magalimoto anu chifukwa chosachita bwino, ndizowopsa; ngati mutataya 2% ya magalimoto anu, sizosangalatsa, koma sizowopsa. Komanso, ogwiritsa ntchito sangazindikire izi, chifukwa nthawi zina (osati onse) wogwiritsa ntchito yemweyo, kukanikiza F5, adzatengedwera ku mtundu wina, womwe ukugwira ntchito.

    Blue/Green deploy. Njira

    Komabe, sizinthu zonse zophweka "Blue / Green deploy" ... Zigawo zathu zonse zikhoza kugawidwa m'magulu atatu:

    • iyi ndiye kutsogolo (masamba olipira omwe makasitomala athu amawawona);
    • processing pachimake;
    • adaputala yogwira ntchito ndi machitidwe olipira (mabanki, MasterCard, Visa ...).

    Ndipo pali nuance apa - nuance ili mumayendedwe pakati pa mizere. Mukangosintha 100% yamagalimoto, mulibe zovuta izi. Koma ngati mukufuna kusintha 2%, mumayamba kufunsa mafunso: "Mungachite bwanji izi?" Chinthu chophweka ndicholunjika kutsogolo: mukhoza kukhazikitsa Round Robin mu nginx mwa kusankha mwachisawawa, ndipo muli ndi 2% kumanzere, 98% kumanja. Koma izi sizoyenera nthawi zonse.

    Mwachitsanzo, kwa ife, wogwiritsa ntchito amalumikizana ndi dongosolo ndi zopempha zambiri. Izi ndi zachilendo: 2, 3, 4, 5 zopempha - machitidwe anu angakhale ofanana. Ndipo ngati kuli kofunikira kwa inu kuti zopempha zonse za wosuta zibwere pamzere womwewo womwe pempho loyamba lidabwera, kapena (mfundo yachiwiri) zopempha zonse za wosuta zibwere pamzere watsopano pambuyo posintha (akadayamba kugwira ntchito kale ndi system, musanasinthe), - ndiye kugawa mwachisawawa sikuli koyenera kwa inu. Ndiye pali njira zotsatirazi:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Njira yoyamba, yosavuta, yochokera pazigawo zoyambira za kasitomala (IP Hash). Muli ndi IP, ndipo mumayigawa kuchokera kumanja kupita kumanzere ndi adilesi ya IP. Ndiye nkhani yachiwiri yomwe ndalongosola idzagwira ntchito kwa inu, pamene kutumizidwa kunachitika, wogwiritsa ntchito akhoza kuyamba kale kugwira ntchito ndi dongosolo lanu, ndipo kuyambira nthawi yotumiza zopempha zonse zidzapita ku mzere watsopano (kufanana, kunena).

    Ngati pazifukwa zina izi sizikugwirizana ndi inu ndipo muyenera kutumiza zopempha pamzere pomwe pempho loyamba la wogwiritsa ntchito lidabwera, ndiye kuti muli ndi njira ziwiri ...
    Njira yoyamba: mutha kugula nginx + yolipira. Pali makina a Sticky sessions, omwe, pa pempho loyamba la wogwiritsa ntchito, amapereka gawo kwa wogwiritsa ntchito ndikumangirira kumtunda wina. Zopempha zonse zotsatila mu nthawi ya gawoli zidzatumizidwa kumtunda komweko komwe gawolo linatumizidwa.

    Izi sizinali bwino chifukwa tinali ndi nginx wamba. Kusintha ku nginx + sikuti ndikokwera mtengo, kungoti zinali zowawa kwa ife ndipo sizinali zolondola. "Sticks Sessions", mwachitsanzo, sizinagwire ntchito kwa ife pazifukwa zosavuta zomwe "Sticks Sessions" samalola kuyenda motengera "Kapena-kapena". Pamenepo mutha kufotokoza zomwe timachita "Sticks Sessions", mwachitsanzo, ndi adilesi ya IP kapena ndi adilesi ya IP ndi makeke kapena positi, koma "Kaya-kapena" ndizovuta kwambiri pamenepo.

    Choncho, tinafika pa njira yachinayi. Tidatenga nginx pa steroids (ichi ndi openresty) - iyi ndi nginx yomweyo, yomwe imathandiziranso kuphatikiza zolemba zomaliza. Mutha kulemba script yomaliza, ndikupatseni "mpumulo wotseguka", ndipo script yotsirizayi idzachitidwa pamene pempho la wosuta libwera.

    Ndipo tidalemba, zolembedwa zotere, tidadziyika tokha "openresti" ndipo m'malembawa timasankha magawo 6 osiyanasiyana potengera "Kapena". Kutengera ndi kukhalapo kwa gawo limodzi kapena lina, tikudziwa kuti wogwiritsa ntchitoyo adabwera patsamba limodzi, mzere umodzi kapena umzake.

    Blue/Green deploy. Ubwino ndi kuipa kwake

    Zachidziwikire, zinali zotheka kuzipangitsa kukhala zosavuta (kugwiritsa ntchito "Zomata Zokhazikika") zomwezo), koma tilinso ndi mawonekedwe kotero kuti sikuti wogwiritsa ntchito yekha amalumikizana nafe mkati mwa dongosolo limodzi la ntchito imodzi ... Koma njira zolipirira zimalumikizananso nafe: Tikakonza zomwe tagulitsazo (potumiza pempho kunjira yolipira), timalandila zoziziritsa kukhosi.
    Ndipo tinene, ngati mkati mwa dera lathu titha kutumiza adilesi ya IP ya wogwiritsa ntchito pazopempha zonse ndikugawa ogwiritsa ntchito kutengera adilesi ya IP, ndiye kuti sitinganene "Visa" yomweyo: "Bwana, ndife kampani ya retro, tikuwoneka kukhala wapadziko lonse lapansi (pa webusayiti komanso ku Russia)... Chonde tipatseni adilesi ya IP ya wogwiritsa ntchito pazowonjezera, protocol yanu ndiyokhazikika"! Zikuwonekeratu kuti sangagwirizane.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Choncho, izi sizinagwire ntchito kwa ife - tinachita openresty. Chifukwa chake, panjira tili ndi zinthu monga izi:

    Blue/Green Deployment ili, motero, zabwino zomwe ndidatchulapo komanso zoyipa zake.

    Zoyipa ziwiri:

    • muyenera kusamala ndi njira;
    • vuto lalikulu lachiwiri ndi ndalama.

    Mufunika ma seva owirikiza kawiri, muyenera kuwirikiza kawiri zinthu zogwirira ntchito, muyenera kugwiritsa ntchito kuwirikiza kawiri kuti musunge zoo yonseyi.

    Mwa njira, pakati pa zabwinozo pali chinthu chinanso chomwe sindinatchulepo kale: muli ndi malo osungira ngati kukula kwa katundu. Ngati muli ndi chiwopsezo chokulirapo, muli ndi ogwiritsa ntchito ambiri, ndiye kuti mumangophatikiza mzere wachiwiri pakugawa kwa 50 mpaka 50 - ndipo nthawi yomweyo mumakhala ndi ma seva a x2 mgulu lanu mpaka mutathetsa vuto lokhala ndi ma seva ambiri.

    Momwe mungapangire kutumiza mwachangu?

    Tinakambirana za momwe tingathetsere vuto la kuchepetsa ndi kubwezeretsa mwamsanga, koma funso limakhalapo: "Kodi mungatumize bwanji mwamsanga?"

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Ndi zazifupi komanso zosavuta pano.

    • Muyenera kukhala ndi ma CD (Kutumiza Kopitilira) - simungathe kukhala popanda iyo. Ngati muli ndi seva imodzi, mutha kuyika pamanja. Tili ndi pafupifupi ma seva chikwi chimodzi ndi theka ndi zogwirira chikwi chimodzi ndi theka, ndithudi - tikhoza kubzala dipatimenti ya kukula kwa chipinda chino kuti tingotumiza.
    • Kutumiza kuyenera kukhala kofanana. Ngati kutumizidwa kwanu kuli kotsatizana, ndiye kuti zonse ndizoyipa. Seva imodzi ndiyabwinobwino, mudzakhala mukutumiza ma seva chikwi chimodzi ndi theka tsiku lonse.
    • Apanso, kuti mufulumizitse, izi mwina sizikufunikanso. Panthawi yotumizidwa, ntchitoyo nthawi zambiri imamangidwa. Muli ndi pulojekiti yapaintaneti, pali gawo lakutsogolo (mumapanga paketi yapaintaneti pamenepo, mumapanga npm - china chake), ndipo njirayi ndi yanthawi yayitali - mphindi 5, koma mphindi 5 izi zitha. khala wotsutsa. Ndicho chifukwa chake, mwachitsanzo, sitimachita izi: tinachotsa maminiti a 5 awa, timagwiritsa ntchito zinthu zakale.

      Kodi chojambula ndi chiyani? Chojambula ndi chopangidwa chophatikizidwa pomwe mbali zonse za msonkhano zidamalizidwa kale. Timasunga chinthuchi m'malo osungiramo zinthu zakale. Nthawi ina tidagwiritsa ntchito zosungira ziwiri zotere - inali Nexus ndipo tsopano jFrog Artifactory). Kenako amayika zina mwama application olembedwa mu PHP mmenemo; ndipo "Nexus" sinalinso yoyenera, chifukwa chake tidasankha jFrog Artefactory, yomwe imatha kupanga pafupifupi chilichonse. Tafika poti m'malo osungirako zinthu zakalewa timasunga ma phukusi athu a binary omwe timatolera ma seva.

    Kukula kwamphamvu kwaphulika

    Tinakambirana za kusintha mtundu wa mapulogalamu. Chotsatira chomwe tili nacho ndi kuchuluka kwamphamvu kwa katundu. Apa, mwina ndikutanthauza kuti kukula kophulika kwa katundu sikuli koyenera ...

    Tinalemba dongosolo latsopano - ndilokhazikika pa ntchito, lamakono, lokongola, ogwira ntchito kulikonse, mizere paliponse, asynchrony kulikonse. Ndipo m'machitidwe oterowo, deta imatha kuyenda mosiyanasiyana. Pakugulitsa koyamba, wogwira ntchito 1, 3, 10 angagwiritsidwe ntchito, pakuchitapo chachiwiri - 2, 4, 5. Ndipo lero, tiyeni tinene, m'mawa muli ndi deta yomwe imagwiritsa ntchito antchito atatu oyambirira, ndipo madzulo imasintha kwambiri, ndipo chirichonse chimagwiritsa ntchito antchito ena atatu.

    Ndipo apa zikuwoneka kuti muyenera kukulitsa antchito mwanjira ina, muyenera kukulitsa ntchito zanu mwanjira ina, koma nthawi yomweyo kupewa kuphulika kwazinthu.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Tafotokoza zofunikira zathu. Zofunikira izi ndizosavuta: kuti pakhale kupezeka kwa Service, parameterization - zonse ndizokhazikika pakumanga machitidwe owopsa, kupatula mfundo imodzi - kutsika kwazinthu. Tinanena kuti sitinakonzekere kuwononga chuma kuti ma seva atenthe mpweya. Tinatenga "Consul", tinatenga "Nomad", yomwe imayang'anira antchito athu.

    N’chifukwa chiyani ili ndi vuto kwa ife? Tiyeni tibwerere mmbuyo pang'ono. Tsopano tili ndi njira zolipirira 70 kumbuyo kwathu. M'mawa, magalimoto amadutsa ku Sberbank, ndiye Sberbank inagwa, mwachitsanzo, ndipo timasinthira ku njira ina yolipira. Tinali ndi antchito 100 pamaso pa Sberbank, ndipo pambuyo pake tiyenera kuonjezera kwambiri antchito 100 pa dongosolo lina la malipiro. Ndipo nkwabwino kuti zonsezi zichitike popanda kutengapo mbali kwa anthu. Chifukwa ngati pali kutengapo gawo kwa anthu, payenera kukhala injiniya wokhala pamenepo 24/7, yemwe ayenera kuchita izi, chifukwa zolephera zotere, pomwe machitidwe 70 ali kumbuyo kwanu, zimachitika pafupipafupi.

    Chifukwa chake, tidayang'ana Nomad, yomwe ili ndi IP yotseguka, ndikulemba zathu, Scale-Nomad - ScaleNo, yomwe imachita pafupifupi izi: imayang'anira kukula kwa mzere ndikuchepetsa kapena kuonjezera chiwerengero cha ogwira ntchito malinga ndi mphamvu. cha pamzere. Titachita izi, tinaganiza kuti: "Mwina tingatsegule gwero?" Ndiye iwo anayang'ana pa iye - anali wophweka ngati kopecks awiri.

    Pakalipano sitinatsegule, koma ngati mwadzidzidzi pambuyo pa lipoti, mutazindikira kuti mukufunikira chinthu choterocho, mukufunikira, oyanjana anga ali mu slide yotsiriza - chonde ndilembeni. Ngati pali anthu osachepera 3-5, tithandizira.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Zimagwira ntchito bwanji? Tiyeni tiwone! Kuyang'ana kutsogolo: kumbali yakumanzere pali gawo la kuyang'anira kwathu: iyi ndi mzere umodzi, pamwamba ndi nthawi yokonzekera zochitika, pakati ndi chiwerengero cha zochitika, pansi ndi chiwerengero cha ogwira ntchito.

    Ngati muyang'ana, pali glitch pachithunzichi. Pa tchati chapamwamba, imodzi mwa ma chart idagwa mumasekondi a 45 - imodzi mwa njira zolipirira idatsika. Nthawi yomweyo, magalimoto adabweretsedwa mu mphindi za 2 ndipo mzerewo unayamba kukula panjira ina yolipira, pomwe panalibe antchito (sitinagwiritse ntchito zothandizira - m'malo mwake, tidataya gwero molondola). Sitinkafuna kutentha - panali ochepa, pafupifupi antchito 5-10, koma sanathe kupirira.

    Grafu yomaliza ikuwonetsa "hump", zomwe zimangotanthauza kuti "Skaleno" yawirikiza kawiri ndalamazi. Ndiyeno, pamene graph idatsika pang'ono, adayichepetsa pang'ono - chiwerengero cha ogwira ntchito chinasinthidwa zokha. Umo ndi momwe chinthu ichi chimagwirira ntchito. Tidakambirana za nambala 2 - "Momwe mungachotsere zifukwa mwachangu."

    Kuyang'anira. Kodi mwamsanga kuzindikira vuto?

    Tsopano mfundo yoyamba ndi yakuti "Kodi mungadziwe bwanji vutoli mwamsanga?" Kuyang'anira! Tiyenera kumvetsetsa zinthu zina mwachangu. Ndi zinthu ziti zimene tiyenera kuzimvetsa mwamsanga?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Zinthu zitatu!

    • Tiyenera kumvetsetsa ndikumvetsetsa mwachangu magwiridwe antchito azinthu zathu.
    • Tiyenera kumvetsetsa zolephera mwachangu ndikuwunika momwe machitidwe akunja amagwirira ntchito.
    • Mfundo yachitatu ndiyo kuzindikira zolakwika zomveka. Apa ndi pamene dongosolo likugwira ntchito kwa inu, chirichonse chiri chachilendo malinga ndi zizindikiro zonse, koma chinachake chikulakwika.

    Mwina sindikuuzani chilichonse chokoma apa. Ndikhala Captain Obvious. Tinayang'ana zomwe zinali pamsika. Tili ndi "zoo yosangalatsa". Umu ndi mtundu wa zoo zomwe tili nazo pano:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Timagwiritsa ntchito Zabbix kuyang'anira zida, kuyang'anira zizindikiro zazikulu za ma seva. Timagwiritsa ntchito Okmeter pazosungira. Timagwiritsa ntchito "Grafana" ndi "Prometheus" pazizindikiro zina zonse zomwe sizikugwirizana ndi ziwiri zoyambirira, zina ndi "Grafana" ndi "Prometheus", ndi zina "Grafana" ndi "Influx" ndi Telegraf.

    Chaka chapitacho tinkafuna kugwiritsa ntchito New Relic. Zabwino, zimatha kuchita chilichonse. Koma mochuluka momwe angathere chilichonse, ndi okwera mtengo kwambiri. Pamene tinakula kukhala voliyumu ya ma seva 1,5, wogulitsa anadza kwa ife nati: “Tiyeni tipange mgwirizano wa chaka chamawa.” Tinayang'ana pamtengo ndipo tinati ayi, sitidzachita zimenezo. Tsopano tikusiya New Relic, tili ndi ma seva pafupifupi 15 omwe atsala ndikuyang'aniridwa ndi New Relic. Mtengo wake udakhala wamtchire.

    Ndipo pali chida chimodzi chomwe tidakhazikitsa tokha - ichi ndi Debugger. Poyamba tinkachitcha kuti “Bagger,” koma kenako mphunzitsi wina wachingelezi anadutsa, n’kuseka mwaukali, nachitcha dzina lakuti “Debagger.” Ndi chiyani? Ichi ndi chida chomwe, makamaka, mu masekondi a 15-30 pa chigawo chilichonse, monga "bokosi lakuda" la dongosolo, amayesa mayesero pa ntchito yonse ya chigawocho.

    Mwachitsanzo, ngati pali tsamba lakunja (tsamba lamalipiro), amangotsegula ndikuyang'ana momwe liyenera kuonekera. Ngati izi zikukonzedwa, amatumiza mayeso "transaction" ndikuwonetsetsa kuti "transaction" iyi ifika. Ngati izi ndizogwirizana ndi machitidwe olipira, timawotcha pempho loyesa moyenerera, komwe tingathe, ndikuwona kuti zonse zili bwino ndi ife.

    Ndi zizindikiro ziti zomwe zili zofunika pakuwunika?

    Kodi timayang'anira chiyani makamaka? Ndi zizindikiro ziti zomwe zili zofunika kwa ife?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    • Nthawi yoyankha / RPS pamalire ndi chizindikiro chofunikira kwambiri. Nthawi yomweyo amayankha kuti pali vuto ndi inu.
    • Chiwerengero cha mauthenga okonzedwa mumizere yonse.
    • Chiwerengero cha ogwira ntchito.
    • Miyezo yolondola yoyambira.

    Mfundo yomaliza ndi "bizinesi", "bizinesi" metric. Ngati mukufuna kuyang'anira chinthu chomwecho, muyenera kufotokozera ma metrics amodzi kapena awiri omwe ali zizindikiro zazikulu kwa inu. Metric yathu ndi yodutsa (ichi ndiye chiŵerengero cha kuchuluka kwa zomwe zachitika bwino ndi kuchuluka kwazomwe zimachitika). Ngati chinachake chikusintha mmenemo pakapita mphindi 5-10-15, zikutanthauza kuti tili ndi mavuto (ngati kusintha kwambiri).

    Zomwe zikuwoneka kwa ife ndi chitsanzo cha imodzi mwama board athu:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Kumanzere kuli ma graph 6, izi zikugwirizana ndi mizere - chiwerengero cha ogwira ntchito ndi chiwerengero cha mauthenga omwe ali pamizere. Kumanja - RPS, RTS. Pansipa pali metric "bizinesi" yomweyo. Ndipo muzitsulo za "bizinesi" tikhoza kuona nthawi yomweyo kuti chinachake chalakwika mu ma graph awiri apakati ... Ichi ndi dongosolo lina lomwe likuyimira kumbuyo kwathu lomwe lagwa.

    Chinthu chachiwiri chomwe tidayenera kuchita ndikuwunika kugwa kwa njira zolipira zakunja. Apa tidatenga OpenTracing - makina, muyezo, paradigm yomwe imakupatsani mwayi wotsata machitidwe ogawidwa; ndipo zidasinthidwa pang'ono. Muyezo wa OpenTracing paradigm umati timapanga tsatanetsatane wa pempho lililonse. Sitinafune izi, ndipo tidazikulunga mwachidule, kuphatikizika. Tinapanga chida chomwe chimatilola kuyang'anira liwiro la machitidwe kumbuyo kwathu.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Grafu imatiwonetsa kuti imodzi mwa njira zolipirira idayamba kuyankha mumasekondi a 3 - tili ndi mavuto. Komanso, chinthu ichi adzachita pamene mavuto ayamba, pa imeneyi ya masekondi 20-30.

    Ndipo gulu lachitatu la zolakwika zowunika zomwe zilipo ndikuwunika koyenera.

    Kunena zowona, sindinkadziwa choti ndijambule pa slide iyi, chifukwa takhala tikuyang'ana kwa nthawi yayitali pamsika kuti tipeze zomwe zingatigwirizane ndi ife. Sitinapeze kalikonse, choncho tinachita tokha.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Ndikutanthauza chiyani ndikuyang'anira momveka bwino? Chabwino, taganizirani: mumadzipangira dongosolo (mwachitsanzo, Tinder clone); inu munachipanga icho, munachiyambitsa icho. Woyang'anira wopambana Vasya Pupkin adayiyika pa foni yake, akuwona mtsikana kumeneko, amamukonda ... ndipo zofanana sizipita kwa mtsikanayo - zofanana zimapita kwa mlonda wa chitetezo Mikhalych kuchokera kumalo amalonda omwewo. Bwanayo akutsika, ndiyeno akudzifunsa kuti: “N’chifukwa chiyani mlonda ameneyu Mikhalych akumwetulira mosangalala chonchi?”

    Muzochitika zotere ... Kwa ife, izi zikumveka mosiyana pang'ono, chifukwa (ndinalemba) uku ndi kutayika kwa mbiri komwe kumabweretsa kuwonongeka kwachuma. Mkhalidwe wathu ndi wosiyana: titha kutaya ndalama mwachindunji - mwachitsanzo, ngati titachita bwino, koma sizinaphule kanthu (kapena mosemphanitsa). Ndinayenera kulemba chida changa chomwe chimatsata kuchuluka kwa zochitika zopambana pakapita nthawi pogwiritsa ntchito zizindikiro zamabizinesi. Palibe chomwe ndapeza pamsika! Ili ndiye lingaliro lomwe ndimafuna kunena. Palibe chilichonse pamsika chothana ndi vutoli.

    Izi zinali za momwe mungadziwire vutoli mwachangu.

    Momwe mungadziwire zifukwa zotumizira

    Gulu lachitatu la mavuto omwe timathetsa ndi pamene tazindikira vuto, titatha kulichotsa, zingakhale bwino kumvetsetsa chifukwa cha chitukuko, kuyesa, ndikuchitapo kanthu. Choncho, tiyenera kufufuza, tiyenera kukweza zipika.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Ngati tikukamba za zipika (chifukwa chachikulu ndi zipika), zambiri za mitengo yathu zili mu ELK Stack - pafupifupi aliyense ali ndi zofanana. Kwa ena, sizingakhale mu ELK, koma ngati mulemba zipika mu gigabytes, ndiye posachedwa mudzabwera ku ELK. Timawalemba mu terabytes.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Pali vuto apa. Tidakonza, kukonza zolakwika kwa wogwiritsa ntchito, tidayamba kukumba zomwe zidalipo, tidakwera ku Kibana, ndikulowa mu id yogulitsira pamenepo ndipo ndidapeza nsalu yonga iyi (ikuwonetsa zambiri). Ndipo palibe chomwe chikuwonekera munsalu iyi. Chifukwa chiyani? Inde, chifukwa sizikudziwika kuti ndi gawo liti la wogwira ntchito, ndi gawo liti. Ndipo panthawiyo tidazindikira kuti tikufunika kutsatira - OpenTracing yomweyo yomwe ndidalankhula.

    Tinaganiza izi chaka chapitacho, tinatembenukira ku msika, ndipo panali zida ziwiri - "Zipkin" ndi "Jaeger". "Jager" ndiye wolowa m'malo mwamalingaliro, wolowa m'malo mwa "Zipkin". Chilichonse ndichabwino ku Zipkin, kupatula kuti sadziwa kuphatikizira, sadziwa momwe angaphatikizire zipika potsata, ndi nthawi yokhayo. Ndipo "Jager" adathandizira izi.

    Tidayang'ana "Jager": mutha kugwiritsa ntchito zida, mutha kulemba mu Api (mtundu wa Api wa PHP panthawiyo, komabe, sunavomerezedwe - izi zinali chaka chapitacho, koma tsopano zavomerezedwa kale), koma pamenepo. analibe kasitomala. "Chabwino," tinaganiza, ndikulemba kasitomala wathu. Tinapeza chiyani? Izi ndi momwe zimawonekera:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Ku Jaeger, mipata imapangidwira uthenga uliwonse. Ndiko kuti, pamene wogwiritsa ntchito atsegula dongosolo, amawona midadada imodzi kapena ziwiri pa pempho lililonse lomwe likubwera (1-2-3 - chiwerengero cha zopempha zomwe zikubwera kuchokera kwa wogwiritsa ntchito, chiwerengero cha midadada). Kuti zikhale zosavuta kwa ogwiritsa ntchito, tidawonjeza ma tag pazipika ndi kutsata nthawi. Chifukwa chake, pakalakwitsa, pulogalamu yathu imayika chipikacho ndi tag yoyenera yolakwika. Mutha kusefa ndi tag yolakwika ndipo magawo omwe ali ndi chipikachi ndi cholakwika ndi omwe amawonetsedwa. Izi ndi zomwe zimawoneka ngati tikulitsa nthawiyi:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    M'kati mwake muli mikwingwirima yambiri. Pankhaniyi, awa ndi mayeso atatu, ndipo kachitatu akutiuza kuti cholakwika chinachitika. Panthawi imodzimodziyo, apa tikuwona kutsata nthawi: tili ndi sikelo ya nthawi pamwamba, ndipo tikuwona nthawi yomwe izi kapena chipikacho chinalembedwa.

    Motero, zinthu zinatiyendera bwino. Tinalemba zowonjezera zathu ndipo timatsegula sourced. Ngati mukufuna kugwira ntchito ndi kufufuza, ngati mukufuna kugwira ntchito ndi "Jager" mu PHP, pali zowonjezera zathu, zolandiridwa kuti mugwiritse ntchito, monga akunena:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Tili ndi chowonjezera ichi - ndi kasitomala wa OpenTracing Api, amapangidwa ngati php-extention, ndiye kuti, muyenera kusonkhanitsa ndikuyiyika padongosolo. Chaka chapitacho panalibe chosiyana. Tsopano pali makasitomala ena omwe ali ngati zigawo. Izi zili ndi inu: mwina mumatulutsa zidazo ndi wopanga, kapena mumagwiritsa ntchito zowonjezera kwa inu.

    Miyezo yamakampani

    Tinakambirana za malamulo atatuwa. Lamulo lachinayi ndikukhazikitsa njira. Ndi chiyani ichi? Ndi za izi:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Chifukwa chiyani mawu oti "kampani" ali pano? Osati chifukwa ndife kampani yayikulu kapena yaudindo, ayi! Ndinkafuna kugwiritsa ntchito mawu oti "corporate" apa ponena kuti kampani iliyonse, chinthu chilichonse chiyenera kukhala ndi miyezo yake, kuphatikizapo inu. Kodi tili ndi mfundo zotani?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    • Tili ndi malamulo oyendetsera ntchito. Sitikuyenda kulikonse popanda iye, sitingathe. Timatumiza pafupifupi ka 60 pa sabata, ndiye kuti, timatumiza pafupifupi nthawi zonse. Panthawi imodzimodziyo, tili ndi, mwachitsanzo, m'malamulo oyendetsera ntchito zomwe zimakhalapo pa Lachisanu - makamaka, sitimayimitsa.
    • Timafuna zolemba. Palibe gawo latsopano lomwe limapangidwa ngati palibe zolembedwa zake, ngakhale litabadwa pansi pa cholembera cha akatswiri athu a RnD. Timafuna kuchokera kwa iwo kuti atumize malangizo, mapu owunikira komanso kufotokozera momveka bwino (monga momwe olemba mapulogalamu angalembe) momwe gawoli limagwirira ntchito, momwe lingathetsere vutoli.
    • Sitithetsa chifukwa cha vuto, koma vuto - zomwe ndanena kale. Ndikofunikira kwa ife kuteteza wosuta ku mavuto.
    • Tili ndi zilolezo. Mwachitsanzo, sitikuwona ngati nthawi yocheperako ngati tataya 2% yamagalimoto mkati mwa mphindi ziwiri. Izi sizinaphatikizidwe mu ziwerengero zathu. Ngati zili zochulukirapo kapena zosakhalitsa, timawerengera kale.
    • Ndipo nthawi zonse timalemba postmortems. Zirizonse zomwe zingatichitikire, zochitika zilizonse zomwe wina adachita molakwika popanga zimawonekera pambuyo pakufa. Postmortem ndi chikalata chomwe mumalemba zomwe zidakuchitikirani, tsatanetsatane wa nthawi, zomwe mudachita kuti mukonze komanso (ichi ndi chipika chovomerezeka!) zomwe mungachite kuti izi zisachitike m'tsogolomu. Izi ndizovomerezeka komanso zofunikira pakuwunika kotsatira.

    Kodi nthawi yopuma imatchedwa chiyani?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Kodi zonsezi zinatsogolera ku chiyani?

    Izi zinapangitsa kuti (tinali ndi mavuto ena okhazikika, izi sizinagwirizane ndi makasitomala kapena ife) m'miyezi 6 yapitayi chizindikiro chathu chokhazikika chinali 99,97. Tikhoza kunena kuti izi siziri zambiri. Inde, pali chinachake choti tiyesetse. Pa chizindikiro ichi, pafupifupi theka ndilokhazikika, monga momwe, osati zathu, koma za firewall yathu yogwiritsira ntchito intaneti, yomwe imayima patsogolo pathu ndipo imagwiritsidwa ntchito ngati ntchito, koma makasitomala samasamala za izi.

    Tinaphunzira kugona usiku. Pomaliza! Miyezi isanu ndi umodzi yapitayo sitinathe. Ndipo pacholemba ichi ndi zotsatira zake, ndikufuna kulemba cholemba chimodzi. Usiku watha panali lipoti lodabwitsa la kayendetsedwe ka kayendetsedwe ka nyukiliya. Ngati anthu omwe adalemba dongosololi angandimve, chonde iwalani zomwe ndinanena za "2% si nthawi yopuma." Kwa inu, 2% ndi nthawi yopuma, ngakhale kwa mphindi ziwiri!

    Ndizomwezo! Mafunso anu.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Za ma balancers ndi kusamuka kwa database

    Funso lochokera kwa omvera (kuchokera pano - B): - Madzulo abwino. Zikomo kwambiri chifukwa cha lipoti lotere la admin! Funso lalifupi lokhudza owerengera anu. Mudanena kuti muli ndi WAF, ndiye kuti, monga ndikumvetsetsa, mumagwiritsa ntchito mtundu wina wakunja ...

    EK: - Ayi, timagwiritsa ntchito ntchito zathu ngati zowerengera. Pankhaniyi, WAF ndi chida choteteza DDoS chokha kwa ife.

    Mu: - Kodi munganene mawu ochepa okhudza olinganiza?

    EK: - Monga ndanenera kale, ili ndi gulu la ma seva otseguka. Tsopano tili ndi magulu osungira 5 omwe amayankha mwapadera ... ndiko kuti, seva yomwe imagwira ntchito momasuka, imangokhala ma proxies. Chifukwa chake, kuti timvetsetse kuchuluka kwa zomwe timagwira: tsopano tili ndi magalimoto okhazikika a megabits mazana angapo. Amapirira, amamva bwino, samadzikakamiza.

    Mu: - Komanso funso losavuta. Apa pali Blue/Green deployment. Mumatani, mwachitsanzo, ndi kusamuka kwa database?

    EK: - Funso labwino! Onani, mu Blue/Green deployment tili ndi mizere yosiyana pamzere uliwonse. Ndiye kuti, ngati tikukamba za mizere ya zochitika zomwe zimatumizidwa kuchokera kwa wogwira ntchito kupita kwa wogwira ntchito, pali mizere yosiyana ya mzere wabuluu ndi mzere wobiriwira. Ngati tikukamba za nkhokwe yokha, ndiye kuti tidachepetsa dala momwe tingathere, kusuntha chirichonse mu mizere; mu database timangosunga mulu wa zochitika. Ndipo kuchuluka kwathu kwamalonda ndikofanana pamizere yonse. Ndi nkhokwe munkhaniyi: sitimagawaniza kukhala buluu ndi wobiriwira, chifukwa mitundu yonse iwiri ya code iyenera kudziwa zomwe zikuchitika ndikugulitsa.

    Anzanga, ndilinso ndi mphoto yaying'ono yoti ndikulimbikitseni - buku. Ndipo ndiyenera kupatsidwa chifukwa cha funso labwino kwambiri.

    Mu: - Moni. Zikomo chifukwa cha lipoti. Funso ndi ili. Mumayang'anira malipiro, mumayang'anitsitsa mautumiki omwe mumalankhulana nawo ... Koma mumayang'anitsitsa bwanji kuti munthu abwere pa tsamba lanu la malipiro, adalipira, ndipo polojekitiyo inamupatsa ndalama? Ndiko kuti, mumayang'anira bwanji kuti wamalonda alipo ndipo wavomereza kuyimbira kwanu?

    EK: - "Wamalonda" kwa ife mu nkhaniyi ndi chimodzimodzi ntchito kunja monga dongosolo malipiro. Timayang'anira liwiro la kuyankha kwa wamalonda.

    About database encryption

    Mu: - Moni. Ndili ndi funso logwirizana pang'ono. Muli ndi data ya PCI DSS. Ndikufuna kudziwa momwe mumasungira ma PAN pamizere yomwe muyenera kusamutsiramo? Kodi mumagwiritsa ntchito kubisa kulikonse? Ndipo izi zimatsogolera ku funso lachiwiri: molingana ndi PCI DSS, ndikofunikira kuti nthawi ndi nthawi kusungitsanso Nawonso achichepere ngati kusintha (kuchotsedwa kwa oyang'anira, etc.) - chimachitika ndi chiyani pakupezeka pankhaniyi?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    EK: - Funso lodabwitsa! Choyamba, sitimasunga ma PAN pamzere. Tilibe ufulu wosungira PAN kulikonse mu mawonekedwe omveka bwino, makamaka, kotero timagwiritsa ntchito ntchito yapadera (ife timayitcha "Kademon") - iyi ndi ntchito yomwe imachita chinthu chimodzi chokha: imalandira uthenga monga cholowa ndikutumiza. tulutsa uthenga wobisika. Ndipo timasunga zonse ndi uthenga wobisikawu. Chifukwa chake, kutalika kwathu kofunikira kuli pansi pa kilobyte, kotero kuti izi ndizovuta komanso zodalirika.

    Mu: - Kodi mukufuna 2 kilobytes tsopano?

    EK: - Zikuwoneka ngati dzulo linali 256 ... Chabwino, kwinanso kwina?!

    Choncho, ichi ndi choyamba. Ndipo chachiwiri, yankho lomwe lilipo, limathandizira kubisanso - pali awiriawiri a "keks" (makiyi), omwe amapereka "makiyi" omwe amabisala (makiyi ndi makiyi, dek ndi zotumphukira za makiyi omwe amabisa) . Ndipo ngati ndondomekoyo itayambika (imachitika kawirikawiri, kuyambira miyezi 3 mpaka ± ena), timatsitsa "makeke" atsopano, ndipo timalembanso deta. Tili ndi mautumiki osiyana omwe amachotsa deta yonse ndikuyibisa m'njira yatsopano; Deta imasungidwa pafupi ndi chizindikiritso cha kiyi yomwe imabisidwa. Chifukwa chake, tikangosunga deta ndi makiyi atsopano, timachotsa kiyi yakale.

    Nthawi zina malipiro amafunika kupangidwa pamanja...

    Mu: - Ndiko kuti, ngati kubweza ndalama kwafika pa opareshoni ina, kodi mungasinthebe ndi kiyi yakale?

    EK: - Inde.

    Mu: - Kenako funso limodzi laling'ono. Kukanika kwina, kugwa, kapena chochitika chikachitika, m'pofunika kukankhira ntchitoyo pamanja. Pali mkhalidwe wotero.

    EK: - Inde, nthawi zina.

    Mu: - Mumapeza kuti deta iyi? Kapena mumapita nokha kumalo osungirako zinthuwa?

    EK: - Ayi, chabwino, tili ndi mtundu wina wamaofesi akumbuyo omwe ali ndi mawonekedwe othandizira. Ngati sitidziwa momwe ntchitoyo ilili (mwachitsanzo, mpaka ndondomeko yolipira yayankhidwa ndi nthawi yopuma), sitidziwa priori, ndiko kuti, timagawira udindo womaliza ndi chidaliro chonse. Pamenepa, timataya kugulitsako kukhala malo apadera pakukonzekera pamanja. M'mawa, tsiku lotsatira, chithandizo chikangolandira chidziwitso chakuti zochitika zoterezi zimakhalabe mu dongosolo la malipiro, iwo amazikonza pamanja mu mawonekedwe awa.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Mu: - Ndili ndi mafunso angapo. Chimodzi mwa izo ndi kupitiriza kwa PCI DSS zone: mumalowetsa bwanji dera lawo? Funso ili ndi chifukwa wopanga akanatha kuyika chilichonse muzolemba! Funso lachiwiri: mumatulutsa bwanji ma hotfixes? Kugwiritsa ntchito zogwirira mu nkhokwe ndi njira imodzi, koma pakhoza kukhala zosintha zaulere - ndi njira yotani pamenepo? Ndipo funso lachitatu mwina likugwirizana ndi RTO, RPO. Kupezeka kwanu kunali 99,97, pafupifupi zisanu ndi zinayi, koma monga ndikumvetsetsa, muli ndi data yachiwiri ya data, deta yachitatu, ndi malo achisanu ...

    EK: -Tiyeni tiyambe ndi woyamba. Funso loyamba linali lokhudza mitengo? Tikamalemba zipika, timakhala ndi wosanjikiza womwe umabisa deta yonse yovuta. Amayang'ana chigoba ndi minda yowonjezera. Chifukwa chake, zipika zathu zimatuluka ndi data yobisika kale ndi dera la PCI DSS. Iyi ndi imodzi mwa ntchito zomwe zimaperekedwa ku dipatimenti yoyesera. Amayenera kuyang'ana ntchito iliyonse, kuphatikizapo zipika zomwe amalemba, ndipo iyi ndi imodzi mwa ntchito zanthawi zonse panthawi yowunikira ma code, kuti athe kuwongolera kuti wopangayo sanalembepo kanthu. Kuwunika kotsatira kwa izi kumachitika pafupipafupi ndi dipatimenti yachitetezo chazidziwitso pafupifupi kamodzi pa sabata: mitengo yatsiku lomaliza imatengedwa mosankhidwa ndipo imayendetsedwa ndi scanner-analyzer yapadera kuchokera ku maseva oyesa kuti muwone chilichonse.
    Za kukonza zotentha. Izi zikuphatikizidwa m'malamulo athu otumizidwa. Tili ndi ndime yosiyana yokhudza hotfixes. Timakhulupilira kuti timatumiza ma hotfixes usana ndi usiku tikafuna. Mwamsanga pamene Baibuloli likusonkhanitsidwa, litangotha ​​​​kuthamanga, tikakhala ndi chojambula, timakhala ndi woyang'anira dongosolo pa ntchito pa foni yochokera ku chithandizo, ndipo amayiyika panthawi yomwe ikufunika.

    Za "four nines". Chiwerengero chomwe tili nacho tsopano chakwaniritsidwa, ndipo tidayesetsa kuchipeza pamalo ena a data. Tsopano tili ndi chigawo chachiwiri cha deta, ndipo tikuyamba kuyenda pakati pawo, ndipo nkhani yobwerezabwereza pakati pa data ndi funso losawerengeka. Tinayesetsa kuthetsa nthawi imodzi pogwiritsa ntchito njira zosiyanasiyana: tinayesetsa kugwiritsa ntchito "Tarantula" yomweyo - sizinathandize, ndikukuuzani nthawi yomweyo. Ichi ndichifukwa chake tinamaliza kuyitanitsa "sens" pamanja. M'malo mwake, kugwiritsa ntchito kulikonse m'dongosolo lathu kumayendetsa kulumikizana koyenera kwa "kusintha - kwachitika" pakati pa malo a data asynchronously.

    Mu: - Ngati muli ndi yachiwiri, bwanji simunapeze yachitatu? Chifukwa palibe amene ali ndi ubongo wogawanika ...

    EK: - Koma tilibe Split Brain. Chifukwa chakuti ntchito iliyonse imayendetsedwa ndi multimaster, zilibe kanthu kwa ife kuti pempholi linafika pati. Ndife okonzeka kuti ngati imodzi mwa malo athu a deta ikulephera (timadalira izi) ndipo pakati pa pempho la wogwiritsa ntchito akusintha kumalo achiwiri a data, ndife okonzeka kutaya wogwiritsa ntchito uyu, ndithudi; Koma awa adzakhala mayunitsi, Mtheradi.

    Mu: - Madzulo abwino. Zikomo chifukwa cha lipoti. Munalankhula za chowongolera chanu, chomwe chimayendetsa zoyeserera popanga. Koma tiuzeni za mayendedwe a mayeso! Zimalowa bwanji?

    EK: - Imadutsa kuzungulira kwathunthu kwa gawo lonse. Pachigawo china, palibe kusiyana pakati pa kuyesa ndi kupanga. Koma kuchokera kumalingaliro omveka, iyi ndi ntchito yosiyana m'dongosolo, pomwe zoyeserera zokha zimayendetsedwa.

    Mu: -Mumadula kuti? Apa Core anatumiza...

    EK: Tili kumbuyo kwa "Kor" pankhaniyi pazoyeserera ... Tili ndi zinthu monga njira: "Kor" amadziwa njira yolipira yomwe iyenera kutumizidwa - timayitumiza ku njira yolipira yabodza, yomwe imangopereka http chizindikiro ndipo ndizo zonse.

    Mu: - Ndiuzeni, chonde, kodi ntchito yanu inalembedwa mu monolith imodzi yayikulu, kapena mudaidula muzinthu zina kapena ma microservices?

    EK: - Tilibe monolith, ndithudi, tili ndi ntchito yokhudzana ndi ntchito. Timaseka kuti ntchito yathu imapangidwa ndi monoliths - ndi yayikulu kwambiri. Ndizovuta kuzitcha kuti ma microservices, koma izi ndi ntchito zomwe ogwira ntchito pamakina ogawa amagwira ntchito.

    Ngati ntchito ya seva yasokonekera ...

    Mu: - Ndiye ndili ndi funso lotsatira. Ngakhale atakhala monolith, mumanenabe kuti muli ndi ma seva apompopompo, onse amasanthula deta, ndipo funso ndilakuti: "Pakachitika chiwopsezo cha imodzi mwama seva apompopompo kapena kugwiritsa ntchito, ulalo uliwonse wamunthu aliyense. , kodi ali ndi mtundu wina wowongolera? Ndani mwa iwo angachite chiyani? Ndilumikizana ndi ndani kuti ndidziwe zambiri?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    EK: - Inde, ndithudi. Zofunikira zachitetezo ndizovuta kwambiri. Choyamba, tili ndi mayendedwe otseguka a data, ndipo madoko ndi omwe timayembekezera kusuntha kwa magalimoto pasadakhale. Ngati gawo likulankhulana ndi nkhokwe (titi, ndi Muskul) kudzera pa 5-4-3-2, 5-4-3-2 yokha idzatsegukira, ndipo madoko ena ndi njira zina zamagalimoto sizipezeka. Kuphatikiza apo, muyenera kumvetsetsa kuti pakupanga kwathu pali pafupifupi 10 malupu osiyanasiyana otetezera. Ndipo ngakhale pulogalamuyo idasokonezedwa mwanjira ina, Mulungu aletsa, wowukirayo sangathe kulowa pa seva yoyang'anira, chifukwa iyi ndi malo ena otetezedwa pamaneti.

    Mu: - Ndipo m'nkhaniyi, zomwe zimandisangalatsa kwambiri ndikuti muli ndi mapangano ena ndi mautumiki - zomwe angachite, kudzera mu "zochita" zomwe angathe kulumikizana wina ndi mzake ... mzere, mndandanda wa "zochita" pamzake. Iwo samawoneka kutembenukira kwa ena mumkhalidwe wabwinobwino, ndipo ali ndi mbali zina zaudindo. Ngati mmodzi wa iwo asokonezedwa, kodi adzatha kusokoneza "zochita" za utumikiwo?

    EK: - Ndikumvetsa. Ngati muzochitika zachilendo ndi kulankhulana kwina kwa seva kunaloledwa nkomwe, ndiye inde. Malinga ndi mgwirizano wa SLA, sitimayang'anira kuti mumaloledwa "zochita" za 3 zokha, ndipo simukuloledwa "zochita" za 4. Izi mwina ndizosafunikira kwa ife, chifukwa tili kale ndi chitetezo cha 4-level, makamaka, pamabwalo. Timakonda kudziteteza ndi contours, osati pa mlingo wa insides.

    Momwe Visa, MasterCard ndi Sberbank zimagwirira ntchito

    Mu: - Ndikufuna kufotokozera mfundo yosinthira wogwiritsa ntchito kuchokera kumalo amodzi kupita ku ena. Monga ndikudziwira, Visa ndi MasterCard zimagwiritsa ntchito 8583 binary synchronous protocol, ndipo pali zosakaniza pamenepo. Ndipo ndimafuna kudziwa, tsopano tikutanthauza kusintha - kodi mwachindunji "Visa" ndi "MasterCard" kapena machitidwe amalipiro asanayambe, musanakonze?

    EK: - Izi zisanachitike zosakaniza. Zosakaniza zathu zili mu data center yomweyi.

    Mu: - Mwachidule, kodi muli ndi malo amodzi olumikizirana?

    EK: - "Visa" ndi "MasterCard" - inde. Kungoti Visa ndi MasterCard zimafunikira ndalama zochulukirapo pakukhazikitsa mapangano kuti apeze zosakaniza zachiwiri, mwachitsanzo. Iwo amasungidwa mkati mwa malo amodzi a deta, koma ngati, Mulungu asalole, malo athu a deta, kumene pali zosakaniza zogwirizanitsa ndi Visa ndi MasterCard, zikafa, ndiye kuti tidzakhala ndi chiyanjano ndi Visa ndi MasterCard yotayika ...

    Mu: - Angasungidwe bwanji? Ndikudziwa kuti Visa imalola kulumikizana kumodzi kokha!

    EK: - Iwo amapereka zipangizo okha. Mulimonsemo, tidalandira zida zomwe ndizosowa mkati.

    Mu: - Ndiye maimidwewo akuchokera ku Connects Orange?

    EK: - Inde.

    Mu: - Koma bwanji za nkhaniyi: ngati malo anu a data atha, mungapitilize kuzigwiritsa ntchito? Kapena magalimoto amangoima?

    EK: - Ayi. Pankhaniyi, tidzangosintha magalimoto kupita ku njira ina, yomwe, mwachibadwa, idzakhala yokwera mtengo kwa ife komanso yokwera mtengo kwa makasitomala athu. Koma magalimoto sangadutse kulumikizana kwathu mwachindunji ku Visa, MasterCard, koma kudzera mu Sberbank yokhazikika (yokokomeza kwambiri).

    Ndipepesa kwambiri ngati ndakhumudwitsa antchito a Sberbank. Koma malinga ndi ziwerengero zathu, pakati pa mabanki aku Russia, Sberbank imagwa nthawi zambiri. Palibe mwezi umatha popanda chinachake kugwa ku Sberbank.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): zoyenera kuchita ngati miniti yopumira imawononga $100000

    Zotsatsa zina 🙂

    Zikomo chifukwa chokhala nafe. Kodi mumakonda zolemba zathu? Mukufuna kuwona zambiri zosangalatsa? Tithandizeni potipatsa oda kapena kulimbikitsa anzathu, mtambo VPS kwa opanga kuchokera ku $ 4.99, ma analogi apadera a ma seva olowera, omwe adakupangirani inu: Chowonadi chonse chokhudza VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps kuchokera $19 kapena momwe mungagawire seva? (ikupezeka ndi RAID1 ndi RAID10, mpaka 24 cores mpaka 40GB DDR4).

    Dell R730xd 2x yotsika mtengo ku Equinix Tier IV data center ku Amsterdam? Pokhapokha 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV kuchokera $199 ku Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - kuchokera $99! Werengani za Momwe mungamangire Infrastructure Corp. kalasi pogwiritsa ntchito ma seva a Dell R730xd E5-2650 v4 ofunika ma euro 9000 pa khobiri?

Source: www.habr.com

Kuwonjezera ndemanga