Siostam sgrùdaidh eile

Siostam sgrùdaidh eile
16 modems, 4 oibrichean ceallach = Astar a-mach 933.45 Mbit/s

Ro-ràdh

Halò! Tha an artaigil seo mu dheidhinn mar a sgrìobh sinn siostam sgrùdaidh ùr dhuinn fhìn. Tha e eadar-dhealaichte bhon fheadhainn a th’ ann mar-thà na chomas air meatrach sioncronaich àrd-tricead fhaighinn agus caitheamh ghoireasan glè ìosal. Faodaidh an ìre bhòtaidh ruighinn 0.1 milliseconds le cruinneas sioncronaidh eadar meatrach de 10 nanoseconds. Tha 6 megabytes aig a h-uile faidhle binary.

Mun phròiseact

Tha toradh caran sònraichte againn. Bidh sinn a’ toirt a-mach fuasgladh coileanta airson geàrr-chunntas a dhèanamh air trochur agus fulangas sgàinidhean nan seanalan tar-chuir dàta. Seo nuair a tha grunn shianalan ann, canaidh sinn Operator1 (40Mbit/s) + Operator2 (30Mbit/s)+ Rud eile (5 Mbit/s), is e an toradh aon seanal seasmhach agus luath, agus bidh an astar aige rudeigin mar seo: (40+ 30+5)x0.92=75×0.92=69 Mbit/s.

Tha iarrtas ann airson fuasglaidhean leithid seo far nach eil comas aon seanail gu leòr. Mar eisimpleir, còmhdhail, siostaman sgrùdaidh bhidio agus sruthadh bhidio fìor-ùine, craoladh craolaidhean telebhisean is rèidio beò, goireasan fo-bhailtean far nach eil ach riochdairean bhon Big Four am measg nan companaidhean cian-conaltraidh agus chan eil an astar air aon mhodem / seanail gu leòr. .
Airson gach aon de na raointean sin, bidh sinn a ’toirt a-mach loidhne innealan fa leth, ach tha am pàirt bathar-bog aca cha mhòr an aon rud agus tha siostam sgrùdaidh àrd-inbhe mar aon de na prìomh mhodalan aige, às aonais a bhuileachadh ceart cha bhiodh an toradh comasach.

Thairis air grunn bhliadhnaichean, chaidh againn air siostam sgrùdaidh ioma-ìre, luath, tar-àrd-ùrlar agus aotrom a chruthachadh. Is e seo a tha sinn airson a roinn leis a’ choimhearsnachd spèis againn.

Aithris dhuilgheadas

Tha an siostam sgrùdaidh a’ toirt seachad meatrach de dhà chlas a tha gu tur eadar-dhealaichte: metrics fìor-ùine agus a h-uile càil eile. Cha robh ach na riatanasan a leanas aig an t-siostam sgrùdaidh:

  1. Togail sioncronaich àrd-tricead de mheatairean fìor-ùine agus an gluasad chun t-siostam riaghlaidh conaltraidh gun dàil.
    Chan e a-mhàin gu bheil tricead àrd agus sioncronadh diofar mheatrach cudromach, tha e deatamach airson mion-sgrùdadh a dhèanamh air entropy de shianalan tar-chuir dàta. Mas e ann an aon seanal tar-chuir dàta an dàil cuibheasach 30 milliseconds, an uairsin bidh mearachd ann an sioncronadh eadar na meatrach a tha air fhàgail de dìreach aon millisecond a’ leantainn gu lughdachadh astar an t-seanail a thig às le timcheall air 5%. Ma nì sinn mearachd air an àm le 1 millisecond thairis air 4 seanalan, faodaidh an lughdachadh astair tuiteam gu 30% gu furasta. A bharrachd air an sin, bidh entropy ann an seanalan ag atharrachadh gu math luath, mar sin ma tha sinn ga thomhas nas lugha na aon uair gach 0.5 milliseconds, air seanalan luath le dàil bheag gheibh sinn truailleadh àrd-astar. Gu dearbh, chan eil feum air a leithid de mhearachd airson a h-uile meatrach agus chan ann anns a h-uile suidheachadh. Nuair a tha an dàil san t-sianal 500 milliseconds, agus bidh sinn ag obair le leithid, cha mhòr nach fhaicear mearachd 1 millisecond. Cuideachd, airson meatrach siostam taic beatha, tha ìrean bhòtaidh agus sioncronaidh gu leòr againn de 2 dhiog, ach feumaidh an siostam sgrùdaidh fhèin a bhith comasach air obrachadh le ìrean bhòtaidh fìor àrd agus sioncronadh fìor mhionaideach air meatrach.
  2. Caitheamh stòrais as ìsle agus aon stac.
    Faodaidh an inneal crìochnachaidh a bhith an dàrna cuid na ionad cumhachdach air bòrd as urrainn sgrùdadh a dhèanamh air an t-suidheachadh air an rathad no clàradh biometric de dhaoine, no coimpiutair aon-bhòrd meud pailme a bhios saighdear feachdan sònraichte a ’caitheamh fo armachd a’ chuirp gus bhidio a chuir a-steach. fìor-ùine ann an droch shuidheachaidhean conaltraidh. A dh'aindeoin an leithid de dh'ailtireachd agus cumhachd coimpiutaireachd, bu mhath leinn an aon stac bathar-bog a bhith againn.
  3. Ailtireachd sgàile
    Feumaidh metrics a bhith air an cruinneachadh agus air an cruinneachadh air an inneal deireannach, air an stòradh gu h-ionadail, agus air am faicinn ann an àm fìor agus air ais. Ma tha ceangal ann, gluais dàta chun t-siostam sgrùdaidh meadhanach. Nuair nach eil ceangal ann, bu chòir don ciudha cur a chruinneachadh agus gun a bhith ag ithe RAM.
  4. API airson amalachadh a-steach do shiostam sgrùdaidh an neach-ceannach, leis nach eil feum aig duine air mòran de shiostaman sgrùdaidh. Feumaidh an neach-ceannach dàta a chruinneachadh bho innealan agus lìonraidhean sam bith ann an aon sgrùdadh.

Dè a thachair

Gus nach cuir mi eallach air an fhad-leughaidh a tha mar-thà drùidhteach, cha toir mi eisimpleirean agus tomhasan de na siostaman sgrùdaidh gu lèir. Leanaidh seo gu artaigil eile. Bidh mi dìreach ag ràdh nach robh e comasach dhuinn siostam sgrùdaidh a lorg a tha comasach air dà mheatair a ghabhail aig an aon àm le mearachd nas lugha na 1 millisecond agus a bhios ag obair a cheart cho èifeachdach an dà chuid air ailtireachd ARM le 64 MB de RAM agus air ailtireachd x86_64 le 32 GB de RAM. Mar sin, chuir sinn romhainn ar cuid fhìn a sgrìobhadh, as urrainn seo a dhèanamh. Seo na fhuair sinn:

A’ toirt geàrr-chunntas air an t-slighe a-steach de thrì seanalan airson diofar topologies lìonra


Sealladh farsaing air cuid de phrìomh mheatairean

Siostam sgrùdaidh eile
Siostam sgrùdaidh eile
Siostam sgrùdaidh eile
Siostam sgrùdaidh eile

ailtireachd

Bidh sinn a’ cleachdadh Golang mar am prìomh chànan prògramaidh, an dà chuid air an inneal agus san ionad dàta. Rinn e nas sìmplidhe air beatha le bhith a’ cur an gnìomh ioma-obair agus an comas aon fhaidhle binary so-ghnìomhaichte le ceangal statach fhaighinn airson gach seirbheis. Mar thoradh air an sin, bidh sinn a 'sàbhaladh gu mòr ann an goireasan, dòighean agus trafaig airson a bhith a' cleachdadh na seirbheis gu innealan crìochnachaidh, ùine leasachaidh agus debugging còd.

Tha an siostam air a bhuileachadh a rèir prionnsapal modular clasaigeach agus tha grunn fo-shiostaman ann:

  1. Clàradh metrics.
    Tha gach meatrach air a fhrithealadh leis an t-snàthainn aige fhèin agus air a shioncronachadh thairis air seanalan. Bha e comasach dhuinn cruinneas sioncronaidh suas ri 10 nanoseconds a choileanadh.
  2. Stòradh metrics
    Bha sinn a’ taghadh eadar a bhith a’ sgrìobhadh ar stòr fhèin airson sreath ùine no a’ cleachdadh rudeigin a bha ri fhaighinn mar-thà. Tha feum air an stòr-dàta airson dàta ath-shealladh a tha fo ùmhlachd lèirsinn às deidh sin.Is e sin, chan eil dàta ann mu dàil san t-sianal gach 0.5 milliseconds no leughaidhean mearachd anns an lìonra còmhdhail, ach tha astar air gach eadar-aghaidh gach 500 milliseconds. A bharrachd air na riatanasan àrda airson tar-àrd-ùrlar agus caitheamh ghoireasan ìosal, tha e air leth cudromach gum bi sinn comasach air pròiseasadh. tha dàta far a bheil e air a stòradh. Sàbhalaidh seo goireasan coimpiutaireachd uabhasach. Tha sinn air a bhith a’ cleachdadh an Tarantool DBMS sa phròiseact seo bho 2016 agus gu ruige seo chan eil sinn a’ faicinn fear eile air fàire. Sùbailte, le caitheamh stòrais as fheàrr, barrachd air taic theicnigeach iomchaidh. Bidh Tarantool cuideachd a’ cur an gnìomh modal GIS. Gu dearbh, chan eil e cho cumhachdach ri PostGIS, ach tha e gu leòr airson ar gnìomhan a bhith a’ stòradh cuid de mheatairean co-cheangailte ri àite (buntainneach airson còmhdhail).
  3. Sealladh farsaing air metrics
    Tha a h-uile dad gu math sìmplidh an seo. Bidh sinn a’ toirt dàta bhon taigh-bathair agus ga thaisbeanadh ann an àm fìor no air ais.
  4. Sioncronadh dàta leis an t-siostam sgrùdaidh meadhanach.
    Bidh an siostam sgrùdaidh meadhanach a’ faighinn dàta bho gach inneal, ga stòradh le eachdraidh ainmichte agus ga chuir gu siostam sgrùdaidh an teachdaiche tro API. Eu-coltach ri siostaman sgrùdaidh clasaigeach, anns am bi an “ceann” a’ coiseachd timcheall agus a’ cruinneachadh dàta, tha an sgeama eile againn. Bidh na h-innealan fhèin a 'cur dàta nuair a tha ceangal ann. Is e puing glè chudromach a tha seo, leis gu bheil e a’ toirt cothrom dhut dàta fhaighinn bhon inneal airson na h-amannan sin nuair nach robh e ri fhaighinn agus gun a bhith a ’luchdachadh seanalan agus goireasan fhad‘ s nach eil an inneal ri fhaighinn. Bidh sinn a’ cleachdadh frithealaiche sgrùdaidh Influx mar phrìomh shiostam sgrùdaidh. Eu-coltach ris na h-analogan aige, faodaidh e dàta ath-shealladh a thoirt a-steach (is e sin, le stampa ùine eadar-dhealaichte bhon mhionaid a fhuaireadh na meatrach) Tha na meatrach cruinnichte air am faicinn le Grafana, air an atharrachadh le faidhle. Chaidh an stac àbhaisteach seo a thaghadh cuideachd leis gu bheil aonachadh API deiseil aige le cha mhòr siostam sgrùdaidh teachdaiche sam bith.
  5. Sioncronadh dàta le siostam riaghlaidh inneal meadhanach.
    Bidh an siostam riaghlaidh inneal a’ cur an gnìomh Zero Touch Provisioning (ag ùrachadh firmware, rèiteachadh, msaa) agus, eu-coltach ris an t-siostam sgrùdaidh, chan fhaigh e ach duilgheadasan gach inneal. Tha iad sin nan luchd-brosnachaidh airson obrachadh seirbheisean faire bathar-cruaidh air bòrd agus a h-uile meatrach de shiostaman taic beatha: teòthachd CPU agus SSD, luchd CPU, àite an-asgaidh agus slàinte SMART air diosgan. Tha stòradh an fho-shiostam cuideachd air a thogail air Tarantool. Bheir seo astar mòr dhuinn ann a bhith a’ cruinneachadh sreathan ùine thar mìltean de dh’ innealan, agus cuideachd gu tur a’ fuasgladh na cùise mu bhith a’ sioncronadh dàta leis na h-innealan sin. Tha siostam ciudha agus lìbhrigeadh cinnteach aig Tarantool. Fhuair sinn am feart cudromach seo a-mach às a’ bhogsa, sgoinneil!

Lìonra siostam rianachd

Siostam sgrùdaidh eile

Dè tha ri thighinn

Gu ruige seo, is e an ceangal as laige a th’ againn an siostam sgrùdaidh meadhanach. Tha e air a bhuileachadh 99.9% air stac àbhaisteach agus tha grunn eas-bhuannachdan ann:

  1. Bidh InfluxDB a’ call dàta nuair a thèid cumhachd a chall. Mar riaghailt, bidh an Neach-ceannach gu sgiobalta a ’tional a h-uile dad a thig bho na h-innealan agus chan eil dàta anns an stòr-dàta fhèin nas sine na 5 mionaidean, ach san àm ri teachd dh’ fhaodadh seo a bhith na phian.
  2. Tha grunn dhuilgheadasan aig Grafana le cruinneachadh dàta agus sioncronadh a thaisbeanadh. Is e an duilgheadas as cumanta nuair a tha sreath ùine anns an stòr-dàta le eadar-ama de 2 dhiog a’ tòiseachadh bho, can, 00:00:00, agus tha Grafana a’ tòiseachadh a’ sealltainn dàta ann an cruinneachadh bho +1 diog. Mar thoradh air an sin, tha an neach-cleachdaidh a 'faicinn graf dannsa.
  3. Cus de chòd airson amalachadh API le siostaman sgrùdaidh treas-phàrtaidh. Faodar a dhèanamh tòrr nas toinnte agus gu dearbh ath-sgrìobhadh ann an Go)

Tha mi a’ smaoineachadh gu bheil thu uile air faicinn gu foirfe cò ris a tha Grafana coltach agus gu bheil fios agad air na duilgheadasan aige às aonais mise, agus mar sin cha bhith mi a’ luchdachadh cus den phost le dealbhan.

co-dhùnadh

Cha tug mi cunntas air mion-fhiosrachadh teicnigeach a dh’aona ghnothach, ach cha tug mi cunntas ach air dealbhadh bunaiteach an t-siostaim seo. An toiseach, gus cunntas iomlan a thoirt air an t-siostam, bidh feum air artaigil eile. San dàrna h-àite, cha bhi ùidh aig a h-uile duine ann an seo. Sgrìobh anns na beachdan dè am mion-fhiosrachadh teicnigeach a bu mhath leat faighinn a-mach.

Ma tha ceistean aig duine taobh a-muigh farsaingeachd an artaigil seo, faodaidh tu sgrìobhadh thugam aig [email protected]

Source: www.habr.com

Cuir beachd ann