HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Quisque loquitur de processibus evolutionis et probationis, de baculo disciplinae, de motivo augendo, sed hi processus non satis sunt cum minutum tempus servitii immensam pecuniam constat. Quid agat cum res oeconomicas sub stricto SLA explere? Quomodo augere fidem et culpam tolerantiam systematum tuorum, progressionem et probationem ex aequatione accipere?

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Proxima HighLoad ++ colloquium habendum est die 6 mensis Aprilis anno 7 in St. Petersburg. Singula ac tesseras Link. November 9, 18:00. HighLoad++ Moscoviae 2018, Delhi + Kolkata aula. thesibus et praesentationem.

Evgeniy Kuzovlev (inferius – EC); - Amici, salve! Nomen mihi est Kuzovlev Evgeniy. Ego ex comitatu EcommPay, certa divisio est EcommPay IT, IT divisio catervae societatum. Hodie de temporibus narrabimus - quomodo ea vitanda, quomodo earum consectaria obscuratis, si vitari non potest. Locus sic declaratur: "Quid facere cum minuta temporis spatium $ 100" constat? Prospicientes nostri numeri comparabiles sunt.

Quid EcommPay IT facere?

Qui sumus? Quid hic sto ante te? Cur mihi licet hic aliquid dicere? Et quid hic fusius dicemus?

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Coetus societatum EcommPay est acquirens internationalis. Mercedes in toto orbe terrarum discimus - in Russia, Europa, in Asia (All around the World). Officia 9 habemus, quingentos operarios in summa, ac paulo minus quam dimidium eorum circa IT periti sunt. Omnia agimus, omnia facimus, nos ipsi fecimus.

Omnes fructus nostros scripsimus (et satis multum habemus - in linea magnarum IT productarum, quas circa 16 diversas partes habemus) nos habemus; Nos ipsi scribimus, nos ipsimetipsos evolvemus. Et in momento peragimus circa decies centena milia transactionum (decies centena milia verisimile est rectum iter dicere). Satis societas iuvenum sumus - tantum circiter sex annos natus sumus.

Sex abhinc annis tale startup cum guys una cum negotio venerant. Conjuncti sunt per ideam (nihil aliud erat quam idea), et cucurrimus. Sicut ullus startup, velocius cucurrimus.

Aliquando destitimus: intelleximus nos non posse iam aliqualiter vivere in illa celeritate et cum illa qualitate et debuimus in primum qualitatem intendere. Hoc momento novum suggestum conscribere decrevimus quod verum, scalabile ac certum esset. Hoc suggestum scribebant (inceperunt circumsedere, evolvere, tentare), sed in aliquo loco intellexerunt progressionem tentare non permiserunt nos ad novum gradum servitutis qualitas pervenire.

Novum facis productum, posuisti in productionem, sed tamen alicubi errabit aliquid. Hodie autem loquemur quomodo ad novam qualitatem (quam nos per experientiam fecimus) perveniemus, evolutionem ac probationem ex aequatione capientes; loquemur de iis quae operationi in promptu sunt - quid ipsa operatio possit facere, quid offerre possit ad probationem ut ad qualitatem influendam.

Downtimes. Praecepta operationis.

Semper angularis principalis, quod actu loquimur hodie est downtime. Atrox verbum. Si downtime habemus, omnia nobis mala sunt. Currimus ut eam suscitemus, ministrantes tenentes - Absit hoc non cadit, sicut in illo cantu dicunt. Hoc est quod hodie dicturi sumus.

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Cum appropinquationes nostras mutare coepimus, praecepta 4 formavimus. Eos habeo labitur in;

Haec mandata plane simplicia sunt;

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

  • Celeriter quaestionem cognosce.
  • Vel citius tolle.
  • Subveni causam (post, tincidunt).
  • Ac vexillum accedat.

Velimus animum advertere ad notam N. 2. Solvendo quaestionem removemus, non solvendo. Iudicatio secundaria est. Nobis, prima res est, utentis ab hoc problemate custoditur. Aliqua solitaria erit in mauris, sed nulla id mauris at neque. Per hos quattuor circulos problematum (quidam subtilius, quaedam subtilius) ibimus, dicam quid utimur, quam experientiam in solutionibus habemus.

Troubleshooting: Quando fiunt et quid de eis?

Sed extra ordinem incipiemus, cum puncto N. 2. incipiemus - quaestionem quomodo cito tollendum? Difficultas est - reficere nos oportet. "Quid faciemus de hoc?" — Summa quaestionis. Et cum cogitare coepimus quomodo problema figere, elaboravimus nobis aliqua requisita quae fermentum sequi debent.

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Ad haec necessitates expromere, quaestionem nobis ipsis exquirere decrevimus: "Quando problemata habemus"? Et problemata, ut evenit, in quatuor casibus occurrunt;

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

  • Hardware defectum.
  • Officia externa incassum.
  • Mutans versionem programmatum (idem instruere).
  • Explosive onus incrementum.

De duobus primis non loquimur. Ferramenta malfunction solvi possunt simpliciter: omnia duplicata habere debes. Si haec orbis sunt, orbis in INCURSU colligendi sunt: ​​si cultor, duplicari debet, si retis infrastructuram habes, alterum exemplar substructionis infrastructurae supplendum est, hoc est, accipis ac duplicare. Et si quid deficiat, vertas ad virtutem reservandam. Hic plura dicere difficile est.

Secundum est defectum exteriorum officiorum. Plurimum, ratio non obstat, sed non nobis. Cum solutiones processimus, aggregator sumus qui stat inter utentem (qui eius chartae notitias intrat) et ripas, systemata solvendi (Visa, MasterCard, Mira, etc.). Nostra officia externa (ratio solutionis riparum) deficere solent. Neque nos, neque vos (si tanti habetis) hoc afficere possumus.

Quid ergo? Duae hic optiones sunt. Primum, si potes, hoc officium aliquo modo duplicare debes. Exempli gratia, si possumus, negotiationes ab uno servitio in aliud transfermus: exempli gratia, chartae per Sberbank processit, Sberbank quaestiones habet - negotiatio ad Raiffeisen transferimus. Secundum quod facere possumus, est videre defectum exteriorum officiorum celerrime, et ideo de responsione celeritatis in altera parte relationis loquemur.

Re quidem vera ex his quattuor nominatim influere possumus mutationem versionum programmatum - actiones accipere quae meliorem condicionem afferent in contextu inceptorum et in contextu incrementi explosivi oneris. Profecto id quod fecimus. Hic rursus parva nota.

Harum quatuor problematum multae statim solvuntur si nubes habeas. Si in Microsoft Azhur, Ozone nubibus es, vel nostris nubibus uteris, ab Yandex vel Mail, tunc saltem ferramentum malfunction fit eorum problema et omnia statim tibi denique fiunt in contextu hardware malfunction.

Paulo ligula comitatu sumus. Omnes hic loquitur de "Kubernets", de nubibus - neque "Kubernets" neque nubes habemus. Sed tormenta ferramentorum in multis centris data habemus, et in hoc ferramento vivere cogimur, omnes responsales esse cogimur. Ideo hoc loco loquemur. Circa quam igitur questiones. Duo prima ex uncis sumpta sunt.

Mutatio versionis programmatis. bases

Nostra tincidunt ad purus non. Cur est? Iustum est quod certificati sumus PCI DSS, et nostri tincidunt simpliciter ius non habent ingrediendi "productum". Id ipsum tempus. Omnino. Ideo responsabilitas evolutionis exacte terminatur in momento, quo progressus aedificationis solutionem submittit.

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

Secundum fundamentum quod nos habemus, quod etiam multum adiuvat, est privatio singularis undocumentalis cognitionis. Idem tibi spero. Quod si non sit, habebis problemata. Problemata oriuntur, quando haec unica, undocumentata cognitio tempore suo loco non adest. Dicamus te unum habere qui scit explicandi certas partes - non est homo, feriat vel aegrotat - id est, habes difficultates.

Et tertium fundamentum ad quod pervenimus. Venimus ad eam per dolorem, sanguinem, lacrimas - ad conclusionem venimus quod quilibet ex nostris aedificat continet errores, etiam si sit error liberorum. Hoc nobis constituimus: cum aliquid explicamus, cum aliquid ad productionem volvimus, cum erroribus fabricamus. requisita formavimus ut ratio nostra satisfacere debeat.

Requisita mutandi software version

Tria requiruntur:

HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

  • Instruere debemus celeriter revolvere.
  • Ictum male instruere debemus obscurare.
  • Et oportet nos in parallelis cito explicari posse.
    Prorsus in eo ordine! Quare? Primum enim, cum novam versionem disponis, celeritas magna non est, sed interest tibi, si quid errat, cito revolvere et minimam ictum habere. Quod si in productione versionum habes, pro quo evenit ut error sit (ex caeruleo nulla instruere, sed error est) - celeritas instituti subsequentis momenti tibi est. Quid nos his postulationibus dignum fecimus? Ad hanc methodum confugimus:

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Satis notum est, numquam id finxisse - caeruleum est/Green explicandam. Quid est? Exemplar habere debes pro singulis sodalitatibus servientium in quibus applicationes tuae installantur. Exemplar "calidum" est: nulla merces in eo est, sed quovis momento haec negotiatio ad hoc exemplum mitti potest. Hoc exemplum priorem versionem continet. Et in tempore instituti, codicem ad exemplum inersum devolvis. Tum partem negotiationis (vel omnes) ad novam versionem vertas. Ita ut negotiatio ex vetere versione ad novam manat, necesse est unam tantum actionem facere: debes mutare libratorem in flumine, mutare directionem - ab uno flumine in alium. Hoc commodissimum est et quaestionem solvit celeritatis mutandi et celeris reverti.

    Hic solutio secundae quaestionis minimization est: solum partem mercaturae tuae ad novam lineam, ad lineam cum novo codice mittere potes (sit, exempli gratia, 2%). Et hae 2% non sunt 100%! Si 100% negotiationis tuae amisisti propter male ingentem, id est scary: si 2% negotiationis tuae amisisti, ingrata est, sed non scary. Utentes autem hoc vel maxime verisimile non animadverterunt, quia in aliquibus casibus (non omnibus) idem usor, F5 premens, ad aliam versionem laboraturus erit.

    Blue/Green explicandam. Routing

    Nihilominus non omnia tam simplicia "Blue/Green explicant"... Omnia nostra membra in tres partes dividi possunt:

    • hoc est frontend (paginas quas nostri clientes vident);
    • processus core;
    • adaptor ad operandum systemata solvenda (ripas, MasterCard, Visa...).

    Et est nuance hic - nuance jacet in fuso inter lineas. Si modo 100% negotiationis commutas, has difficultates non habes. Sed si vis 2% flectere, interrogare incipis: "Quomodo hoc facere?" Simplicissima res recta est: circum Robin in nginx erigi potes temere electionem, et 2% ad sinistram habes, 98% ad dextram. Sed hoc non semper convenit.

    Exempli gratia, in casu nostro, ratio cum pluribus petitionibus interacts a user. Hoc est normale: 2, 3, 4, 5 petitiones - vestrae rationes idem esse possunt. Et si tibi interest ut omnes petitiones usoris ad eandem lineam perveniant qua prima petitio venit, vel (secundum punctum) omnes petitiones usoris ad novam lineam post transitum perveniunt (posset antea cum elaborasse coepisse. ratio, antequam transibit), — haec ergo temere distributio non apta est tibi. Sequuntur sequentes optiones:

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Prima optio, simplicissima, in parametris fundamentalibus clientis fundatur (IP Hash). IP habes, et divide a dextra ad sinistram per IP oratio. Tum secundus casus, quem descripsimus, operabit tibi, cum instruere incidit, utentis iam operandi ratio tua incipere potuit, et ex momento instituti omnes petitiones ad novam lineam (idem unam dic).

    Si aliqua de causa hoc tibi non convenit et rogationes mittere debes ad lineam ubi initialis usoris petitio initialis venit, tunc duas optiones habes...
    Prima optio: nginx+ emere potes. Sticky sessiones mechanismus est, quae, postulatio initialis usoris sessionem usori assignat, eamque uni vel alio flumine adstringit. Omnes posteriores petitiones usorum intra sessionem vita viventes ad eundem fluvium mittentur ubi sessio facta est.

    Hoc nobis non convenit quod iam regulares habuimus. Commutatio ad nginx+ non est quod pretiosa est, iustum est quod nobis aliquantulum molestum fuit et non valde rectum. "Ficuli Sessiones", exempli gratia, nobis non laboraverunt ob eam causam, quod "Sessiones haeret" in fundamento "vel-vel" fuso non permittunt. Illic specificare potes quid "Sessiones" "Sessores" facimus, exempli gratia, per IP oratio vel IP oratio et crustula vel postparametrum, sed "Aut-" ibi magis implicat.

    Unde devenimus ad quartam optionem. Accepimus nginx in steroids (hoc est openresty) — haec eadem est nginx, quae insuper inclusionem scriptorum ultimarum sustinet. Scribere potes ultimum scriptionem, ei "requiem apertam" dare, et hoc ultimum scriptum exsecutioni mandari potest cum petitio usoris venit.

    Et nos scripsimus, immo tale scriptum, "openresti" nos constituimus, et in hoc scripto distinguimus per 6 parametros per concatenationem "Vel". Prout praesentia unius vel alterius parametri, scimus utentem venisse ad unam vel aliam paginam, unam vel aliam.

    Blue/Green explicandam. Commoda et incommoda

    Utique, probabiliter fieri potuit ut paulo simplicius (ut eadem "Sessionibus Sticky"), sed nos quoque talem actum haberemus ut non solum usor apud nos in ambitu unius processus unius transactionis interveniat... Sed ratio solutionis etiam inter se occurrunt: Post transactionem processimus (mittendo petitionem ad rationem solvendam), recipimus coolback.
    Et dicamus, si intra ambitum nostrum possumus in omnibus petitionibus IP usoris inscriptionem usoris transmittere et utentes dividere ex IP inscriptione innixa, tunc non eadem "Visa" indicabimus: "Dude, tales comitatu retro sumus, videmur internationalem esse (in loco et in Russia)... Quaeso nobis providere cum IP inscriptione usoris in agro addito, protocollum tuum normatum est"! Patet quod non consentiunt.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Hoc ergo pro nobis non fecit openresty. Itaque hoc fugato cepimus aliquid simile;

    Blue/Green instruere proinde habet commoda quae dixi et incommoda.

    Duo incommoda:

    • vexare debes fuso;
    • secunda incommodum est inpensa.

    Tot servientibus debes bis, tot facultates perficiendas bis debes, bis tanto labore consumere opus est totum hoc ferarum conservandum.

    Viam inter commoda unum est quod ante non dixi: reservatio in causa incrementi oneris. Si incrementum explosivum in onere habes, magnum numerum usorum habes, tunc simpliciter includis secundam lineam in 50 ad 50 distributionem - et statim x2 servientes in botro tuo habes donec problema solveas plures servientes.

    Quomodo instruere velox est facere?

    Locuti sumus quomodo problema solvendae minimizationis et celeris revertimini, sed remanet quaestio: "Quomodo explicandi sunt velociter?"

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Hic brevis et simplex est.

    • Ratio CD (Continuatio pronuntiatio) habere debes - sine illa vivere non potes. Si unum servom habes, manually explicari potes. Circiter unum et dimidium milia servientium habemus et unum et dimidium mille ansas, scilicet - department ad magnitudinem huius cubiculi ad explicandum serere possumus.
    • Parallela instruere oportet. Si instruere sequential est, omnia mala sunt. Unus servo ordinarius est, unum et dimidium milia servientium toto die disponere eris.
    • Iterum, pro acceleratione, hoc probabiliter iam necessarium non est. During inployment, the exertus is usually built. Proiectum telae habes, pars antica est (facis ibi sarcinam telam, npm aliquid tale componis), et hic processus in principio est, breve - 5 minuta, sed hae 5 minutae possunt tur discrimine. Ideo, exempli gratia, hoc non facimus: haec quinque minuta removimus, artificia explicamus.

      Quid est artificium? Artificium est constructum constructum in quo omnes conventus partes iam peractae sunt. Condimus hoc artificium in repositione artificii. Uno tempore duas huiusmodi schedulas usi sumus - Nexus erat et nunc jFrog Artifactorius, initio "Nexus" usi sumus quia accessum in Java applications (aptus bene convenit). Tum nonnullas applicationes ibi PHP scriptas posuerunt; et "Nexus" non amplius aptus erat, et ideo jFrog Artefactoriam elegimus, quae fere omnia artificiosa facere potest. Etiam eo pervenimus ut in hoc artificio repositorio sarcinas binas nostras condimus quas pro servientibus colligimus.

    Explosive onus incrementum

    Locuti sumus de mutando versionem programmatum. Proxima rei aucta explosivum est in onere. Hic, probabiliter intelligo per explosivae incrementi oneris non satis rectum.

    Novam rationem scripsimus - inservit ordinatur, modum, formosum, opificum ubique, queues ubique, asynchrony ubique. Et in huiusmodi systematibus, notitia per varios fluxus fluere potest. Ad primam transactionem, 1st, 3rd, 10th operarius adhiberi potest, pro secunda transactione, 2nd, 4th, 5th. Et hodie dicamus, mane te habere informationem fluit qui utitur primis tribus operariis, et vespere mutat dramaticam, et omnia utitur aliis tribus operariis.

    Hic autem evenit ut operarios aliquo modo conscendere debes, opera tua aliquo modo scandere debes, sed simul ne subsidii bloat.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Nostris requisitis definivimus. Haec requisita prorsus simplicia sunt: ​​ut habeatur inventio servitii, parameterizationis - omniaque mensura ad huiusmodi rationes scalabiles aedificandas, praeter unum punctum - imminutiones resource. Diximus nos parati non esse facultates amortizare ut servientes aerem calefaceremus. "Consul" cepimus, "Nomadum" cepimus, quod operarios nostros administrat.

    Cur haec nobis quaestio est? Lets paulo retro. Nunc habemus circiter 70 systemata solutionis post nos. Mane commercium per Sberbank vadit, deinde Sberbank cecidit, exempli gratia, et eam ad aliam mercedem systema flectendum sumus. C operarios ante Sberbank habuimus, et postea opus est ut 100 operarios ad aliam mercedem systematis acerrime augendam. Expedit autem haec omnia sine hominum participatione fieri. Quia si humana est participatio, ibi sedere debet architectus 100/24, qui hoc solum facere debet, quia huiusmodi defectiones, cum 7 systemata post te sunt, regulariter eveniunt.

    Propterea inspeximus Nomadum, quod apertum IP habet, et rem nostram scripsimus, Scale-Nomad - ScaleNo, quod proxime sequentia facit: monitores queue incrementum et minuit vel auget numerum opificum secundum dynamicam. queue. Cum id fecerimus, cogitavimus: "Forsitan fontem aperire possumus?" Tunc inspexi eam - tam simplex erat quam duo kopecks.

    Hactenus aperta non habemus, sed si subito post relationem, cum intellexerit te tale opus esse, necesse est, noti mei in ultimo lapsu sunt - scribes ad me. Si adsunt saltem 3-5 homines, hoc sponsor erimus.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Quomodo facitur? Let's get look! Prospiciens: in sinistro latere est pars nostrae vigilantiae: haec una linea est, in summo tempus est processus rei, in medio numerus negotiorum est, in imo numerus opificum est.

    Si spectes, glitch est in hac imagine. In suprema chartula, una e chartis in 45 secundis crepuit, una systemata solvendi descendit. Confestim mercatura illata est in 2 minutas et queue in alia systemate solutionis crescere coepit, ubi opifices non erant (non utebantur facultates - contra, bene de facultate disposuimus). Calefacere noluimus - minimus numerus erat, circa 5-10 operarios, sed obire non poterant.

    Ultima graphio ostendit "hump", quod significat tantum "Skaleno" hanc quantitatem duplicari. Deinde, graph omisso paulum, paulum redegit - numerus opificum automatice mutatus est. Ita res haec operatur. Locuti sumus de numero puncto 2 - "Quam celeriter rationes exuere."

    Cras. Quam cito quaestionem cognoscere?

    Nunc primum punctum est "Quam quaestionem cito cognoscere?" Cras! Quaedam cito intellegenda sunt. Quid cito intelligendum est?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Tria res!

    • Intellegere debemus et intelligere cito in propriis facultatibus exercendis.
    • Cito defectus intellegendum est ac monitorem agendi rationum quae externae nobis sunt.
    • Tertium punctum est errores logicos identificantes. Hoc est, cum ratio operatur pro vobis, omnia ordinaria secundum omnes indices, sed aliquid errat.

    Probabiliter nihil tibi narrabo quod hic refrigescant. Praefectus ero. Expectavimus quid esset in foro. Habemus "fun saepti ferarum". Hoc genus ferarum nunc habemus;

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Zabbix ad ferramenta monitoria utimur, ad monitores praecipuos ministrorum indices adhibemus. Okmeter pro databases utimur. "Grafana" et "Prometheus" utimur omnibus aliis indicibus quae duobus primis non conveniunt, quibusdam "Grafana" et "Prometheo", et quibusdam "Grafana" cum "influxu" et telegrafo.

    Ante annum nova Reliquia uti voluimus. Res frigida, omnia potest. Sed quantum potest omnia, tam cara est. Cum ad numerum 1,5 milium servientium cresceremus, venditor ad nos venit et dixit: "Concludamus foedus in annum proximum." Pretium inspeximus et negavimus, hoc non faciemus. Nunc deserimus Novam Reliquiam, circiter XV ministrantes sub vigilantia Novae Reliquiae habemus. Fera omnmo pretium evasit.

    Unum est instrumentum quod nos implevimus - hoc est Debugger. Primum vocavimus "Bagger", sed deinde praeteriens magister Anglicus, risit bacchantes, et nominavit "Debagger". Quid est? Hoc instrumentum est quod, re vera, in singulis componentibus secundis 15-30, sicut arca "nigrae systematis", probationes currit in altiore exsecutione componentis.

    Exempli gratia, si pagina externa est, simpliciter aperit et aspicit quomodo spectare debet. Si hoc processit, probationem "rei" mittit et facit certiores hoc "negotium" venire. Si haec nexus cum rationibus solutionis est, incendimus probationem rogationis, ubi possumus, et videmus omnia bona apud nos esse.

    Quae indicia sunt magna vigilantia?

    Quid nos maxime monitor? Quid nobis momenti indices sunt?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    • Responsum tempus / RPS in frontibus indicator valde maximus. Illico respondet aliquid mali apud te esse.
    • Numerus nuntiorum processionaliter in omnibus stantibus anteponere.
    • Opificum numerus.
    • Prae- cipua rectitudo metrica.

    Ultimum punctum metricum est "negotium", "negotium". Si idem monitorem vis, unum alterumve metrorum praecipuorum indicibus tibi definire debes. Nostra metrica est throughput (haec est ratio numeri felicium transactionum ad totam rem fluens). Si aliquid in eo mutatur inter 5-10-15 minutas, significat habere problemata (si funditus mutat).

    Quid nobis simile sit exemplum tabularum nostrarum;

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    In latere sinistro sunt 6 graphi, hoc est secundum lineas — numerus opificum et numerus nuntiorum in queues. A dextra parte — RPS, RTS. Infra idem est "negotium" metrica. Et in "negotiis" metricis statim videre possumus aliquid in duobus mediis graphis errasse... Haec alia ratio est quae post nos lapsus est.

    Secundum rem faciendam erat monitor casus rerum externarum solucionis. Hic cepimus OpenTracing - mechanismum, vexillum, paradigma quod permittit ut systemata distributa indagamus; paulum mutatum est. Vexillum paradigma OpenTracing dicit nos vestigium uniuscuiusque petitionis construere. Hoc non opus erat, et vestigium aggregationis summatim involvimus. Instrumentum fecimus, quod nos sinit celeritatem systematum indagare post nos.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Aliquam lacinia purus nobis ostendit unum systematum solutionis respondere incepisse in 3 secundis secundis - problemata habemus. Hoc autem aget, cum problemata incipient, intervallo 20-30 secundorum.

    Et tertium genus errorum vigilantium qui existunt est magna vigilantia logica.

    Esse honestum, quid in hoc lapsu trahere nesciebam, quia diu quaesivimus in foro aliquid quod nobis congrueret. Non invenimus aliquid, ut faceremus nos.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Quid dicam vigilantia logica? Age, finge: rationem tibi facis (exempli gratia, Tinder clone); fecisti eam, deduxeris. Prosper procurator Vasya Pupkin eam in telephonum posuit, puellam ibi videt, amat eam ... et similia non ad puellam - simile it ad custodiam securitatis Mikhalych ab eodem negotio centrum. Praepositus descendens descendit, et tunc miratur: "Cur haec securitas custodit Mikhalych tam blande apud eum ridet?"

    In talibus in adiunctis... Nobis, haec condicio paulo aliter sonat, quia (scripsi) hoc detrimentum existimationis indirecte ad damna pecuniaria ducit. Nostra condicio contraria est: recta pecuniaria damna pati possumus - exempli gratia, si rem feliciter gesserimus, sed parum succedit (vel vice versa). Scribere habui instrumentum meum proprium monitores numero negotiorum felicium super vicis utens indicibus negotiis. Nihil in foro invenit! Hanc ipsam notionem notare volui. Nihil in foro huiusmodi quaestionis solvere.

    Hoc erat quomodo cito quaestionem cognosceret.

    Quomodo determinare causas instruere

    Tertium problematum genus, quod solvimus, est postquam problema identificavimus, postquam eam solvimus, bonum esset rationem evolutionis intelligere, experiendi et aliquid de ea agere. Proinde investigare opus est, ligna tollere.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Si loquimur de lignis (maxima ratio est de lignis), mole lignorum nostrorum in ELK Stack - omnes fere eandem habent. Quibusdam, licet non sit in ELK, sed si scripseris ligna in gigabyte, citius aut postea venies ad ELK. Eos in terabytis scribimus.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Difficultas hic est. Nos infigimus, errorem utentis emendavimus, effodere quod ibi erat, in Kibana ascendimus, rem ibi intravimus, et quasi hoc vestigium nactus (multum ostendit). Et omnino nihil patet in hoc vestigio. Quare? Nempe, quia non liquet utra pars sit cujus operantis, quae pars cujus sit. Et in ipso momento intelleximus quod opus erat repetendo - eandem OpenTracinge quam de me locutus sum.

    Hoc anno ante cogitavimus animum ad mercatum convertimus et duo instrumenta ibi erant - "Zipkin" et "Jaeger". "Jager" etenim talis est heres ideologicus, successor ideologicus "Zipkin". Omne bonum in Zipkin, nisi quod nescit aggregatum, nescit ligna in vestigio includere, solum vestigium temporis. Et hoc "Jager" suscepit.

    Inspeximus "Jager": instrumenta applicationes potes, in Api scribere potes (signum Api pro PHP eo tempore, tamen non approbatum - hoc anno elapso erat, nunc iam probatum est), sed ibi omnino non erat clientis. "Bene," putavimus, et clientem nostrum scripsimus. Quid habuimus? Hoc est dure quod is vultus amo;

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    In Jaeger, palmorum ad singula mandata creantur. Hoc est, cum ratio usoris aperit, unum vel duos caudices pro singulis petitionibus advenientis videt (1-2-3 - numerum postulationum advenientium ab utente, numerum caudices). Quo facilius utentibus utentes, textos lignis et vestigia temporis adiecimus. In casu itaque erroris, applicatio nostra signabit trabem cum Errore tag convenienti. Colloquium per Error tag potes et solum palmorum quae hunc scandalum continent cum errore ostendentur. Hoc est quod videtur, si spatium extendamus;

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Intra spatium vestigium est copia. In hoc casu haec tria sunt vestigia testium, et tertium vestigium erroris nobis occurrit. Quanquam hic vestigium temporis videmus: tempus scalam habemus in summo, et videmus quo tempore hoc vel illud lignum sit notatum.

    Sic bene nobis res fuit. Nostram extensionem scripsimus et fonte aperto aperimus. Si vis cum typum laborare, si vis cum "Jager" in PHP laborare, extensio nostra est, usui grata, ut aiunt:

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Hanc extensionem habemus - clientis est OpenTracing Api, php-extensio facta est, id est, necesse est eam convenire et in systemate instituere. Ante annum nihil aliud fuit. Nunc aliae sunt clientes quasi componentes. Hic ad te est: aut sentinas componentes cum compositore, aut extensionem ad te uteris.

    Corporate signa

    Locuti sumus de tribus praeceptis. Quartum praeceptum est ad normas accedendi. Quid hoc est? Hoc est:

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Cur hic nomen corporatum? Non quia sumus magna vel hendrerit dolor, nulla! Hoc verbo "corporatum" uti volui in contextu quod omnis societas, omne opus sua signa habere debet, inter vos. Quae signa habemus?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    • Praecepta instruere habemus. Sine illo non movemur, non possumus. Explicamus fere 60 ter in hebdomada, id est fere constanter explicamus. Eodem tempore, exempli gratia, normas instruere religio in die Veneris die - in principio, non explicamus.
    • Documenta requirimus. Nulla pars nova in productionem accipit, si documenta nulla est, etiamsi nata est sub stylo nostro RnD. Ab illis instruere instructiones, vigilantiam tabulam et descriptionem asperam (bene, sicut programmarii scribere possunt) requiremus quomodo haec componentia opera, quomodo troubleshoot.
    • Non problema solvemus causam, sed problema, quod iam dixi. Aliquam sit amet elit a volutpat tueri.
    • Clearances habemus. Exempli gratia, tempus downtime non consideramus si 2% of traffic intra duo minuta amisimus. Hoc basically non comprehenditur in nostris mutant. Si plus est in terminis recipis vel temporariis, iam computamus.
    • et postmortems semper scribimus. Quicquid nobis acciderit, omnis condicio ubi quis enormiter in productione se gessit, in post mortem reflectetur. Postmortem documentum est in quo scribis quid tibi contigerit, singula sincere, quae fecisti ut corrigas et (hoc est scandalum mandatum) quid facias, ne id fiat in futurum. Hoc mandatum est et necessarium ad analysim subsequentem.

    Quid downtime consideratur?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Quid hoc ad omnia?

    Inde factum est quod (certam dubiam firmitatem habuimus, hoc vel clientibus vel nobis non convenit) per sex menses praeteriti temporis signum nostrae stabilitatis 6 fuit. Id non valde possumus dicere. Etiam appetere aliquid habemus. Huius indicator circa medium est quasi stabilitas, non nostra, sed murus interretialis applicationis, qui ante nos stat et pro servitio adhibetur, sed clientes de hoc non curant.

    Nocte dormire discimus. Denique! Ante sex menses non potuimus. Hac nota cum eventibus unum notare velim. Nocte proxima mira relatio facta est de systemate reactoris nuclei. Si homines, qui hanc rationem scripserunt, me audire possunt, quaeso obliviscantur eorum quae dixi de "2% downtime non est." Pro te, 2% est downtime, etiam si duas minutas!

    Ita est! Interrogationes tuae.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    De balancers et migratio database

    Quaestio ex auditorio (infra – B): – Bene vespere. Optime tibi gratias pro tali fama admin! Brevis quaestio de vestris balancers. Tu dixisti WAF habere, id est, ut intellego, aliquo librario extraneo uteris...

    EK: – Imo ut librator officiis nostris utimur. Hoc in casu, WAF solum instrumentum praesidium nobis DDoS est.

    IN: – Potesne pauca dicere de libratoribus?

    EK: – Ut iam dixi, coetus est ministrantium in re aperta. Nunc habemus 5 circulos reservatos qui unice respondent, id est, cultor qui solum openrestatem decurrit, solum procuratores negotiationis. Quocirca intelligendum quantum tenemus: nunc regularem commercium plurium centum megabitarum fluxum habemus. Opunt, bene sentiunt, ne se quidem contendunt.

    IN: — Item quaestio simplex. Ecce Blue/Green instruere. Quid facis, verbi gratia, migrationibus datorum?

    EK: - Bonum quaestio! En, in Blue/Green instruere singulas lineas habemus. Hoc est, si loquimur de eventu queues, quae ab operario ad opificem traducuntur, separatae sunt queues pro linea caerulea et pro linea viridi. Si de ipso datorum loquimur, illud quantum potuimus sedulo coarctaremus, omnia fere in queues moverunt, in datorum tantum acervum negotiorum condimus. Et res nostra idem est acervus omnium linearum. Cum datorum in hoc contextu: eam in caeruleum et viridem non dividimus, quia utraque codicis versiones scire debet quid cum negotio geratur.

    Amici, et ego parvam palmam habeo ut te in - librum excitem. Et ego pro optima questione iudicetur.

    IN: - Salve. Gratiae pro fama. Quaeritur hoc. Tu monitor solutiones, monitores operas quibus communicas... Sed quomodo monitor ut aliquis ad paginam mercedem tuam veniret, mercedem fecit, et consilium pecunia creditum? Hoc est, quomodo monitor tibi praesto est negotiator et callback tuum accepit?

    EK: – “Mercator” nobis in hoc casu prorsus idem est servitium externum ac ratio solutionis. Nos celeritatis responsionis mercatoris monitorem.

    De encryption database

    IN: - Salve. Habeo quaestionem leviter cognatam. Data sensitiva habes PCI DSS. Scire volui quomodo thuribulas in queuis repones quas transferre debes in? Uteris encryption? Et hoc ducit ad secundam quaestionem: secundum PCI DSS, necesse est ut periodice encryptam datorum in casu mutationum (dimissio administratorum, etc.) - quid fit accessibilitas in hoc casu?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    EK: - Mira quaestio! Primo, in queues patinas non condimus. Ius non habemus ut in clara forma reponendas PAN, in principio, speciali servitio utimur (Kademon appellamus) - hoc est servitium quod unum tantum facit: nuntium accipit tamquam initus et mittit. de verbo an encrypted. Et omnia cum hoc encrypto nuntio condimus. Itaque clavem nostram longitudo sub kilobyte est, ut haec gravis et certa sit.

    IN: - Egesne nunc 2 chilioctetis?

    EK: – Videtur sicut heri mox 256... Bene, ubi aliud?

    Itaque hoc primum. Secundo, solutio quae existit, modum encryptionis sustinet - duo paria "keks" (clavium), quae "tranae" encrypt (clavis sunt claves, dek sunt derivationes clavium encrypt) . Et si processus inceptus est (contingit regulariter ab 3 mensibus ad ± aliquos), novum par "placenta" accipimus et notitias re-encrypt. Singula officia habemus quae omnia indicia eruunt et novo modo encrypt; Notitia reponitur iuxta identifier clavem cum quo encryptus est. Proinde, simul ac notitias novis clavibus encryptas, veterem clavem delemus.

    Cras interdum pretium erat eget tincidunt.

    IN: – Hoc est, si refugium aliquandiu operationis pervenerit, adhucne minutum es cum clave veteri?

    EK: - Ita.

    IN: — Deinde una parva quaestio. Cum aliquis defectus, casus, vel casus incidit, per transactionem manualem agere necesse est. Talis condicio est.

    EK: - Etiam interdum.

    IN: - Ubi vis accipere ab hac notitia? An tu ad hanc reponendi facultatem te adis?

    EK: – Imo, sane, nos habemus rationem aliquam officii posterioris, quae interfaciem pro nostro auxilio continet. Si nescimus quid status transactionis sit in (exempli gratia, donec ratio solvendi respondeat cum timeout), nescimus a priori, hoc est, finalem statum solum cum plena fiducia assignamus. Hoc in casu, in specialem statum pro processu manuali reum effundere debemus. Mane postridie, cum primum subsidium informationes accipit tales et tales transactions manere in solutione systematis, eos in hoc instrumento processus manuale.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    IN: - Habeo duas quaestiones. Una earum est continuatio zonae PCI DSS: quomodo stipes eorum ambitum? Haec quaestio est quia elit aliquid in lignis ponere potuit! Secunda quaestio: quomodo evolvunt hotfixes? Ansulis utendi in datorum una optio est, sed libera calida figi potest - quid est procedendi ibi? Ac probabiliter tertia quaestio RTO, RPO refertur. Facultas tua erat 99,97, fere quattuor novem, sed ut intellego, centrum centrum tertium, centrum tertiae notitiae habes, et centri quintus.

    EK: - Initium est primum. Erat prima quaestio de lignis? Cum ligna scribimus, tabulatum habemus ut larvas omnes notitias sensitivas. Aspicit larvam et adiectis agris. Itaque acta nostra exeunt cum notitia iam palliata et in circuitu PCI DSS. Haec una est ex regularibus officiis assignatis probationis genere. Singula negotia, inter ligna quae scribunt, inspicienda sunt, et hoc unum e regularibus operibus in codice recognitionis, ut refrenare elit non aliquid scribere. Subsequens huius fraus regulariter peraguntur per informationes securitatis de genere semel in hebdomada: tigna proximi diei selective capta sunt et currunt per specialem analysem e testi-ariorum ad omnia reprimenda.
    Circa calidum ducit. Hoc comprehenditur in normis instruere. Separatam clausulam habemus de hotfixes. Credimus nos circa horologium hotfixes disponere cum opus est. Simulac versio convenitur, quamprimum curritur, simul ac artificium habemus, administratorem systematis in officio vocationis ab subsidio habemus, et in momento, quo opus est, explicat.

    Circa "quattuor novem". Figura, quam nunc re vera consecuta est, in alio Mauris interdum ipsum contendimus. Nunc secundum centrum datae habemus, et inter eas iter incipimus, et exitus replicationis centri transversalis est vere quaestio non levis. Illud solvere conati sumus uno tempore diversis mediis adhibitis: eadem "Tarantula" uti conati sumus - nobis non laboravit, statim tibi dicam. Hac de causa manually "sens" ordinare finivimus. Re quidem vera, unaquaeque applicatio in nostro systemate decurrit necessariam "mutationem - factum" synchronisationem inter centra data asynchronously.

    IN: – Si secundum accepisti, cur tertiam non accepisti? Quia nemo tamen split-ebrarum...

    EK: – Sed cerebrum non habemus. Ob hoc quod unumquodque applicatio a multimagistro impellitur, non refert ad nos utram partem petitio veniret. Parati sumus eo quod, si unus e nostris centris datorum deficiat et in medio usoris postulandi permutat ad secundum centrum datae, parati sumus hunc usorem perdere; sed hae erunt unitates, unitates absolutas.

    IN: - Bonum vesperam. Gratiae pro fama. Locutus es de debgger tuus, qui aliquas probationes rerum in productione fugit. Sed dic nobis de experimentis rerum! Quam altum est?

    EK: – Sequitur plenitudo totius componentis. Compositio, nihil interest inter transactionem et transactionem productivam. Sed ex ratione logica, hoc solum est propositum separatum in systemate, in quo tantum experimenta rerum geruntur.

    IN: -Ubi scindes eum? Hic Core misit...

    EK: - Nos post "Kor" in hoc casu ad probationes transactiones... Tales res habemus ut excitandas: "Kor" scit quam ratio solvendi ad mittendum - mittimus ad systema fictum solvendi, quod simpliciter dat signum ac omnes s.

    IN: – Dic, sodes, in uno ingenti monolitho applicationis tua scripta, an in operas aliquas vel etiam in microservias incidisti?

    EK: – Monolithum non habemus, sane applicationis muneris ordinati habemus. Iocum habemus, quod opera nostra e monolithis facta sunt - satis magna sunt. Miracula vocare difficile est, sed haec sunt officia intra quae operarii machinarum distributarum operantur.

    Si officium in servo aedilis est...

    IN: - Deinde altera quaestio est. Etiamsi monolithus sit, tamen dixistis multos habere istorum ministrorum instantium, omnes basically processum notitiarum, et quaestio est: "In eventu transactio unius instantis servientis vel applicationis, quaevis nexus singularis. an aliquam potestatem habent accessus? quid eorum potest? Quis debeo contactum pro qua notitia?

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    EK: - Ita plane. Securitas postulata satis gravis sunt. Uno modo, notitia motus apertos habemus, portus sunt tantum per quos motus in antecessum negotiationis anticipamus. Si componentia communicaverit cum datorum (dice, Muskul) per 5-4-3-2, solum 5-4-3-2 ei patebit, et alii portus et aliae directiones negotiationis praesto non erunt. Praeterea intelligere debes in nostra productione circa 10 diversas ansas securitatis esse. Etiam si applicatio aliquo modo aedilis, quod absit, oppugnator accedere non poterit ministratori administratione consolandi, quia haec zona securitatis retis diversa est.

    IN: – Et hoc in contextu, id mihi magis interest, quod quaedam pacta cum servitiis habes - quid facere possint, per quae "actiones" se invicem contingere possunt... Et in communi fluxu quaedam certa officia quaedam petunt. versu, index "actus" in altero. Non videntur aliis vertere in situ normali, et alias habent partes officiorum. Si alter eorum compromissus est, poteritne "actiones" illius servitutis perturbare?...

    EK: — Intelligo. Si in statu normali cum alio servo communicationis omnino concessum est, tunc est. Secundum SLA contractum, monitorem non solum primum 3 "actus" permisit, et 4 "actiones" non permisit. Hoc probabiliter nobis redundans est, quia iam habemus rationem 4-gradus praesidii, in principio, pro circuitibus. Venustates nos defendere maluimus, quam pro interioribus.

    Quam Visa, MasterCard et Sberbank opus

    IN: - punctum declarare volo de mutandi usuario ab uno centri in alium. Quantum scio, Visa et MasterCard operantur utentes 8583 synchrono protocollo binarii, et miscentur ibi. Et scire volui, nunc significamus commutatione - num directe "Visa" et "MasterCard" vel ante systemata solvendi, antequam processus?

    EK: — Haec prius miscet. Nostra permiscet in eadem Mauris interdum sita.

    IN: – Dure loquendo, habes unum punctum nexum?

    EK: - "Visa" et "MasterCard" - sic. Simplex, quia Visa et MasterCard requirunt satis graves collocationes in infrastructura ad concludendum contractus separatos ad alterum par mixtionis obtinendum, exempli gratia. Reservantur intra unum centrum datae, sed si, quod absit, centrum notitiarum nostrarum, ubi miscentur pro connectendo cum Visa et MasterCard, moritur, nexum cum Visa et MasterCard amissum habebimus.

    IN: - Quomodo reservantur? Scio Visa permittere unam tantum connexionem in principio!

    EK: — Apparatum sibi praebent. In omni casu, instrumento recepimus quod intus redundat plene.

    IN: – Ita sta est ex iunctis Auriaco?...

    EK: - Ita.

    IN: – Sed quid de hoc casu: si evanuerit centrum Mauris interdum, quo modo uti potes? An negotiatio tantum cessat?

    EK: — Haud. In hoc casu, negotiationem ad alium canalem simpliciter transibimus, quae naturaliter nobis et clientibus nostris carior erit. Negotiatio autem non per directam connexionem cum Visa, MasterCard, sed per conditionalem Sberbank (valde aucta).

    Paenitet me bacchatur si offendi Sberbank employees. Sed secundum statisticam nostram, inter ripas Russiae, Sberbank frequentius cadit. Mensis non praeterit sine aliquo defluente apud Sberbank.

    HighLoad ++, Evgeniy Kuzovlev (EcommPay IT): quid ageret cum minutam downtime constat $ 100000

    Quidam ads

    Gratias tibi ago pro manendo nobiscum. Placetne tibi vasa nostra? Vis videre plus interesting contentus? Suscipe nos ponendo ordinem vel commendando amicos; cloud VPS for developers from $4.99, unicum analogum de ingressu servientibus, quod a nobis pro vobis est inventum: Tota veritas de VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps e $19 vel quomodo ministrator communicabit? (praesto cum RAID1 et RAID10, usque ad 24 coros et usque ad 40GB DDR4).

    Dell R730xd 2x vilius in Equinix Tier IV centri Amstelodami? Tantum hic 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV from $199 in Belgio! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - from $99! Read about Quomodo aedificare infrastructuras: Ed. classis cum usu Dell R730xd E5-2650 v4 servientibus valet 9000 nummis Europaeis?

Source: www.habr.com

Add a comment