HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Ny tsirairay dia miresaka momba ny fizotran'ny fampandrosoana sy ny fitsapana, ny fanofanana ny mpiasa, ny fampitomboana ny fanentanana, saingy tsy ampy ireo dingana ireo rehefa mandany vola be ny iray minitra amin'ny fiatoana amin'ny serivisy. Inona no tokony hatao rehefa manao fifampiraharahana ara-bola amin'ny SLA hentitra ianao? Ahoana ny fampitomboana ny fahamendrehana sy ny fandeferana ny fahadisoana amin'ny rafitrao, ny fanesorana ny fampandrosoana sy ny fitsapana amin'ny equation?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Ny fihaonambe HighLoad++ manaraka dia hatao ny 6 sy 7 aprily 2020 any Saint-Pétersbourg. Ny antsipiriany sy ny tapakila ho an'ny rohy. 9 Novambra, 18:00. HighLoad++ Moscow 2018, Delhi + Kolkata hall. Theses ary fampahafantarana.

Evgeniy Kuzovlev (manaraka izany - EC): - Ry namana, manahoana! Kuzovlev Evgeniy no anarako. Avy amin'ny orinasa EcommPay aho, fizarana manokana ny EcommPay IT, fizarana IT an'ny vondron'orinasa. Ary androany isika dia hiresaka momba ny fotoana fialan-tsasatra - ny fomba hisorohana azy ireo, ny fomba hampihenana ny voka-dratsiny raha tsy azo ialana izany. Ny lohahevitra dia voalaza toy izao manaraka izao: “Inona no tokony hatao rehefa mitentina 100 000 dolara ny iray minitra amin’ny fiatoana”? Mijery ny ho avy dia azo ampitahaina ny isantsika.

Inona no ataon'ny EcommPay IT?

Iza moa isika? Nahoana aho no mijanona eto anatrehanao? Nahoana aho no manan-jo hilaza zavatra aminao eto? Ary inona no horesahina eto amin'ny antsipiriany bebe kokoa?

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Ny vondrona orinasa EcommPay dia mpividy iraisam-pirenena. Mikarakara fandoavam-bola eran'izao tontolo izao izahay - any Rosia, Eoropa, Azia Atsimo Atsinanana (Maneran-tany). Manana birao 9 izahay, mpiasa 500 amin'ny fitambarany, ary eo amin'ny antsasany eo ho eo dia manampahaizana manokana momba ny IT. Ny zavatra rehetra ataontsika, ny zavatra rehetra ahazoantsika vola dia nataonay ny tenanay.

Nanoratra ny vokatray rehetra izahay (ary manana betsaka amin'izy ireo izahay - ao amin'ny andiana vokatra IT lehibe misy anay dia manana singa 16 eo ho eo izahay) ny tenanay; Manoratra ny tenantsika isika, mampandroso ny tenantsika. Ary amin'izao fotoana izao dia manao fifampiraharahana eo amin'ny iray tapitrisa isan'andro isika (an-tapitrisany angamba no fomba mety hilazana izany). Orinasa somary tanora izahay - vao enin-taona eo ho eo izahay.

6 taona lasa izay no fanombohana toy izany rehefa tonga niaraka tamin'ny orinasa ny bandy. Niray hevitra izy ireo (tsy nisy hafa afa-tsy hevitra), dia nihazakazaka izahay. Tahaka ny fanombohana rehetra, nihazakazaka haingana kokoa izahay... Ho anay, ny hafainganam-pandeha dia zava-dehibe kokoa noho ny kalitao.

Tamin'ny fotoana iray dia nijanona izahay: nahatsapa izahay fa tsy afaka miaina amin'izany hafainganam-pandeha izany sy amin'izany kalitao izany intsony ary mila mifantoka amin'ny kalitao aloha. Amin'izao fotoana izao, nanapa-kevitra ny hanoratra sehatra vaovao izay mety, azo esorina ary azo ianteherana izahay. Nanomboka nanoratra ity sehatra ity izy ireo (nanomboka nampiasa vola, namolavola fampandrosoana, fitsapana), saingy tamin'ny fotoana iray dia nahatsapa izy ireo fa ny fampandrosoana sy ny fitsapana dia tsy mamela antsika hahatratra ny haavon'ny kalitaon'ny serivisy.

Manao vokatra vaovao ianao, mametraka izany amin'ny famokarana, saingy mbola hisy zavatra tsy mety ho aiza. Ary androany isika dia hiresaka momba ny fomba hahatongavana amin'ny haavon'ny kalitao vaovao (ny fomba nanaovanay izany, momba ny traikefa ananantsika), ny fakana ny fampandrosoana sy ny fitsapana amin'ny fitoviana; Hiresaka momba izay azo atao amin'ny fandidiana isika - inona no asa azo atao, inona no azony atolotra amin'ny fitsapana mba hisy fiantraikany amin'ny kalitao.

Fiatoana. Didy miasa.

Ny vato fehizoro lehibe hatrany, ny tena horesahina anio dia ny fotoana fitsaharana. Teny mahatsiravina. Raha toa ka manana fotoana fitsaharana isika, dia ratsy ho antsika ny zava-drehetra. Mihazakazaka manandratra azy izahay, ny mpitantana no mitazona ny server - Sanatria fa tsy lavo, araka ny lazain'izy ireo ao amin'io hira io. Io no horesahina anio.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Rehefa nanomboka niova fomba fiasa izahay dia namorona didy 4. Nasehoko azy ireo tamin'ny slides:

Tena tsotra ireto didy ireto:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

  • Fantaro haingana ny olana.
  • Esory haingana kokoa izany.
  • Ampio hahatakatra ny antony (atỳ aoriana, ho an'ny developer).
  • Ary manara-penitra fomba.

Tiako ny hisarika ny sainao ho amin'ny teboka N°2. Esorinay ny olana fa tsy voavaha. Faharoa ny fanapahan-kevitra. Ho anay, ny zavatra voalohany dia ny fiarovana ny mpampiasa amin'ity olana ity. Hisy ao amin'ny tontolo mitoka-monina sasany izy io, saingy tsy hifandray aminy io tontolo io. Raha ny marina, handalo ireo olana efatra ireo isika (ny sasany amin'ny antsipiriany bebe kokoa, ny sasany amin'ny antsipiriany kely), dia holazaiko aminao izay ampiasainay, inona no traikefa mifandraika ananantsika amin'ny vahaolana.

Famahana olana: Rahoviana izy ireo no mitranga ary inona no tokony hatao amin'izy ireo?

Fa hanomboka tsy misy filaminana isika, hanomboka amin'ny teboka faha-2 - ny fomba haingana manala ny olana? Misy olana - mila amboarina isika. “Inona no tokony hataontsika amin’izany?” - ny tena fanontaniana. Ary rehefa nanomboka nieritreritra ny fomba hamahana ilay olana izahay, dia namolavola ho an'ny tenanay ny fepetra sasany izay tsy maintsy arahina ny famahana olana.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Mba hamolavolana ireo fepetra ireo, dia nanapa-kevitra ny hanontany tena hoe: “Rahoviana isika no manana olana”? Ary ny olana, araka ny hita, dia mitranga amin'ny tranga efatra:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

  • Ny tsy fahombiazan'ny fitaovana.
  • Tsy nahomby ny serivisy ivelany.
  • Fanovana ny dikan-rindrambaiko (fametrahana mitovy).
  • Fitomboan'ny entana mipoaka.

Tsy hiresaka momba ny roa voalohany isika. Ny tsy fahombiazan'ny fitaovana dia azo vahana tsotra izao: tsy maintsy adikao daholo ny zava-drehetra. Raha kapila ireo dia tsy maintsy miangona ao amin'ny RAID ny kapila; raha mpizara ity dia tsy maintsy adika ny mpizara; raha manana fotodrafitrasa tambajotra ianao dia tsy maintsy manome kopia faharoa amin'ny fotodrafitrasa tambajotra, izany hoe alainao ary kopia izany. Ary raha misy zavatra tsy mahomby dia mifamadika amin'ny famatsiana herinaratra ianao. Sarotra ny milaza zavatra hafa eto.

Ny faharoa dia ny tsy fahombiazan'ny serivisy ivelany. Ho an'ny ankamaroan'ny rafitra dia tsy olana mihitsy, fa tsy ho antsika. Koa satria izahay no mikarakara ny fandoavam-bola, dia mpanangona izay mijoro eo anelanelan'ny mpampiasa (izay miditra ny angon-drakitra momba ny karatra) sy ny banky, ny rafitra fandoavam-bola (Visa, MasterCard, Mira, sns.). Ny serivisy ivelany (rafitra fandoavam-bola, banky) dia matetika tsy mahomby. Na izahay na ianao (raha manana serivisy toy izany) dia tsy afaka mitaona an'io.

Inona ary no hatao? Misy safidy roa eto. Voalohany, raha azonao atao, dia tokony hanao kopia ity serivisy ity amin'ny fomba sasany. Ohatra, raha azo atao, dia mamindra ny fifamoivoizana avy amin'ny serivisy iray mankany amin'ny iray hafa: ohatra, ny karatra dia nokarakaraina tamin'ny Sberbank, manana olana ny Sberbank - mamindra ny fifamoivoizana [araka ny fepetra] mankany Raiffeisen. Ny zavatra faharoa azontsika atao dia ny mahatsikaritra haingana ny tsy fahombiazan'ny serivisy ivelany, ary noho izany dia hiresaka momba ny hafainganan'ny valiny isika amin'ny ampahany manaraka amin'ny tatitra.

Raha ny marina, amin'ireo efatra ireo dia azontsika atao ny mitaona manokana ny fiovan'ny dikan-tsarimihetsika - manaova hetsika izay hitarika amin'ny fanatsarana ny toe-javatra eo amin'ny sehatry ny fametrahana sy amin'ny sehatry ny fitomboana mipoaka amin'ny entana. Raha ny marina, izany no nataonay. Ity indray, naoty kely...

Amin'ireo olana efatra ireo dia maro no voavaha avy hatrany raha manana rahona ianao. Raha ao amin'ny Microsoft Azhur, rahona Ozone ianao, na mampiasa ny rahonay, avy amin'ny Yandex na Mail, dia farafaharatsiny ny tsy fahombiazan'ny fitaovana no lasa olan'izy ireo ary ny zava-drehetra dia tonga lafatra ho anao amin'ny tontolon'ny tsy fahombiazan'ny fitaovana.

Orinasa tsy mahazatra izahay. Eto ny rehetra dia miresaka momba ny "Kubernets", momba ny rahona - tsy manana "Kubernets" na rahona isika. Saingy manana racks of hardware izahay amin'ny foibe data maro, ary voatery miaina amin'ity fitaovana ity izahay, voatery tompon'andraikitra amin'izany rehetra izany. Noho izany, hiresaka amin'ity toe-javatra ity isika. Noho izany, momba ny olana. Ny roa voalohany dia nesorina tamin'ny bracket.

Fanovana ny version software. Bases

Tsy manana fahafahana miditra amin'ny famokarana ny mpamorona anay. Fa nahoana izany? Soa ihany fa manana mari-pahaizana PCI DSS izahay, ary tsy manan-jo hiditra amin'ny "vokatra" ny mpamorona anay. Izay ihany, vanim-potoana. Na izany aza. Noho izany, ny andraikitry ny fampandrosoana dia mifarana marina amin'ny fotoana ametrahan'ny fampandrosoana ny fananganana ho famotsorana.

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

Ny fototra faharoa ananantsika, izay manampy antsika betsaka koa, dia ny tsy fisian'ny fahalalana tsy manam-paharoa. Manantena aho fa toy izany koa ho anao. Satria raha tsy izany no mitranga dia hanana olana ianao. Hipoitra ny olana rehefa tsy tonga amin'ny fotoana mety amin'ny toerana mety io fahalalana tsy manam-paharoa io. Aoka hatao hoe manana olona iray ianao izay mahay mametraka singa iray manokana - tsy eo ilay olona, ​​miala sasatra na marary - dia izay, manana olana ianao.

Ary ny fototra fahatelo nihaviantsika. Tonga tamin'izany izahay tamin'ny alalan'ny fanaintainana, ny rà, ny ranomaso - tonga tamin'ny fanatsoahan-kevitra izahay fa misy hadisoana ny fananganana anay, na dia tsy misy fahadisoana aza izany. Nanapa-kevitra ho an'ny tenanay izahay: rehefa mametraka zavatra, rehefa manodina zavatra ho amin'ny famokarana, dia manana fananganana misy hadisoana. Noforoninay ny fepetra tsy maintsy mameno ny rafitra misy anay.

Fepetra amin'ny fanovana ny dikan-rindrambaiko

Misy fepetra telo:

HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

  • Tsy maintsy averina haingana ny fametrahana.
  • Tsy maintsy manamaivana ny fiantraikan'ny fametrahana tsy mahomby isika.
  • Ary tsy maintsy afaka manaparitaka haingana amin'ny parallèle isika.
    Ao amin'io filaharana io tokoa! Nahoana? Satria, voalohany indrindra, rehefa mametraka dikan-teny vaovao dia tsy zava-dehibe ny hafainganam-pandeha, fa zava-dehibe aminao, raha misy zavatra tsy mety, mihemotra haingana ary misy fiantraikany kely. Fa raha manana andian-dahatsoratra amin'ny famokarana ianao, izay hita fa misy hadisoana (avy amin'ny manga, tsy nisy ny fametrahana, fa misy ny hadisoana) - zava-dehibe aminao ny hafainganam-pandehan'ny fametrahana manaraka. Inona no nataontsika mba hanatanterahana ireo fitakiana ireo? Nampiasa fomba fiasa manaraka ireto izahay:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Fantatra tsara izy io, mbola tsy noforoninay mihitsy - Blue/Green deployment ity. Inona izany? Tsy maintsy manana kopia ho an'ny vondrona mpizara tsirairay izay ametrahana ny fampiharanao ianao. "Mafana" ny kopia: tsy misy fifamoivoizana ao, fa amin'ny fotoana rehetra dia azo alefa amin'ity kopia ity ity fifamoivoizana ity. Ity kopia ity dia misy ny dikan-teny teo aloha. Ary amin'ny fotoana fametrahana dia avoakanao amin'ny kopia tsy mavitrika ny code. Avy eo ianao dia manova ny ampahany amin'ny fifamoivoizana (na ny rehetra) amin'ny dikan-teny vaovao. Noho izany, mba hanovana ny fifamoivoizana amin'ny dikan-teny taloha mankany amin'ny vaovao, dia tsy maintsy manao hetsika iray ihany ianao: mila manova ny balancer amin'ny ambony ianao, manova ny lalana - avy amin'ny iray mankany amin'ny iray hafa. Tena mety izany ary mamaha ny olan'ny fifindrana haingana sy ny famerenana haingana.

    Eto ny vahaolana amin'ny fanontaniana faharoa dia ny fampihenana: ny ampahany amin'ny fifamoivoizanao ihany no azonao alefa amin'ny tsipika vaovao, amin'ny tsipika misy kaody vaovao (avelao, ohatra, 2%). Ary tsy 2% ireo 100% ireo! Raha very 100% ny fifamoivoizanao ianao noho ny fametrahana tsy nahomby, dia mampatahotra izany; raha very 2% ny fifamoivoizanao ianao, dia tsy mahafinaritra izany, saingy tsy mampatahotra izany. Ankoatr'izay, ny mpampiasa dia mety tsy hahatsikaritra izany akory, satria amin'ny toe-javatra sasany (tsy amin'ny rehetra) ny mpampiasa iray ihany, manindry ny F5, dia ho entina any amin'ny dikan-teny hafa miasa.

    Blue/Green fametrahana. tambazotra

    Na izany aza, tsy ny zava-drehetra dia tsotra toy izany "Blue/Green deployment"... Ny singa rehetra dia azo zaraina ho vondrona telo:

    • ity no frontend (pejy fandoavana izay hitan'ny mpanjifanay);
    • fototra fanodinana;
    • adaptatera miasa amin'ny rafitra fandoavam-bola (banky, MasterCard, Visa...).

    Ary misy nuance eto - ny nuance dia eo amin'ny lalana eo anelanelan'ny tsipika. Raha manova 100% amin'ny fifamoivoizana fotsiny ianao dia tsy manana ireo olana ireo. Fa raha te hanova 2% ianao dia manomboka mametraka fanontaniana: "Ahoana no hanaovana an'izany?" Ny zavatra tsotra indrindra dia mahitsy: azonao atao ny mametraka Round Robin amin'ny nginx amin'ny safidy kisendrasendra, ary manana 2% miankavia ianao, 98% miankavanana. Tsy mety foana anefa izany.

    Ohatra, amin'ny tranga misy antsika, ny mpampiasa iray dia mifandray amin'ny rafitra miaraka amin'ny fangatahana mihoatra ny iray. Ara-dalàna izany: fangatahana 2, 3, 4, 5 - mety hitovy ny rafitrao. Ary raha zava-dehibe ho anao ny fangatahan'ny mpampiasa rehetra dia tonga amin'ny andalana mitovy amin'ny nahatongavan'ny fangatahana voalohany, na (teboka faharoa) ny fangatahan'ny mpampiasa rehetra dia tonga amin'ny tsipika vaovao aorian'ny fifandimbiasana (mety ho nanomboka niasa aloha izy tamin'ny rafitra, alohan'ny switch), - dia tsy mety aminao ity fizarana kisendrasendra ity. Avy eo dia misy ireto safidy manaraka ireto:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ny safidy voalohany, ny tsotra indrindra, dia mifototra amin'ny masontsivana fototra ny mpanjifa (IP Hash). Manana IP ianao, ary zarainao amin'ny adiresy IP avy eo ankavanana miankavia. Avy eo dia hiasa ho anao ny tranga faharoa nofaritako, rehefa nitranga ny fametrahana dia afaka manomboka miasa amin'ny rafitrao ny mpampiasa, ary manomboka amin'ny fotoana fametrahana ny fangatahana rehetra dia handeha amin'ny tsipika vaovao (ho an'ilay iray ihany, lazao).

    Raha toa ka tsy mety aminao izany ary tsy maintsy mandefa fangatahana amin'ny tsipika izay nahatongavan'ny mpampiasa voalohany ny fangatahana voalohany, dia manana safidy roa ianao...
    Safidy voalohany: afaka mividy nginx+ karama ianao. Misy mekanika fivoriana Sticky, izay, amin'ny fangatahan'ny mpampiasa voalohany, dia manome fotoam-pivoriana ho an'ny mpampiasa ary mamatotra azy amin'ny iray na iray hafa any ambony. Ny fangatahan'ny mpampiasa manaraka rehetra ao anatin'ny androm-piainany dia halefa any amin'ny ambony izay nandefasana ny session.

    Tsy nety taminay izany satria efa nanana nginx mahazatra izahay. Ny fifindrana amin'ny nginx + dia tsy hoe lafo izany, fa somary nampanaintaina anay ary tsy mety. "Sticks Sessions", ohatra, dia tsy niasa taminay noho ny antony tsotra hoe "Sticks Sessions" dia tsy mamela ny zotra mifototra amin'ny "Either-or". Any ianao dia afaka mamaritra ny ataonay "Sticks Sessions", ohatra, amin'ny adiresy IP na amin'ny adiresy IP sy cookies na amin'ny postparameter, fa ny "Na-na" dia sarotra kokoa any.

    Noho izany, tonga amin'ny safidy fahefatra isika. Naka ny nginx tamin'ny steroïde izahay (openresty ity) - io ihany ny nginx, izay manohana ny fampidirana ny script farany. Afaka manoratra script farany ianao, omeo "fitsaharana misokatra", ary ity script farany ity dia hotanterahina rehefa tonga ny fangatahan'ny mpampiasa.

    Ary nanoratra izahay, raha ny marina, ny script toy izany, dia nametraka ny tenanay ho "openresti" ary ao anatin'ity script ity dia mandamina ny masontsivana 6 samihafa amin'ny concatenation "Na". Miankina amin'ny fisian'ny paramètre iray na iray hafa, fantatsika fa ny mpampiasa dia tonga amin'ny pejy iray na iray hafa, andalana iray na hafa.

    Blue/Green fametrahana. Tombontsoa sy fatiantoka

    Mazava ho azy fa azo atao ny manao izany ho tsotsotra kokoa (ampiasao ny "Sticky Sessions") mitovy amin'izany, fa manana ny nuance toy izany koa isika fa tsy ny mpampiasa ihany no mifandray aminay ao anatin'ny rafitry ny fanodinana iray amin'ny fifanakalozana iray ... Saingy mifandray aminay ihany koa ny rafitra fandoavam-bola: Aorian'ny fikarakarana ny fifampiraharahana (amin'ny fandefasana fangatahana amin'ny rafitra fandoavam-bola), dia mahazo coolback izahay.
    Ary andao atao hoe, raha ao anatin'ny faritra misy antsika isika dia afaka mandefa ny adiresy IP an'ny mpampiasa amin'ny fangatahana rehetra ary mizara ny mpampiasa mifototra amin'ny adiresy IP, dia tsy hilaza ilay "Visa" mitovy izahay: "Ry akama, orinasa retro izahay, toa izahay. mba ho iraisam-pirenena (ao amin'ny tranokala sy any Rosia)... Mba omeo anay ny adiresy IP an'ny mpampiasa amin'ny sehatra fanampiny, manara-penitra ny protocole anao”! Mazava fa tsy hanaiky izy ireo.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Noho izany, tsy nandaitra taminay izany - nanao openresty izahay. Noho izany, miaraka amin'ny routing dia nahazo zavatra toy izao izahay:

    Ny Blue/Green Deployment dia manana, araka izany, ny tombony nolazaiko sy ny lafy ratsiny.

    Fatiantoka roa:

    • mila manahy momba ny zotra ianao;
    • ny fatiantoka lehibe faharoa dia ny fandaniana.

    Mila mpizara avo roa heny ianao, mila loharanon-karena avo roa heny, mila ezaka avo roa heny noho ny fitazonana an'ity zoo manontolo ity.

    Teny an-dalana, eo amin'ireo tombony dia misy zavatra iray hafa izay tsy nolazaiko teo aloha: manana tahiry ianao raha misy fitomboan'ny entana. Raha manana fitomboana mipoaka ianao amin'ny enta-mavesatra, manana mpampiasa marobe ianao, dia ampidirinao fotsiny ny andalana faharoa amin'ny fizarana 50 ka hatramin'ny 50 - ary manana mpizara x2 avy hatrany ianao ao amin'ny cluster anao mandra-pamaha ny olana amin'ny fananana server bebe kokoa.

    Ahoana no hanaovana fametrahana haingana?

    Niresaka momba ny fomba hamahana ny olana amin'ny fampihenana sy ny famerenana haingana izahay, fa ny fanontaniana dia mitoetra: "Ahoana ny fametrahana haingana?"

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Fohy sy tsotra izany eto.

    • Tsy maintsy manana rafitra CD ianao (Fanaterana mitohy) - tsy afaka miaina tsy misy izany ianao. Raha manana mpizara iray ianao dia azonao atao ny mampiasa tanana. Manana mpizara iray arivo sy sasany eo ho eo ary tantana iray arivo sy sasany izahay, mazava ho azy - afaka mamboly departemanta mitovy habe amin'ity efitrano ity izahay mba hapetraka fotsiny.
    • Ny fametrahana dia tokony ho parallèle. Raha misesy ny fametrahanao, dia ratsy ny zava-drehetra. Ny mpizara iray dia mahazatra, hampiasa mpizara iray sy sasany ianao mandritra ny andro.
    • Averina indray, ho an'ny fanafainganana, mety tsy ilaina intsony izany. Mandritra ny fametrahana dia matetika no aorina ny tetikasa. Manana tetikasa web ianao, misy ampahany eo anoloana (manao fonosana web ianao, manangona npm - zavatra toy izany), ary ity dingana ity dia, amin'ny ankapobeny, fohy - 5 minitra, fa ireo 5 minitra ireo dia afaka. mitsikera. Izany no antony, ohatra, tsy manao an'izany izahay: nesorinay ireo 5 minitra ireo, nametraka artifacts izahay.

      Inona no atao hoe artifact? Ny artifact dia fananganana tafangona izay efa vita ny ampahany rehetra amin'ny fivoriambe. Isika dia mitahiry an'io artifact io ao amin'ny fitehirizana artifact. Indray mandeha izahay dia nampiasa fitahirizana roa toy izany - dia ny Nexus ary ankehitriny ny jFrog Artifactory) "Nexus" no nampiasanay tamin'ny voalohany satria nanomboka nampihatra an'io fomba io tamin'ny fampiharana java izahay (mety tsara izany). Avy eo dia napetrany tao ny sasany amin'ireo fampiharana voasoratra amin'ny PHP; ary tsy mety intsony ny “Nexus”, noho izany dia nisafidy ny jFrog Artefactory izahay, izay afaka manamboatra saika ny zava-drehetra. Tonga amin'ny teboka mihitsy aza izahay fa ao amin'ity tahiry artifact ity dia mitahiry ny fonosana binary manokana izay angoninay ho an'ny mpizara.

    Fitomboan'ny entana mipoaka

    Niresaka momba ny fanovana ny kinova rindrambaiko izahay. Ny zavatra manaraka ananantsika dia ny fitomboan'ny entana mipoaka. Eto, ny tiana holazaina dia ny fitomboan'ny enta-mavesatra tsy dia tsara loatra ...

    Nanoratra rafitra vaovao izahay - miompana amin'ny serivisy, lamaody, tsara tarehy, mpiasa na aiza na aiza, filaharana na aiza na aiza, asynchrony na aiza na aiza. Ary amin'ny rafitra toy izany, ny angon-drakitra dia afaka mikoriana amin'ny fikorianan'ny samy hafa. Ho an'ny varotra voalohany dia azo ampiasaina ny mpiasa voalohany, faha-1, faha-3, ho an'ny varotra faharoa - ny faha-10, faha-2, faha-4. Ary anio, andao atao hoe, amin'ny maraina dia manana fikorianan'ny angon-drakitra ianao izay mampiasa ireo mpiasa telo voalohany, ary amin'ny hariva dia miova be izany, ary ny zava-drehetra dia mampiasa ny mpiasa telo hafa.

    Ary eto dia hita fa mila manenjana ny mpiasa ianao, mila manitsy ny serivisinao ianao, fa amin'ny fotoana iray ihany koa dia misoroka ny fitombon'ny loharanon-karena.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Nofaritanay ny zavatra takinay. Tsotra ihany ireo fepetra ireo: ny fisian'ny Service discovery, ny parameterization - ny zava-drehetra dia manara-penitra amin'ny fananganana rafitra azo esorina toy izany, afa-tsy ny teboka iray - ny fihenan'ny loharanon-karena. Nolazainay fa tsy vonona ny hamongotra ny loharanon-karena mba hanafana ny rivotra ny mpizara. Naka « Consul » izahay, naka « Nomad », izay mitantana ny mpiasanay.

    Nahoana no olana ho antsika izany? Andao hihemotra kely. Manana rafitra fandoavam-bola manodidina ny 70 eo ho eo isika ankehitriny. Ny maraina dia mandalo Sberbank ny fifamoivoizana, avy eo dia nianjera ny Sberbank, ohatra, ary mifindra amin'ny rafitra fandoavam-bola hafa. Nanana mpiasa 100 izahay talohan'ny Sberbank, ary aorian'izay dia mila mampitombo be ny mpiasa 100 izahay amin'ny rafitra fandoavam-bola hafa. Ary irina ny hisian’izany rehetra izany raha tsy misy ny fandraisana anjaran’ny olombelona. Satria raha misy ny fandraisan'anjaran'ny olombelona dia tokony hisy injeniera mipetraka 24/7, izay tokony hanao izany ihany, satria ny tsy fahombiazana toy izany, rehefa rafitra 70 no ao ambadikao, dia mitranga matetika.

    Noho izany, nijery ny Nomad izahay, izay manana IP misokatra, ary nanoratra ny anay manokana, Scale-Nomad - ScaleNo, izay manao izao manaraka izao: manara-maso ny fitomboan'ny filaharana ary mampihena na mampitombo ny isan'ny mpiasa arakaraka ny dinamika. ny filaharana. Rehefa nanao izany izahay dia nieritreritra hoe: “Angamba azonay hanokatra loharano izany?” Dia nijery azy izy ireo - tsotra toy ny kopecks roa.

    Hatreto dia tsy mbola nanokatra izany izahay, fa raha tampoka taorian'ny tatitra, rehefa tsapanao fa mila zavatra toy izany ianao, dia mila izany, ny contacts dia ao amin'ny slide farany - azafady manorata amiko. Raha misy olona 3-5 fara fahakeliny dia izahay no manohana azy.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ahoana ny fandehany? Andeha hojerentsika! Mijery mialoha: eo amin'ny ilany havia dia misy ampahany amin'ny fanaraha-maso ataonay: andalana iray ity, eo ambony ny fotoana fikarakarana hetsika, eo afovoany ny isan'ny varotra, eo ambany ny isan'ny mpiasa.

    Raha mijery ianao dia misy glitch amin'ity sary ity. Ao amin'ny tabilao ambony dia nianjera tao anatin'ny 45 segondra ny iray tamin'ireo tabilao - nidina ny iray tamin'ireo rafitra fandoavam-bola. Avy hatrany dia niditra tao anatin'ny 2 minitra ny fifamoivoizana ary nanomboka nitombo ny filaharana tamin'ny rafitra fandoavam-bola hafa, izay tsy nisy mpiasa (tsy nampiasa loharanon-karena izahay - ny mifanohitra amin'izany, narianay tsara ny loharano). Tsy te-hanafana izahay - nisy isa kely indrindra, mpiasa 5-10 teo ho eo, saingy tsy nahazaka izy ireo.

    Ny tabilao farany dia mampiseho "hombo", izay midika fotsiny hoe "Skaleno" dia nampitombo avo roa heny io vola io. Ary avy eo, rehefa nihena kely ny grafika dia nahenany kely - niova ho azy ny isan'ny mpiasa. Izany no fomba fiasan'ity zavatra ity. Niresaka momba ny teboka 2 izahay - "Ahoana ny fomba hanalana haingana ny antony."

    Fanaraha-maso. Ahoana no hamantarana haingana ny olana?

    Ankehitriny ny teboka voalohany dia ny "Ahoana no hamantarana haingana ny olana?" Fanaraha-maso! Tsy maintsy takatsika haingana ny zavatra sasany. Inona avy ireo zavatra tokony ho takatsika haingana?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Zavatra telo!

    • Tsy maintsy takatsika sy takatsika haingana ny fanatanterahana ny loharanon-karenantsika manokana.
    • Tsy maintsy mahatakatra haingana ny tsy fahombiazana isika ary manara-maso ny fahombiazan'ny rafitra izay ivelany amintsika.
    • Ny teboka fahatelo dia ny famantarana ny fahadisoana lojika. Izany dia rehefa miasa ho anao ny rafitra, ny zava-drehetra dia ara-dalàna araka ny tondro rehetra, fa misy tsy mety.

    Mety tsy hilaza aminao zavatra mahafinaritra eto aho. Ho Kapiteny Obvious aho. Nitady izay teny an-tsena izahay. Manana "zoo mahafinaritra" izahay. Toy izao ny karazana zoo ananantsika:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Mampiasa Zabbix izahay hanaraha-maso ny fitaovana, hanaraha-maso ireo tondro lehibe amin'ny mpizara. Mampiasa Okmeter izahay ho an'ny tahiry. Mampiasa "Grafana" sy "Prometheus" izahay ho an'ny tondro hafa rehetra tsy mifanaraka amin'ny roa voalohany, ny sasany misy "Grafana" sy "Prometheus", ary ny sasany misy "Grafana" misy "Influx" sy Telegraf.

    Herintaona lasa izay dia te hampiasa New Relic izahay. Zavatra mahafinaritra, afaka manao ny zava-drehetra. Saingy araka izay vitany ny zavatra rehetra dia lafo be izy. Rehefa nitombo ho isan'ny mpizara 1,5 arivo izahay, dia nisy mpivarotra tonga nanatona anay ary nilaza hoe: "Andao hanao fifanarahana amin'ny taona manaraka." Nijery ny vidiny izahay ary nilaza fa tsia, tsy hanao izany izahay. Amin'izao fotoana izao dia miala amin'ny New Relic isika, manana mpizara 15 eo ho eo eo ambany fanaraha-mason'ny New Relic. Ny vidiny dia nivadika ho bibidia tanteraka.

    Ary misy fitaovana iray nampiharinay ny tenanay - Debugger izany. Nantsoinay hoe “Bagger” ilay izy tamin’ny voalohany, nefa nandalo ny mpampianatra anglisy iray, nihomehy mafy, ary nantsoiny hoe “Debagger” ilay izy. Inona izany? Izy io dia fitaovana iray izay, raha ny marina, ao anatin'ny 15-30 segondra isaky ny singa tsirairay, toy ny "boaty mainty" amin'ny rafitra, dia manao fitsapana amin'ny zava-bita amin'ny ankapobeny.

    Ohatra, raha misy pejy ivelany (pejy fandoavam-bola) dia sokany fotsiny ary mijery ny tokony ho izy. Raha eo am-pikarakarana izany dia mandefa "transaction" andrana izy ary manao izay hahatongavan'io "transaction" io. Raha mifandray amin'ny rafitra fandoavam-bola izany, dia mandefa fangatahana fitsapana mifanaraka amin'izany izahay, any amin'izay azonay atao, ary mahita fa mety aminay ny zava-drehetra.

    Inona no tondro manan-danja amin'ny fanaraha-maso?

    Inona no tena arahintsika? Inona no famantarana manan-danja amintsika?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    • Ny fotoana famaliana / RPS eo anoloana dia famantarana tena manan-danja. Mamaly avy hatrany izy fa misy tsy mety aminao.
    • Ny isan'ny hafatra voarindra amin'ny filaharana rehetra.
    • Isan'ny mpiasa.
    • Metrika marina fototra.

    Ny teboka farany dia ny "orinasa", "orinasa". Raha te hanara-maso ny zavatra mitovy ianao dia mila mamaritra metrika iray na roa izay tondro lehibe ho anao. Ny metric dia ny throughput (io ny tahan'ny isan'ny varotra mahomby amin'ny totalin'ny varotra). Raha misy zavatra miova ao anatin'ny 5-10-15 minitra dia midika izany fa manana olana isika (raha miova tanteraka izany).

    Ny endrik'izany ho antsika dia ohatra iray amin'ny iray amin'ireo takelakay:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Eo amin'ny ilany havia dia misy grafika 6, izany dia araka ny andalana - ny isan'ny mpiasa sy ny isan'ny hafatra ao amin'ny filaharana. Eo amin'ny ilany havanana - RPS, RTS. Ity ambany ity ny mari-pamantarana "orinasa" mitovy. Ary ao amin'ny metrika "orinasa" dia hitantsika avy hatrany fa nisy zavatra tsy nety tamin'ireo kisary roa afovoany ... Rafitra iray hafa izay mijoro ao aorianay izay lavo fotsiny ity.

    Ny zavatra faharoa tsy maintsy nataonay dia ny fanaraha-maso ny fianjeran'ny rafitra fandoavam-bola ivelany. Eto izahay dia naka OpenTracing - mekanika, fenitra, paradigma izay ahafahanao manara-maso ny rafitra mizara; ary novana kely. Ny paradigma OpenTracing mahazatra dia milaza fa manangana trace ho an'ny fangatahana tsirairay. Tsy nila izany izahay, ary nofonosinay tamin'ny famintinana, tsipika fanangonana. Nanamboatra fitaovana ahafahantsika manara-maso ny hafainganam-pandehan'ny rafitra ao aorianay izahay.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ny tabilao dia mampiseho antsika fa ny iray amin'ireo rafitra fandoavam-bola dia nanomboka namaly tao anatin'ny 3 segondra - manana olana isika. Ankoatr'izay, ity zavatra ity dia hihetsika rehefa manomboka ny olana, amin'ny elanelan'ny 20-30 segondra.

    Ary ny kilasy fahatelo amin'ny fahadisoana fanaraha-maso izay misy dia ny fanaraha-maso lojika.

    Raha ny marina, tsy fantatro izay hosoritana amin'ity slide ity, satria efa ela izahay no nitady zavatra mety ho anay teny an-tsena. Tsy nahita na inona na inona izahay, ka voatery nanao izany izahay.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Inona no atao hoe fanaraha-maso lojika? Alao sary an-tsaina hoe: manao ny tenanao ho rafitra ianao (ohatra, clone Tinder); nataonao, natombokao. Ny mpitantana mahomby Vasya Pupkin dia nametraka izany tamin'ny findainy, nahita tovovavy iray teo, tia azy ... ary ny toy izany dia tsy mandeha any amin'ny tovovavy - ny toy izany dia mankany amin'ny mpiambina Mikhalych avy amin'ny foibem-barotra iray ihany. Nidina tany ambany ilay mpitantana, ary avy eo dia nanontany tena hoe: “Nahoana ity mpiambina Mikhalych ity no mitsiky aminy mahafinaritra?”

    Amin'ny toe-javatra toy izany ... Aminay dia toa hafa kely ity toe-javatra ity, satria (nanoratra aho) fatiantoka laza izay mitarika ankolaka amin'ny fatiantoka ara-bola. Ny toe-javatra misy antsika dia ny mifanohitra amin'izany: mety hiharan'ny fatiantoka ara-bola mivantana isika - ohatra, raha toa ka nahomby ny fifampiraharahana, saingy tsy nahomby izany (na ny mifamadika amin'izany). Tsy maintsy nanoratra ny fitaovako manokana aho izay manara-maso ny isan'ny fifampiraharahana mahomby amin'ny fotoana mampiasa tondro fandraharahana. Tsy nahita na inona na inona teny an-tsena! Izany indrindra no hevitra tiako hampitaina. Tsy misy na inona na inona eny an-tsena hamahana ity karazana olana ity.

    Izany dia mikasika ny fomba hamantarana haingana ny olana.

    Ahoana no hamaritana ny anton'ny fametrahana

    Ny vondrona fahatelo amin'ny olana vahantsika dia aorian'ny hamantarana ny olana, aorian'ny fanalana azy, dia tsara ny mahatakatra ny anton'ny fampandrosoana, ny fitiliana ary ny manao zavatra momba izany. Araka izany, mila manadihady, mila mampiakatra ny hazo.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Raha miresaka momba ny logs isika (ny antony lehibe dia ny logs), ny ankamaroan'ny logs dia ao amin'ny ELK Stack - saika mitovy daholo ny rehetra. Ho an'ny sasany, mety tsy ao amin'ny ELK izany, fa raha manoratra logs amin'ny gigabytes ianao, dia ho tonga any amin'ny ELK ianao na ho ela na ho haingana. Manoratra azy ireo amin'ny terabytes izahay.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Misy olana eto. Namboarinay, nanitsy ny fahadisoana ho an'ny mpampiasa, nanomboka nandavaka izay tao, niakatra tao Kibana, niditra tao ny id transaction ary nahazo lamban-tongotra toy izao (mampiseho betsaka). Ary tsy misy mazava mihitsy amin'ity lamban-tongotra ity. Nahoana? Eny, satria tsy mazava izay ampahany amin'ny mpiasa, inona no ampahany amin'ny singa. Ary tamin'io fotoana io dia tsikaritray fa mila fanaraha-maso izahay - ilay OpenTracing izay noresahiko.

    Nieritreritra izany izahay herintaona lasa izay, nitodika tany amin'ny tsena, ary nisy fitaovana roa tao - "Zipkin" sy "Jaeger". "Jager" raha ny marina dia mpandova ideolojika, mpandimby ideolojika an'i "Zipkin". Ny zava-drehetra dia tsara ao amin'ny Zipkin, afa-tsy ny tsy mahafantatra ny fomba hanangonana, tsy hainy ny mampiditra ny logs ao amin'ny trace, ny fotoana ihany. Ary "Jager" dia nanohana izany.

    Nijery ny "Jager" izahay: azonao atao ny mampiasa fitaovana, azonao atao ny manoratra amin'ny Api (ny fenitra Api ho an'ny PHP tamin'izany fotoana izany, na izany aza, dia tsy nankatoavina - herintaona lasa izay, fa ankehitriny dia efa nankatoavina), saingy misy tsy nisy mpanjifa mihitsy. "Eny," hoy izahay nieritreritra, ary nanoratra ny mpanjifanay manokana. Inona no azonay? Toy izao ny endriny:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ao amin'ny Jaeger, ny velarana dia noforonina ho an'ny hafatra tsirairay. Izany hoe, rehefa manokatra ny rafitra ny mpampiasa iray dia mahita sakana iray na roa isaky ny fangatahana miditra (1-2-3 - ny isan'ny fangatahana miditra avy amin'ny mpampiasa, ny isan'ny sakana). Mba hanamora ny mpampiasa dia nampiana marika tamin'ny diary sy ny dian'ny fotoana. Noho izany, raha misy hadisoana, ny fampiharana anay dia hanamarika ny log miaraka amin'ny marika Error mety. Azonao atao ny manivana amin'ny tenifototra Error ary ny elanelana misy an'io sakana misy hadisoana io ihany no haseho. Toy izao ny endriny raha manitatra ny velarana isika:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ao anatin'ny elanelam-potoana dia misy andian-tsoratra. Amin'ity tranga ity, ireo dia telo fitsapana, ary ny fahatelo dia milaza amintsika fa nisy fahadisoana. Amin'izay fotoana izay ihany koa no ahitantsika ny dian'ny fotoana: manana mari-potoana eo amin'ny tampony isika, ary hitantsika hoe amin'ny fotoana inona no voarakitra an-tsoratra io na io log io.

    Araka izany, dia nandeha tsara ny zava-drehetra taminay. Nanoratra ny fanitaranay manokana izahay ary nosokafanay tamin'ny loharano izany. Raha te-hiasa amin'ny tracing ianao, raha te hiara-hiasa amin'ny "Jager" amin'ny PHP ianao, dia misy ny fanitarana anay, tongasoa ny fampiasana, araka ny filazan'izy ireo:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Manana an'ity fanitarana ity izahay - mpanjifa ho an'ny OpenTracing Api, natao ho fanitarana php, izany hoe mila manangona azy ianao ary mametraka azy amin'ny rafitra. Herintaona lasa izay dia tsy nisy hafa. Ankehitriny dia misy mpanjifa hafa izay toy ny singa. Miankina aminao izany: na manompa ireo singa amin'ny mpamoron-kira ianao, na mampiasa fanitarana anao.

    Fenitry ny orinasa

    Niresaka momba ny didy telo izahay. Ny didy fahefatra dia ny manara-penitra ny fomba fiasa. Momba inona ity? Momba ity:

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Nahoana no misy ny teny hoe "orinasa" eto? Tsy hoe satria orinasa lehibe na birao izahay, tsia! Te hampiasa ny teny hoe "orinasa" aho eto amin'ny teny manodidina fa ny orinasa tsirairay, ny vokatra tsirairay dia tokony hanana ny fenitra manokana, anisan'izany ianao. Inona no fenitra ananantsika?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    • Manana fitsipika fametrahana izahay. Tsy mandeha na aiza na aiza isika raha tsy misy azy, tsy afaka. Manodidina ny in-60 isan-kerinandro izahay no miparitaka, izany hoe miparitaka saika tsy tapaka. Amin'izay fotoana izay ihany koa dia manana, ohatra, ao amin'ny fitsipiky ny fametrahana ny fady amin'ny fanaparitahana ny zoma isika - amin'ny ankapobeny dia tsy mametraka izany isika.
    • Mila antontan-taratasy izahay. Tsy misy na dia singa vaovao iray aza miditra amin'ny famokarana raha tsy misy ny antontan-taratasy momba izany, na dia teraka tao ambanin'ny penin'ny RnD manokana aza. Mitaky torolalana amin'ny fametrahana azy ireo izahay, sarintany fanaraha-maso ary famaritana manjavozavo (tsara araka izay azon'ny mpandrindra manoratra) momba ny fomba fiasan'ity singa ity, ny fomba hamahana azy.
    • Tsy ny fototry ny olana no vahantsika, fa ny olana - izay efa nolazaiko. Zava-dehibe ho antsika ny miaro ny mpampiasa amin'ny olana.
    • Manana fahazoan-dàlana izahay. Ohatra, tsy heverinay ny fotoana fitsaharana raha very 2% ny fifamoivoizana tao anatin'ny roa minitra. Amin'ny ankapobeny dia tsy tafiditra ao anatin'ny antontan'isa eto amintsika izany. Raha mihoatra ny isan-jato izany na vonjimaika dia efa manisa isika.
    • Ary manoratra postmortems foana izahay. Na inona na inona mitranga amintsika, ny toe-javatra rehetra izay misy olona manao fihetsika tsy ara-dalàna amin'ny famokarana dia ho hita taratra amin'ny fizahana ny maty. Ny postmortem dia antontan-taratasy izay hanoratanao ny zava-nitranga taminao, ny fotoana amin'ny antsipiriany, ny zavatra nataonao hanitsiana izany ary (tokony tsy maintsy atao izany!) izay hataonao mba hisorohana izany tsy hitranga amin'ny ho avy. Izany dia tsy maintsy atao ary ilaina amin'ny fanadihadiana manaraka.

    Inona no atao hoe fotoana fitsaharana?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Inona no nahatonga izany rehetra izany?

    Izany dia nitarika ny zava-misy fa (nanana olana sasany momba ny fahamarinan-toerana izahay, tsy mety amin'ny mpanjifa na aminay izany) nandritra ny 6 volana lasa izay dia 99,97 ny mari-pamantarana ny fahamarinan-toeranay. Afaka milaza isika fa tsy dia be loatra izany. Eny, manana zavatra hiezahantsika isika. Amin'ity mari-pamantarana ity, eo amin'ny antsasany eo ho eo ny fitoniana, toy ny hoe tsy antsika, fa ny firewall fampiharana amin'ny tranonkalantsika, izay mijoro eo anoloantsika ary ampiasaina ho serivisy, saingy tsy miraharaha izany ny mpanjifa.

    Nianatra natory izahay tamin’ny alina. Farany! Enim-bolana lasa izay dia tsy afaka izahay. Ary amin'ity fanamarihana ity miaraka amin'ny valiny dia tiako ny hanao fanamarihana iray. Omaly hariva dia nisy tatitra mahafinaritra momba ny rafitra fanaraha-maso ho an'ny reactor nokleary. Raha maheno ahy ny olona nanoratra ity rafitra ity, azafady mba hadino ny nolazaiko momba ny "2% dia tsy fotoana fitsaharana." Ho anao, ny 2% dia ny fotoana fitsaharana, na dia mandritra ny roa minitra aza!

    Izay ihany! Ny fanontanianao.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Momba ny balancers sy ny fifindran'ny database

    Fanontanian'ny mpanatrika (manaraka izany - B): - Salama daholo. Misaotra indrindra tamin'ny tatitra admin toy izany! Fanontaniana fohy momba ny mpifandanjanao. Nolazainao fa manana WAF ianao, izany hoe, araka ny fahazoako azy, mampiasa karazana balancer ivelany ianao ...

    EK: – Tsia, mampiasa ny serivisinay ho mpifandanja izahay. Amin'ity tranga ity, WAF dia fitaovana fiarovana DDoS manokana ho antsika.

    IN: – Afaka milaza teny vitsivitsy momba ny balancers ve ianao?

    EK: – Araka ny efa nolazaiko, vondrona mpizara ao amin'ny openresty ity. Manana groupe reserve 5 isika izao izay mamaly manokana... izany hoe server iray izay mandeha amin'ny openresty fotsiny, fa ny fifamoivoizana ihany no proxy. Noho izany, mba hahatakarana ny habetsaky ny tazoninay: manana fifamoivoizana tsy tapaka amin'ny megabits an-jatony izahay. Miatrika izy ireo, mahatsapa tsara izy ireo, tsy mitebiteby akory.

    IN: – Fanontaniana tsotra ihany koa. Ity ny fametrahana manga/maitso. Inona no ataonao, ohatra, amin'ny fifindra-monina angona?

    EK: - Fanontaniana tsara! Jereo, amin'ny fametrahana manga/maitso dia manana filaharana misaraka isika isaky ny andalana. Izany hoe, raha miresaka filaharana hetsika izay ampitaina avy amin'ny mpiasa mankany amin'ny mpiasa isika, dia misy filaharana misaraka ho an'ny tsipika manga sy ny tsipika maitso. Raha miresaka momba ny angon-drakitra manokana isika, dia ninia nanery azy araka izay azonay natao izahay, nanetsika ny zava-drehetra tamin'ny filaharana; ao amin'ny angon-drakitra dia mitahiry antontam-barotra fotsiny izahay. Ary mitovy amin'ny andalana rehetra ny antontam-pandraharahanay. Miaraka amin'ny angon-drakitra amin'ity toe-javatra ity: tsy mizara azy ho manga sy maitso izahay, satria ny dikan-teny roa amin'ny code dia tsy maintsy mahafantatra ny zava-mitranga amin'ny fifampiraharahana.

    Ry namako, manana loka kely ihany koa aho handrisika anareo - boky. Ary tokony homena loka aho noho ny fanontaniana tsara indrindra.

    IN: - Salama. Misaotra tamin'ny tatitra. Ny fanontaniana dia ity. Manara-maso ny fandoavam-bola ianao, manara-maso ny serivisy ifandraisanao ... Ahoana anefa ny fanaraha-maso mba hahatongavan'ny olona iray ao amin'ny pejin'ny fandoavanao vola, nandoa vola, ary ny tetikasa dia nanome vola azy? Izany hoe, ahoana no hanaraha-maso fa misy ilay marchant ary nanaiky ny antsonao?

    EK: - Ny "Mpivarotra" ho antsika amin'ity tranga ity dia serivisy ivelany mitovy amin'ny rafitra fandoavam-bola. Manara-maso ny hafainganam-pandehan'ny mpivarotra izahay.

    Momba ny encryption database

    IN: - Salama. Manana fanontaniana mifandray kely aho. Manana angon-drakitra saro-pady PCI DSS ianao. Te-hahafantatra aho hoe ahoana no fitahirizanao ny PAN amin'ny filaharana mila afindranao? Mampiasa encryption ve ianao? Ary izany dia mitarika amin'ny fanontaniana faharoa: araka ny PCI DSS, ilaina ny mamerina tsindraindray ny angon-drakitra raha misy fiovana (fandroahana ny mpitantana, sns.) - inona no mitranga amin'ny fidirana amin'ity tranga ity?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    EK: - Fanontaniana mahafinaritra! Voalohany, tsy mitahiry PAN amin'ny filaharana izahay. Tsy manan-jo hitahiry PAN na aiza na aiza amin'ny endrika mazava, amin'ny ankapobeny, ka mampiasa serivisy manokana (antsoinay hoe "Kademon") - serivisy iray izay manao zavatra iray ihany: mandray hafatra ho fampidirana ary mandefa. mandefa hafatra miafina. Ary mitahiry ny zava-drehetra miaraka amin'ity hafatra miafina ity izahay. Noho izany, ny halavan'ny fanalahidy dia ambanin'ny kilobyte, ka izany dia matotra sy azo itokisana.

    IN: – Mila 2 kilobytes ve ianao izao?

    EK: – Toa vao omaly dia 256... Eny, aiza koa?!

    Araka izany, ity no voalohany. Ary faharoa, ny vahaolana misy, dia manohana ny fomba re-encryption - misy roa tsiroaroa ny "keks" (keys), izay manome "decks" izay encryption (key no fanalahidy, dek dia avy amin'ny fanalahidy izay encryption) . Ary raha atomboka ny fomba fiasa (mitranga tsy tapaka izany, manomboka amin'ny 3 volana ka hatramin'ny ± sasany), dia misintona "mofomamy" vaovao roa izahay, ary averinay indray ny angon-drakitra. Manana tolotra mitokana izahay izay mandrovitra ny angon-drakitra rehetra ary manodina azy amin'ny fomba vaovao; Ny angon-drakitra dia voatahiry eo akaikin'ny famantarana ny fanalahidy izay anaovana encryption. Arak'izany, raha vantany vao miafina amin'ny fanalahidy vaovao ny angon-drakitra dia mamafa ny fanalahidy taloha.

    Indraindray mila atao amin'ny tanana ny fandoavam-bola...

    IN: - Izany hoe, raha tonga ny famerenam-bola ho an'ny fandidiana sasany, mbola hanala azy amin'ny fanalahidy taloha ve ianao?

    EK: - Eny.

    IN: – Dia fanontaniana kely iray hafa. Rehefa misy karazana tsy fahombiazana, fianjerana, na trangan-javatra mitranga, dia ilaina ny manosika ny fifampiraharahana amin'ny tanana. Misy toe-javatra toy izany.

    EK: - Eny, indraindray.

    IN: – Avy aiza no ahazoanao izany angona izany? Sa ianao mihitsy no mankany amin'io toerana fitahirizana io?

    EK: – Tsia, mazava ho azy, manana karazana rafitra back-office izay misy interface tsara ho fanohanana antsika. Raha tsy fantatsika hoe inona ny sata misy ny fifampiraharahana (ohatra, mandra-pamoakan'ny rafitra fandoavam-bola miaraka amin'ny fe-potoana), dia tsy fantatsika ny priori, izany hoe, manendry ny sata farany amin'ny fahatokisana tanteraka. Amin'ity tranga ity, omenay sata manokana ho an'ny fanodinana manual ny varotra. Ny maraina, ny ampitso, raha vantany vao mahazo vaovao ny fanohanana fa mijanona ao amin'ny rafitra fandoavam-bola ny fifampiraharahana toy izany sy izany, dia manodina azy ireo amin'ny tanana amin'ity interface ity.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    IN: – Manana fanontaniana roa aho. Ny iray amin'izy ireo dia ny fitohizan'ny faritra PCI DSS: ahoana ny fanoratanao ny circuit-ny? Ity fanontaniana ity dia satria ny mpamorona dia afaka nametraka na inona na inona tao anaty logs! Fanontaniana faharoa: ahoana ny fametrahanao hotfixes? Safidy iray ny fampiasana tànana amin'ny angon-drakitra, saingy mety misy fanamboarana mafana maimaim-poana - inona no fomba fiasa ao? Ary ny fanontaniana fahatelo dia mety mifandraika amin'ny RTO, RPO. Ny fahafahanao dia 99,97, efa ho efatra sivy, fa raha ny fahazoako azy dia manana foibe data faharoa ianao, foibe data fahatelo, ary foibe data fahadimy ... Ahoana ny fomba hampifanaraka azy ireo, hamerina azy ireo ary ny zavatra hafa rehetra?

    EK: - Andeha isika hanomboka amin'ny voalohany. Moa ve ny fanontaniana voalohany momba ny logs? Rehefa manoratra diary isika dia manana sosona manarona ny angona saropady rehetra. Mijery ny saron-tava sy ny saha fanampiny izy. Arak'izany dia mivoaka miaraka amin'ny angon-drakitra efa voasaron-tava sy circuit PCI DSS ny logs. Io no iray amin'ireo asa mahazatra nomena ny sampana fitiliana. Takian'izy ireo ny manamarina ny asa tsirairay, ao anatin'izany ny diary nosoratany, ary izany no iray amin'ireo asa mahazatra mandritra ny famerenana ny code, mba hifehezana fa tsy nanoratra zavatra ny mpamorona. Ny fanaraha-maso manaraka an'izany dia atao tsy tapaka ataon'ny sampan-draharahan'ny fiarovana ny fampahalalam-baovao tokony ho indray mandeha isan-kerinandro: ny logs ho an'ny andro farany dia alaina an-tsoratra ary atao amin'ny alàlan'ny scanner-analyzer manokana avy amin'ireo mpizara fitsapana mba hanamarinana ny zava-drehetra.
    Momba ny fanamboarana mafana. Tafiditra ao anatin'ny lalànan'ny fametrahanay izany. Manana fehezanteny misaraka momba ny hotfix izahay. Mino izahay fa mametraka hotfix mandritra ny famantaranandro rehefa ilaina izany. Raha vantany vao tafangona ny dikan-teny, raha vao mandeha izy, raha vantany vao manana artifact isika, dia manana mpitantana ny rafitra miasa amin'ny antso avy amin'ny fanohanana, ary mametraka izany amin'ny fotoana ilàna izany.

    Eo amin'ny "efatra sivy". Ny tarehimarika ananantsika amin'izao fotoana izao dia tena tratra, ary niezaka nanao izany tamin'ny foibe data hafa izahay. Amin'izao fotoana izao dia manana ivom-pamokarana faharoa izahay, ary manomboka mandeha eo anelanelan'izy ireo izahay, ary ny olana momba ny famerenan'ny foibem-pifandraisana dia tena fanontaniana tsy misy dikany. Niezaka namaha izany izahay tamin'ny fampiasana fomba samihafa: nanandrana nampiasa "Tarantula" mitovy izahay - tsy nahomby taminay izany, holazaiko aminao avy hatrany. Izany no nahatonga anay nanafatra ny "sens" tamin'ny tanana. Raha ny marina, ny fampiharana tsirairay ao amin'ny rafitra misy antsika dia mitantana ny fampifanarahana "fanovana - vita" ilaina eo amin'ny ivontoerana data.

    IN: - Raha nahazo ny faharoa ianao, nahoana no tsy nahazo ny fahatelo? Satria mbola tsy misy manana atidoha misaraka...

    EK: – Saingy tsy manana atidoha Mizara isika. Noho ny zava-misy fa ny fampiharana tsirairay dia entin'ny multimaster, dia tsy mampaninona anay izay ivon'ny fangatahana. Vonona izahay amin'ny zava-misy fa raha toa ka tsy mahomby ny iray amin'ireo foibe angonay (miantehitra amin'izany izahay) ary eo afovoan'ny fangatahan'ny mpampiasa dia mifindra any amin'ny foibe data faharoa, dia vonona ny hamoy ity mpampiasa ity izahay; fa ireo dia ho singa, singa tanteraka.

    IN: - Salama. Misaotra tamin'ny tatitra. Niresaka momba ny debugger-nao ianao, izay manao fifampiraharahana fitsapana sasany amin'ny famokarana. Fa lazao anay ny momba ny fifanakalozana fitsapana! Lalina ve izany?

    EK: - Mandeha amin'ny tsingerina feno amin'ny singa manontolo izany. Ho an'ny singa iray dia tsy misy fahasamihafana eo amin'ny fifanakalozana fitsapana sy ny varotra famokarana. Saingy amin'ny fomba fijery lozisialy dia tetikasa misaraka fotsiny ao amin'ny rafitra izany, izay tsy misy afa-tsy ny fifampiraharahana fitsapana.

    IN: -Aiza no tapahinao? Eto i Core nandefa...

    EK: – Ao ambadiky ny “Kor” izahay amin'ity tranga ity ho an'ny fifampiraharahana andrana... Manana zavatra toy ny routing izahay: "Kor" mahalala izay rafitra fandoavam-bola halefa - alefanay any amin'ny rafitra fandoavam-bola sandoka, izay manome famantarana http fotsiny ary izay ihany.

    IN: – Lazao ahy, azafady, nosoratana tamin'ny monolith lehibe iray ve ny fampiharanao, sa nanapaka azy ho tolotra sasany na microservices mihitsy aza?

    EK: - Tsy manana monolith izahay, mazava ho azy, manana fampiharana miompana amin'ny serivisy izahay. Mivazivazy izahay fa vita amin'ny monolith ny serivisy - tena lehibe tokoa izy ireo. Sarotra ny miantso azy io ho microservices, fa ireo dia serivisy izay iasan'ny mpiasan'ny milina zaraina.

    Raha simba ny serivisy ao amin'ny server...

    IN: – Dia manana ny fanontaniana manaraka aho. Na dia monolith aza izany, dia mbola nilaza ianao fa manana maro amin'ireo mpizara eo noho eo ianao, izy rehetra dia manodina angon-drakitra amin'ny ankapobeny, ary ny fanontaniana dia hoe: "Raha misy marimaritra iraisana amin'ny iray amin'ireo mpizara eo noho eo na fampiharana, misy rohy tsirairay. , manana karazana fanaraha-maso fidirana ve izy ireo? Iza amin'izy ireo no afaka manao inona? Iza no tokony hifandraisako amin'ny fampahalalana inona?

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    EK: - Eny, azo antoka. Ny fepetra fiarovana dia tena matotra. Voalohany, manana hetsika angon-drakitra misokatra isika, ary ireo seranana ihany no andrasantsika mialoha ny fivezivezen'ny fifamoivoizana. Raha misy singa iray mifandray amin'ny angon-drakitra (milaza hoe, miaraka amin'i Muskul) amin'ny alàlan'ny 5-4-3-2, 5-4-3-2 ihany no misokatra ho azy, ary tsy misy seranana hafa sy torolalana momba ny fifamoivoizana hafa. Ankoatra izany, mila mahatakatra ianao fa ao amin'ny famokarana dia misy 10 eo ho eo ny tadivavarana fiarovana. Ary na dia nisy marimaritra iraisana aza ny fampiharana, sanatria, tsy ho afaka miditra amin'ny console fitantanana server ny mpanafika, satria faritra fiarovana amin'ny tambajotra hafa ity.

    IN: – Ary amin'ity toe-javatra ity, ny mahaliana ahy kokoa dia ny manana fifanarahana sasany amin'ny serivisy ianao - inona no azon'izy ireo atao, amin'ny alàlan'ny "hetsika" azony hifandraisana... andalana, lisitry ny "hetsika" amin'ny andaniny. Toa tsy mitodika any amin'ny hafa amin'ny toe-javatra mahazatra izy ireo, ary manana andraikitra hafa izy ireo. Raha misy mandefitra ny iray amin'izy ireo, mety hanakorontana ny "hetsika" amin'io serivisy io ve?..

    EK: - Azoko. Raha amin'ny toe-javatra mahazatra amin'ny fifandraisana amin'ny mpizara hafa dia navela mihitsy, dia eny. Araka ny fifanarahana SLA, tsy manara-maso izahay fa ny "hetsika" 3 voalohany ihany no mahazo anao, ary tsy mahazo alalana amin'ny "hetsika" 4 ianao. Mety ho tafahoatra ho antsika izany, satria efa manana rafitra fiarovana ambaratonga 4 isika, raha ny fitsipika, ho an'ny circuit. Aleontsika miaro tena amin'ny contours, fa tsy amin'ny haavon'ny atiny.

    Ahoana ny fiasan'ny Visa, MasterCard ary Sberbank

    IN: – Te-hanazava hevitra iray momba ny famindrana mpampiasa iray avy amin'ny foibe data iray mankany amin'ny iray hafa aho. Raha ny fahafantarako azy, Visa sy MasterCard dia miasa amin'ny alàlan'ny protocol 8583 binary synchronous, ary misy fifangaroana ao. Ary tiako ho fantatra, izao no tiana holazaina - ny hoe "Visa" sy "MasterCard" mivantana ve izany sa alohan'ny rafitra fandoavam-bola, alohan'ny fanodinana?

    EK: - Izany dia alohan'ny fangaro. Ny fangaronay dia hita ao amin'ny foibe data mitovy.

    IN: - Raha lazaina amin'ny teny manodidina, manana teboka iray ve ianao?

    EK: – “Visa” sy “MasterCard” - eny. Satria fotsiny ny Visa sy MasterCard dia mitaky fampiasam-bola matotra amin'ny fotodrafitrasa mba hamaranana fifanarahana misaraka mba hahazoana fangaro faharoa, ohatra. Izy ireo dia voatokana ao anatin'ny foibe data iray, fa raha sanatria, raha sanatria, maty ny foiben'ny data misy antsika, izay misy fifangaroana amin'ny fifandraisana amin'ny Visa sy MasterCard, dia hanana fifandraisana amin'ny Visa sy MasterCard very isika ...

    IN: – Ahoana no ahafahana mitahiry azy ireo? Fantatro fa ny Visa dia mamela fifandraisana tokana amin'ny foto-kevitra!

    EK: – Izy ireo ihany no mamatsy ny fitaovana. Na izany na tsy izany, nahazo fitaovana tsy ampy tao anatiny izahay.

    IN: – Dia avy amin'ny Connects Orange ve ny fijoroana?..

    EK: - Eny.

    IN: - Ahoana anefa ny amin'ity tranga ity: raha tsy hita intsony ny ivon-toeranao, ahoana no ahafahanao manohy mampiasa azy? Sa mijanona fotsiny ny fifamoivoizana?

    EK: - Tsia. Amin'ity tranga ity, hamindra fotsiny ny fifamoivoizana amin'ny fantsona hafa izahay, izay, mazava ho azy, dia ho lafo kokoa ho antsika ary lafo kokoa ho an'ny mpanjifantsika. Fa ny fifamoivoizana dia tsy handeha amin'ny alalan'ny fifandraisana mivantana amin'ny Visa, MasterCard, fa amin'ny alalan'ny fepetra Sberbank (tena tafahoatra).

    Miala tsiny indrindra aho raha nanafintohina ny mpiasan'ny Sberbank. Fa araka ny antontan'isa, eo amin'ny banky Rosiana, Sberbank mianjera matetika. Tsy misy iray volana tsy misy zavatra latsaka ao amin'ny Sberbank.

    HighLoad++, Evgeniy Kuzovlev (EcommPay IT): inona no tokony hatao rehefa mitentina $100000

    Ny doka sasany 🙂

    Misaotra anao nijanona niaraka taminay. Tianao ve ny lahatsoratray? Te-hahita votoaty mahaliana kokoa? Tohano izahay amin'ny fametrahana baiko na fanolorana amin'ny namana, cloud VPS ho an'ny mpamorona manomboka amin'ny $4.99, analogue tsy manam-paharoa amin'ny mpizara ambaratonga fidirana, izay noforoninay ho anao: Ny marina rehetra momba ny VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps avy amin'ny $19 na ahoana no hizarana mpizara? (misy miaraka amin'ny RAID1 sy RAID10, hatramin'ny 24 cores ary hatramin'ny 40GB DDR4).

    Dell R730xd 2x mora kokoa amin'ny foibe data Equinix Tier IV any Amsterdam? Eto ihany 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV manomboka amin'ny $199 any Holandy! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - manomboka amin'ny $99! Vakio ny momba ny Ahoana ny fananganana infrastructure corp. kilasy amin'ny fampiasana mpizara Dell R730xd E5-2650 v4 mitentina 9000 euros amin'ny denaria iray?

Source: www.habr.com

Add a comment