Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Hi uile! Is e m ’ainm Sergey Kostanbaev, aig an Exchange tha mi a’ leasachadh cridhe an t-siostam malairt.

Nuair a sheallas iad Malairt Stoc New York ann am filmichean Hollywood, bidh e an-còmhnaidh a ’coimhead mar seo: sluagh mòr, a h-uile duine ag èigheach rudeigin, a’ crathadh phàipearan, tha caos iomlan ann. Cha robh seo a-riamh againn air Iomlaid Moscow, oir chaidh malairt a dhèanamh gu dealanach bhon fhìor thoiseach agus tha e stèidhichte air dà phrìomh àrd-ùrlar - Spectra (margaidh air adhart) agus ASTS (airgead, stoc agus margaidh airgid). Agus an-diugh tha mi airson bruidhinn mu mean-fhàs ailtireachd siostam malairt is glanaidh ASTS, mu dhiofar fhuasglaidhean agus cho-dhùnaidhean. Bidh an sgeulachd fada, agus mar sin bha agam ri a roinn ann an dà phàirt.

Tha sinn mar aon den bheagan iomlaidean san t-saoghal a bhios a’ malairt maoin de gach clas agus a’ toirt seachad làn raon de sheirbheisean iomlaid. Mar eisimpleir, an-uiridh bha sinn san dàrna àite san t-saoghal a thaobh meud malairt bannan, 25mh am measg gach iomlaid stoc, 13mh a thaobh calpachadh am measg iomlaidean poblach.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Do luchd-tairgse proifeasanta, tha paramadairean leithid ùine freagairt, seasmhachd cuairteachaidh ùine (jitter) agus earbsachd an togalaich gu lèir deatamach. Tha sinn an-dràsta a’ làimhseachadh deichean de mhilleanan de ghnothaichean gach latha. Bidh giullachd gach gnìomh le cridhe an t-siostaim a’ toirt deichean de mhicroseconds. Gu dearbh, airson luchd-obrachaidh ceallach air Oidhche na Bliadhn 'Ùire no airson innealan rannsachaidh, tha an t-uallach obrach fhèin nas àirde na an fheadhainn againn, ach a thaobh eallach obrach, còmhla ris na feartan gu h-àrd, chan urrainn ach beagan coimeas a dhèanamh rinn, mar a tha e coltach riumsa. Aig an aon àm, tha e cudromach dhuinn nach bi an siostam a 'slaodadh sìos airson diog, gu bheil e ag obair gu tur seasmhach, agus gu bheil a h-uile neach-cleachdaidh air an aon stèidh.

Beagan eachdraidh

Ann an 1994, chaidh siostam ASTS Astràilia a chuir air bhog aig Iomlaid Airgead Eadar-bhanca Moscow (MICEX), agus bhon mhionaid sin air adhart, faodar eachdraidh malairt dealanach na Ruis a chunntadh. Ann an 1998, chaidh ailtireachd an iomlaid ùrachadh gus malairt air-loidhne a thoirt a-steach. Bhon uairsin, chan eil astar buileachadh fhuasglaidhean ùra agus atharrachaidhean ailtireil anns a h-uile siostam agus fo-shiostam air a bhith a’ faighinn ach gluasad.

Anns na bliadhnaichean sin, bha an siostam iomlaid ag obair air bathar-cruaidh àrd - frithealaichean ultra-earbsach HP Superdome 9000 (air a thogail air an ailtireachd PA-RISC), a dhùblaich a h-uile dad gu tur: fo-shiostaman I / O, lìonra, RAM (gu dearbh, bha sreath RAID de RAM), pròiseasairean (bha taic ri iomlaid teth). Bha e comasach pàirt sam bith den fhrithealaiche atharrachadh gun stad a chuir air an inneal. Bha sinn an urra ris na h-innealan sin, gam meas cha mhòr gun trioblaid. Bha an siostam obrachaidh na shiostam coltach ri Unix HP UX.

Ach bho timcheall air 2010, tha iongantas leithid malairt àrd-tricead (HFT) air nochdadh, no malairt àrd-tricead - dìreach cuir, innealan-fuadain iomlaid. Ann an dìreach 2,5 bliadhna, tha an luchd air na frithealaichean againn air a dhol suas 140 uair.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Bha e eu-comasach a bhith an aghaidh a leithid de luchd leis an t-seann ailtireachd agus uidheamachd. B’ fheudar dhomh dòigh air choireigin atharrachadh.

An toiseach

Faodar iarrtasan airson an t-siostam iomlaid a roinn ann an dà sheòrsa:

  • gnothaichean. Ma tha thu airson dolairean, stocan no rudeigin eile a cheannach, bidh thu a’ cur malairt chun t-siostam malairt agus a’ faighinn freagairt soirbheachais.
  • Iarrtasan fiosrachaidh. Ma tha thu airson faighinn a-mach mun phrìs làithreach, faic an leabhar òrduigh no clàran-amais, an uairsin cuir iarrtasan fiosrachaidh.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

A thaobh sgeama, faodar cridhe an t-siostam a roinn ann an trì ìrean:

  • An ìre teachdaiche aig a bheil brocairean ag obair, teachdaichean. Bidh iad uile ag eadar-obrachadh le frithealaichean ruigsinneachd.
  • Tha frithealaichean ruigsinneachd (Gateways) nan frithealaichean caching a bhios a’ làimhseachadh gach iarrtas fiosrachaidh gu h-ionadail. A bheil thu airson faighinn a-mach dè a ’phrìs a tha earrannan Sberbank a’ malairt an-dràsta? Thèid an t-iarrtas chun an fhrithealaiche ruigsinneachd.
  • Ach ma tha thu airson earrannan a cheannach, thèid an t-iarrtas chun phrìomh fhrithealaiche (Inneal Malairt). Tha aon fhrithealaiche mar sin ann airson gach seòrsa margaidh, tha àite deatamach aca, agus is ann dhaibhsan a chruthaich sinn an siostam seo.

Tha cridhe an t-siostam malairt na stòr-dàta duilich ann an cuimhne anns a bheil a h-uile gnothach mar ghnothaichean iomlaid. Chaidh am bonn a sgrìobhadh ann an C, bho eisimeileachd bhon taobh a-muigh cha robh ann ach leabharlann libc agus cha robh riarachadh cuimhne fiùghantach ann idir. Gus an ùine giollachd a lughdachadh, bidh an siostam a’ tòiseachadh le seata statach de arrays agus le gluasad dàta statach: an toiseach, tha a h-uile dàta airson an latha an-diugh air a luchdachadh a-steach don chuimhne, agus an uairsin cha tèid ruigsinneachd diosc a dhèanamh, tha a h-uile obair air a dhèanamh mar chuimhneachan a-mhàin. Nuair a thòisicheas an siostam, tha a h-uile dàta iomraidh air a sheòrsachadh mu thràth, agus mar sin bidh an sgrùdadh ag obair gu math èifeachdach agus a’ toirt glè bheag de ùine aig àm ruith. Tha a h-uile clàr air a dhèanamh le liostaichean sàrachail agus craobhan airson structaran dàta fiùghantach gus nach fheum iad riarachadh cuimhne aig àm ruith.

Nach toir sinn sùil ghoirid air eachdraidh leasachadh ar siostam malairt is glanaidh.
Chaidh a 'chiad dreach de ailtireachd an t-siostam malairt is glanaidh a thogail air an eadar-obrachadh Unix ris an canar: chaidh cuimhne co-roinnte, semaphores agus ciudhaichean a chleachdadh, agus bha aon snàithlean anns gach pròiseas. Chaidh an dòigh-obrach seo a chleachdadh gu farsaing tràth anns na 1990n.

Anns a 'chiad dreach den t-siostam bha dà ìre den Gateway agus prìomh fhrithealaiche an t-siostam malairt. Bha an sgeama-obrach mar a leanas:

  • Bidh an neach-dèiligidh a’ cur iarrtas a thig chun Gateway. Bidh e a’ sgrùdadh dligheachd a’ chruth (ach chan e an dàta fhèin) agus a’ diùltadh gnothaichean mì-dhligheach.
  • Ma chaidh iarrtas fiosrachaidh a chuir, thèid a chuir gu bàs gu h-ionadail; ma tha sinn a’ bruidhinn mu dheidhinn malairt, tha e air ath-stiùireadh chun phrìomh fhrithealaiche.
  • Bidh an einnsean malairt an uairsin a’ giullachd a’ ghnothaich, ag atharrachadh a’ chuimhne ionadail, agus a’ cur an fhreagairt don ghnothach, agus a’ ghnothach fhèin gu ath-riochdachadh le bhith a’ cleachdadh inneal mac-samhail fa-leth.
  • Bidh an geata a’ faighinn freagairt bhon nód sa mheadhan agus ga chuir air adhart chun neach-dèiligidh.
  • Às deidh beagan ùine, bidh an Gateway a ’faighinn a’ ghnothaich tron ​​​​inneal ath-riochdachadh, agus an turas seo bidh e ga chuir an gnìomh gu h-ionadail, ag atharrachadh a structaran dàta gus am bi na h-ath iarrtasan fiosrachaidh a ’nochdadh an fhìor dàta.

Gu dearbh, tha am modail ath-riochdachadh air a mhìneachadh an seo, anns an do rinn an Gateway ath-aithris gu tur air na gnìomhan a chaidh a dhèanamh san t-siostam malairt. Thug seanal mac-samhail air leth seachad an aon òrdugh gnìomh malairt air ioma nodan ruigsinneachd.

Leis gu robh an còd aon-snàithleach, chaidh an sgeama clasaigeach le forcaichean pròiseas a chleachdadh gus seirbheis a thoirt do mhòran luchd-dèiligidh. Ach, bha e gu math daor an stòr-dàta gu lèir a chuir air bhog, agus mar sin chaidh pròiseasan seirbheis aotrom a chleachdadh a chruinnich pacaidean bho sheiseanan TCP agus gan cur ann an aon ciudha (SystemV Message Ciudha). Dh’obraich Gateway and Trade Engine a-mhàin leis a’ chiudha seo, a’ toirt gnothaichean às an sin airson an cur gu bàs. Cha robh e comasach tuilleadh freagairt a chuir thuige, oir chan eil e soilleir dè am pròiseas seirbheis a bu chòir a leughadh. Mar sin chaidh sinn gu cleas: chruthaich gach pròiseas forcaichte ciudha freagairt dha fhèin, agus nuair a thàinig iarrtas a-steach don ciudha a bha a’ tighinn a-steach, chaidh taga airson ciudha freagairt a chuir ris sa bhad.

Chruthaich a bhith a’ dèanamh lethbhreac cunbhalach de mhòran dàta bho chiudha gu ciudha duilgheadasan, gu sònraichte airson iarrtasan fiosrachaidh. Mar sin, chleachd sinn cleas eile: a bharrachd air a’ chiudha freagairt, chruthaich gach pròiseas cuimhne co-roinnte (SystemV Shared Memory). Chaidh na pacaidean fhèin a chuir ann, agus cha deach ach an taga a stòradh anns a’ chiudha, a’ toirt cothrom dhut am pasgan tùsail a lorg. Chuidich seo le bhith a’ cumail an dàta ann an tasgadan a’ phròiseasar.

Tha SystemV IPC a’ toirt a-steach goireasan airson coimhead air inbhe nithean ciudha, cuimhne, agus semaphore. Chleachd sinn seo gu gnìomhach gus tuigse fhaighinn air na tha a’ tachairt san t-siostam aig àm sònraichte, far a bheil pacaidean a’ cruinneachadh, dè a tha air a bhacadh, msaa.

A’ chiad ùrachadh

An toiseach, fhuair sinn cuidhteas an Gateway aon-phròiseas. B’ e ana-cothrom mòr a bh’ ann gum b’ urrainn dha aon chuid gnìomh ath-riochdachadh no aon iarrtas fiosrachaidh bhon neach-dèiligidh a phròiseasadh. Agus mar a bhios an luchd a’ fàs, bheir an Gateway nas fhaide airson iarrtasan a ghiullachd agus cha bhith e comasach dha an t-sruth mac-samhail a làimhseachadh. A bharrachd air an sin, ma chuir an neach-dèiligidh malairt a-steach, cha leig thu leas ach sgrùdadh a dhèanamh air dligheachd agus ath-stiùireadh tuilleadh. Mar sin, tha sinn air mòran phàirtean a chuir an àite aon phròiseas Gateway a dh’ obraicheas aig an aon àm: fiosrachadh ioma-snàithlean agus pròiseasan gnìomh a bhios ag obair gu neo-eisimeileach air raon cuimhne cumanta a’ cleachdadh glasadh RW. Agus aig an aon àm thug sinn a-steach pròiseasan cur agus ath-riochdachadh.

Buaidh Malairt Àrd-tricead

Mhair an dreach gu h-àrd den ailtireachd gu 2010. Anns an eadar-ama, cha robh sinn riaraichte tuilleadh le coileanadh luchd-frithealaidh HP Superdome. A bharrachd air an sin, bhàsaich ailtireachd PA-RISC gu dearbh, cha tug an neach-reic seachad ùrachaidhean cudromach sam bith. Mar thoradh air an sin, thòisich sinn a’ gluasad bho HP UX/PA RISC gu Linux/x86. Thòisich an gluasad le bhith ag atharrachadh luchd-frithealaidh ruigsinneachd.

Carson a dh'fheumadh sinn an ailtireachd atharrachadh a-rithist? Is e an fhìrinn gu bheil malairt àrd-tricead air atharrachadh mòr a thoirt air ìomhaigh luchdan air cridhe an t-siostaim.

Canaidh sinn gu bheil malairt beag againn a dh’ adhbhraich atharrachadh mòr ann am prìsean - cheannaich cuideigin leth billean dolar. Às deidh beagan mhilleanan-tomhais, bidh a h-uile com-pàirtiche sa mhargaidh a ’mothachadh seo agus a’ tòiseachadh air a cheartachadh. Gu nàdarra, tha iarrtasan ann an ciudha mòr, a bheir an siostam ùine mhòr airson a ghlanadh.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Aig an eadar-ama seo de 50 ms, tha an astar cuibheasach timcheall air 16 mìle gnothach gach diog. Ma lùghdaicheas sinn an uinneag gu 20 ms, gheibh sinn astar cuibheasach de 90 mìle gnothach gach diog, agus aig an ìre as àirde bidh 200 mìle gnothach ann. Ann am faclan eile, tha an luchd neo-sheasmhach, le spreadhaidhean biorach. Agus feumaidh an ciudha iarrtasan a bhith air a làimhseachadh gu sgiobalta an-còmhnaidh.

Ach carson a tha ciudha ann idir? Mar sin, nar n-eisimpleir, tha mòran de luchd-cleachdaidh air mothachadh a dhèanamh air an atharrachadh prìsean agus tha iad a’ cur gnothaichean co-fhreagarrach. Bidh iad sin a’ tighinn chun Gateway, bidh e gan sreathachadh, a’ suidheachadh òrdugh sònraichte agus gan cur chun lìonra. Bidh routers a’ gluasad phasganan agus gan cur air adhart. Cò am pacaid a thàinig an toiseach, bhuannaich an gnothach sin. Mar thoradh air an sin, thòisich luchd-ceannach iomlaid a ’mothachadh ma thèid an aon ghnothach a chuir bho ghrunn Gateways, an uairsin àrdachadh ann an cothroman giollachd luath. Goirid, thòisich innealan-fuadain iomlaid a 'toirt ionnsaigh air a' Gateway le iarrtasan, agus dh'èirich maoim-sneachda de ghnothaichean.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Sreath ùr de evolution

Às deidh ùine fhada de dheuchainn agus sgrùdadh, thionndaidh sinn gu kernel siostam obrachaidh fìor-ùine. Gus seo a dhèanamh, thagh sinn RedHat Enterprise MRG Linux, far a bheil MRG a’ seasamh airson teachdaireachdan griod fìor-ùine. Is e a ’bhuannachd a th’ ann am badan fìor-ùine gu bheil iad a ’dèanamh an fheum as fheàrr den t-siostam airson an coileanadh as luaithe a tha comasach: tha a h-uile pròiseas air a lìnigeadh ann an ciudha FIFO, faodaidh coraichean a bhith aonaranach, gun a bhith air an tilgeil a-mach, tha a h-uile gnothach air a phròiseasadh ann an òrdugh teann.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1
Dearg - obraich leis a ’chiudha anns an kernel àbhaisteach, uaine - obraich anns an kernel fìor-ùine.

Ach chan eil e furasta latency ìosal a choileanadh air frithealaichean àbhaisteach:

  • Tha am modh SMI, a tha mar bhunait air an obair le iomaill cudromach ann an ailtireachd x86, a’ cur bacadh làidir air. Bidh am firmware a ’giullachd a h-uile seòrsa de thachartasan bathar-cruaidh agus riaghladh phàirtean agus innealan anns a’ mhodh SMI follaiseach ris an canar, anns nach eil an siostam obrachaidh a ’faicinn idir dè a tha am firmware a’ dèanamh. Mar riaghailt, tha a h-uile prìomh neach-reic a 'tabhann leudachadh sònraichte airson frithealaichean firmware a lùghdaicheas an ìre de ghiollachd SMI.
  • Cha bu chòir smachd fiùghantach a bhith ann air tricead pròiseasar, bidh seo a’ leantainn gu ùine downt a bharrachd.
  • Nuair a thèid iris an t-siostam faidhle a shruthladh, bidh cuid de phròiseasan a’ tachairt anns an kernel a dh’ adhbhraicheas dàil nach gabh a thuigsinn.
  • Feumaidh tu aire a thoirt do rudan mar CPU Affinity, Interrupt affinity, NUMA.

Feumaidh mi a ràdh, tha cuspair stèidheachadh bathar-cruaidh agus an kernel Linux airson giullachd fìor-ùine airidh air artaigil air leth. Chuir sinn seachad tòrr ùine a’ feuchainn agus a’ rannsachadh mus d’ fhuair sinn deagh thoradh.

Nuair a ghluais sinn bho luchd-frithealaidh PA-RISC gu x86, cha mhòr nach robh againn ri còd an t-siostaim atharrachadh mòran, cha do rinn sinn ach atharrachadh agus ath-dhealbhadh. Aig an aon àm, chaidh grunn bhiteagan a rèiteachadh. Mar eisimpleir, thàinig buaidh gu luath air buaidh PA RISC mar shiostam endian mòr agus x86 mar cheann-cinnidh beag: mar eisimpleir, chaidh dàta a leughadh gu ceàrr. B’ e biast nas duilghe a bhios PA RISC a’ cleachdadh cunbhalach cunbhalach (Co-chòrdail sreathach) ruigsinneachd cuimhne, agus faodaidh x86 gnìomhachd leughaidh ath-òrdachadh, agus mar sin chaidh còd a bha gu tur dligheach air aon àrd-ùrlar a bhriseadh air àrd-ùrlar eile.

Às deidh atharrachadh gu x86, mheudaich coileanadh faisg air trì tursan, chaidh an ùine giollachd malairt cuibheasach sìos gu 60 µs.

Bheir sinn a-nis sùil nas mionaidiche air na prìomh atharrachaidhean a chaidh a dhèanamh air ailtireachd an t-siostaim.

Hot Standby Epic

Nuair a thionndaidh sinn gu frithealaichean bathar, bha sinn mothachail nach robh iad cho earbsach. Mar sin, nuair a bha sinn a’ cruthachadh ailtireachd ùr, ghabh sinn a priori ris gum faodadh fàilligeadh air aon nod no barrachd. Mar sin, bha feum air siostam teas-stad, comasach air atharrachadh gu innealan cùl-taic gu math luath.

A bharrachd air an sin, bha riatanasan eile ann:

  • Cha bu chòir gnothaichean pròiseasaichte a bhith air an call ann an suidheachadh sam bith.
  • Feumaidh an siostam a bhith gu tur follaiseach don bhun-structar againn.
  • Cha bu chòir do luchd-ceannach briseadh ceangail fhaicinn.
  • Cha bu chòir glèidheadh ​​​​dàil mhòr a thoirt a-steach, oir tha seo na fheart deatamach airson an iomlaid.

Nuair a bha sinn a’ cruthachadh siostam teas-stad, cha do bheachdaich sinn air suidheachaidhean mar fàilligeadh dùbailte (mar eisimpleir, sguir an lìonra air aon fhrithealaiche ag obair agus bha am prìomh fhrithealaiche crochte); cha do bheachdaich e air comasachd mearachdan anns a’ bhathar-bog, leis gu bheil iad air an lorg aig àm deuchainn; agus cha do bheachdaich e air obrachadh ceàrr an iarainn.

Mar thoradh air an sin, thàinig sinn suas leis an sgeama a leanas:

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

  • Bha am prìomh fhrithealaiche ag eadar-obrachadh gu dìreach leis na frithealaichean Gateway.
  • Chaidh a h-uile gnothach a thàinig chun phrìomh fhrithealaiche ath-aithris sa bhad chun t-seirbheisiche cùl-taic tro sheanal air leth. Cho-òrdanaich an neach-rèiteachaidh (Riaghladair) an suidse nam biodh duilgheadas sam bith ann.

    Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

  • Phròiseas am prìomh fhrithealaiche gach gnothach agus dh'fheitheamh ri dearbhadh bhon t-seirbheisiche cùl-taic. Gus an dàil a chumail cho ìosal, thrèig sinn a bhith a’ feitheamh ris a’ ghnothach a chrìochnachadh air an t-seirbheisiche cùl-taic. Leis gu robh fad a ’ghnothaich a’ gluasad tron ​​​​lìonra an coimeas ris an ùine cur gu bàs, cha deach dàil a bharrachd a chuir ris.
  • Cha b’ urrainn dhuinn ach coimeas a dhèanamh eadar inbhe giullachd nam prìomh luchd-frithealaidh agus cùl-taic airson a’ ghnothaich roimhe, agus cha robh fios air inbhe giullachd a’ ghnothaich làithreach. Leis gu robh e fhathast a 'cleachdadh pròiseasan aon-snàithleach, le bhith a' feitheamh ri freagairt bho Cùl-taic chuireadh sin maill air an t-sruth giollachd gu lèir, agus mar sin rinn sinn co-rèiteachadh reusanta: rinn sinn sgrùdadh air toradh a 'ghnothaich roimhe.

Mean-fhàs air ailtireachd siostam malairt is glanaidh Malairt Moscow. Pàirt 1

Bha an sgeama ag obair mar a leanas.

Canaidh sinn gu bheil am prìomh fhrithealaiche air stad a bhith a’ freagairt, ach tha na Geataichean a’ leantainn air adhart a’ conaltradh. Tha ùine-ama air a phiobrachadh air an t-seirbheisiche cùl-taic, tionndaidhidh e chun an Riaghladair, agus sònraichidh e àite a’ phrìomh fhrithealaiche dha, agus bidh a h-uile Geata ag atharrachadh chun phrìomh fhrithealaiche ùr.

Ma thig am prìomh fhrithealaiche air ais air-loidhne, bidh e cuideachd a’ piobrachadh ùine a-staigh leis nach deach fios a chuir chun fhrithealaiche leis a’ Gateway airson ùine shònraichte. An uairsin bidh e cuideachd a 'tionndadh chun an Riaghladair, agus tha e ga thoirmeasg bhon sgeama. Mar thoradh air an sin, bidh an iomlaid ag obair le aon fhrithealaiche gu deireadh na h-ùine malairt. Leis gu bheil coltachd fàilligeadh frithealaiche gu math ìosal, bhathas den bheachd gu robh an leithid de sgeama gu math iomchaidh, cha robh loidsig iom-fhillte ann agus chaidh a dhearbhadh gu furasta.

Airson a leantainn.

Source: www.habr.com

Cuir beachd ann