Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Artem Denisov ( bo0rsh201, Badoo)

Is e Badoo an làrach suirghe as motha san t-saoghal. Tha timcheall air 330 millean neach-cleachdaidh clàraichte againn an-dràsta air feadh an t-saoghail. Ach is e an rud a tha tòrr nas cudromaiche ann an co-theacsa ar còmhraidh an-diugh gu bheil sinn a’ stòradh timcheall air 3 petabytes de dhealbhan luchd-cleachdaidh. Gach latha bidh ar luchd-cleachdaidh a’ luchdachadh suas timcheall air 3,5 millean dealbh ùr, agus tha an luchd leughaidh mu dheidhinn 80 mìle iarrtas gach diog. Tha seo gu math mòr airson ar backend, agus uaireannan tha duilgheadasan ann le seo.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bruidhnidh mi mu dhealbhadh an t-siostam seo, a bhios a’ stòradh agus a’ cur dhealbhan san fharsaingeachd, agus bheir mi sùil air bho shealladh leasaiche. Bidh ath-shealladh goirid ann air mar a leasaich e, far an toir mi cunntas air na prìomh chlachan-mìle, ach cha bhith mi a’ bruidhinn ach ann am barrachd mionaideachd mu na fuasglaidhean a tha sinn a’ cleachdadh an-dràsta.

A-nis leig dhuinn tòiseachadh.


Mar a thuirt mi, bidh seo na ath-shealladh, agus gus a thòiseachadh an àiteigin, gabhamaid an eisimpleir as cumanta.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha gnìomh cumanta againn, feumaidh sinn gabhail ri, stòradh agus cuir air falbh dealbhan luchd-cleachdaidh. Anns an fhoirm seo, tha an obair coitcheann, is urrainn dhuinn rud sam bith a chleachdadh:

  • stòradh neòil ùr-nodha,
  • fuasgladh ann am bocsa, agus tha moran dhiubh a nis ;
  • Is urrainn dhuinn grunn innealan a chuir air dòigh san ionad dàta againn agus draibhearan mòra cruaidh a chuir orra agus dealbhan a stòradh an sin.

Gu h-eachdraidheil, tha Badoo - an-dràsta agus an uairsin (aig an àm nuair a bha e dìreach na òige) - a 'fuireach air na seirbhisean aige fhèin, taobh a-staigh ar DCs fhèin. Mar sin, bha an roghainn seo na b’ fheàrr dhuinne.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Thog sinn grunn innealan, ris an canar “photos” riutha, agus fhuair sinn cruinneachadh a bhios a’ stòradh dhealbhan. Ach tha e coltach gu bheil rudeigin a dhìth. Gus an obraich seo uile, feumaidh sinn dòigh air choireigin co-dhùnadh dè an inneal a bhios sinn a 'stòradh dè na dealbhan. Agus an seo, cuideachd, chan eil feum air Ameireaga fhosgladh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh sinn a’ cur beagan raon ris a’ stòradh againn le fiosrachadh mu luchd-cleachdaidh. Bidh seo na iuchair sharding. Anns a ’chùis againn, thug sinn place_id air, agus tha an id àite seo a’ comharrachadh an àite far a bheil dealbhan luchd-cleachdaidh air an stòradh. Bidh sinn a’ dèanamh mhapaichean.

Aig a 'chiad ìre, faodar seo a dhèanamh eadhon le làimh - tha sinn ag ràdh gun tig dealbh den neach-cleachdaidh seo le àite mar sin air tìr air a leithid de fhrithealaiche. Taing don mhapa seo, bidh fios againn an-còmhnaidh cuin a bhios neach-cleachdaidh a’ luchdachadh suas dealbh, càite an sàbhail e e, agus tha fios againn cò às a bheir iad e.

Is e sgeama gu tur beag a tha seo, ach tha buannachdan gu math cudromach ann. Is e a’ chiad fhear gu bheil e sìmplidh, mar a thuirt mi, agus is e an dàrna fear leis an dòigh-obrach seo gun urrainn dhuinn sgèile gu còmhnard le bhith dìreach a’ lìbhrigeadh chàraichean ùra agus gan cur ris a’ mhapa. Chan fheum thu dad eile a dhèanamh.

Sin mar a bha e dhuinn o chionn greis.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bha seo timcheall air 2009. Lìbhrig iad càraichean, lìbhrig iad...

Agus aig àm air choreigin thòisich sinn a 'mothachadh gu bheil cuid de eas-bhuannachdan aig an sgeama seo. Dè na h-eas-bhuannachdan a th’ ann?

An toiseach, tha comas cuibhrichte ann. Chan urrainn dhuinn na h-uimhir de dhràibhearan cruaidh a chuir air aon fhrithealaiche fiosaigeach agus a bu toil leinn. Agus tha seo air a thighinn gu bhith na dhuilgheadas sònraichte thar ùine agus le fàs an dàta.

Agus an dàrna. Is e rèiteachadh neo-àbhaisteach de dh’ innealan a tha seo, leis gu bheil innealan mar sin duilich an ath-chleachdadh ann an cuid de chruinneachaidhean eile; tha iad gu math sònraichte, i.e. bu chòir dhaibh a bhith lag ann an coileanadh, ach aig an aon àm le cruth cruaidh mòr.

Bha seo uile airson 2009, ach, ann am prionnsabal, tha na riatanasan sin fhathast buntainneach an-diugh. Tha ath-shealladh againn, agus mar sin ann an 2009 bha a h-uile dad gu tur dona le seo.

Agus is e a’ phuing mu dheireadh a’ phrìs.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bha a’ phrìs gu math cas aig an àm sin, agus dh’fheumadh sinn coimhead airson roghainnean eile. An fheadhainn sin. dh'fheumadh sinn dòigh air choireigin a dhèanamh nas fheàrr air an àite anns na h-ionadan dàta agus na frithealaichean fiosaigeach air a bheil seo uile suidhichte. Agus thòisich na h-innleadairean siostam againn air sgrùdadh mòr anns an do rinn iad ath-sgrùdadh air grunn roghainnean eadar-dhealaichte. Choimhead iad cuideachd air siostaman faidhle cruinn leithid PolyCeph agus Luster. Bha duilgheadasan coileanaidh ann agus obrachadh gu math duilich. Dhiùlt iad. Dh'fheuch sinn ris an dàta gu lèir a chuir suas tro NFS air gach càr gus a mheudachadh ann an dòigh air choireigin. Chaidh droch leughadh cuideachd, dh’ fheuch sinn ri fuasglaidhean eadar-dhealaichte bho dhiofar luchd-reic.

Agus aig a 'cheann thall, shocraich sinn air a bhith a' cleachdadh an lìonra sgìre stòraidh ris an canar.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Is iad sin SHDan mòra a tha air an dealbhadh gu sònraichte airson tòrr dàta a stòradh. Tha iad nan sgeilpichean le diosgan a tha air an cur suas air na h-innealan toraidh optigeach deireannach. Sin. tha cruinneachadh de dh’ innealan againn, gu math beag, agus tha na SHDn sin, a tha follaiseach don reusanachadh againn, i.e. airson ar nginx no duine sam bith eile iarrtasan airson na dealbhan seo a thoirt seachad.

Bha buannachdan follaiseach aig a’ cho-dhùnadh seo. Is e seo SHD. Tha e ag amas air dealbhan a stòradh. Tha seo ag obrachadh a-mach nas saoire na dìreach a bhith ag uidheamachadh innealan le draibhearan cruaidh.

An dàrna plus.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Is e seo gu bheil an comas air fàs mòran nas motha, i.e. gabhaidh sinn tòrr a bharrachd stòraidh ann an tomhas mòran nas lugha.

Ach bha eas-bhuannachdan ann cuideachd a nochd gu math luath. Mar a dh'fhàs an àireamh de luchd-cleachdaidh agus luchd air an t-siostam seo, thòisich duilgheadasan coileanaidh ag èirigh. Agus tha an duilgheadas an seo gu math follaiseach - tha SHD sam bith a chaidh a dhealbhadh gus mòran dhealbhan a stòradh ann an tomhas beag, mar riaghailt, a ’fulang le leughadh dian. Tha seo dha-rìribh fìor airson stòradh neòil no rud sam bith eile. A-nis chan eil stòr air leth againn a bhiodh gu tur scalable, dh’ fhaodadh tu rud sam bith a chuir a-steach ann, agus dh’ fhuilingeadh e leughaidhean glè mhath. Gu sònraichte leughaidhean casual.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Mar a tha fìor leis na dealbhan againn, oir thathas ag iarraidh dealbhan gu neo-chunbhalach, agus bheir seo buaidh mhòr air an coileanadh.

Fiù ‘s a rèir figearan an latha an-diugh, ma gheibh sinn àite nas motha na 500 RPS airson dealbhan air inneal ris a bheil stòradh ceangailte, tha duilgheadasan a’ tòiseachadh mar-thà. Agus bha e dona gu leòr dhuinne, leis gu bheil an àireamh de luchd-cleachdaidh a’ fàs, chan eil cùisean ach a’ dol a dh’ fhàs nas miosa. Feumaidh seo a bhith air a bharrrachadh dòigh air choireigin.

Gus an fheum as fheàrr a dhèanamh, chuir sinn romhainn aig an àm sin, gu follaiseach, coimhead air ìomhaigh an luchd - dè, san fharsaingeachd, a tha a ’tachairt, dè a dh’ fheumar a mheudachadh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus an seo tha a h-uile dad a 'cluich nar làmhan.

Thuirt mi mu thràth air a’ chiad shleamhnag: tha 80 mìle iarrtas leughaidh againn gach diog le dìreach 3,5 millean luchdachadh suas gach latha. Is e sin, is e seo eadar-dhealachadh de thrì òrdughan meudachd. Tha e follaiseach gum feumar leughadh a mheudachadh agus tha e cha mhòr soilleir ciamar.

Tha aon phuing beag eile ann. Tha mion-fhiosrachadh na seirbheis mar sin gu bheil neach a 'clàradh, a' luchdachadh suas dealbh, an uairsin a 'tòiseachadh a' coimhead gu gnìomhach air daoine eile, mar iad, agus air a shealltainn gu gnìomhach do dhaoine eile. An uairsin lorgaidh e companach no lorg e companach, bidh e an urra ri mar a thionndaidheas e, agus stadaidh e a’ cleachdadh na seirbheis airson greis. Aig an àm seo, nuair a bhios e ga chleachdadh, tha na dealbhan aige glè theth - tha iarrtas orra, tha mòran dhaoine gam faicinn. Cho luath ‘s a sguireas e de seo a dhèanamh, gu math luath bidh e a’ tuiteam a-mach à uimhir de dh ’fhiosrachadh do dhaoine eile’ s a bha e roimhe, agus cha mhòr nach eilear ag iarraidh na dealbhan aige.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

An fheadhainn sin. Tha stòr-dàta teth glè bheag againn. Ach aig an aon àm tha tòrr iarrtasan air. Agus is e fuasgladh gu tur follaiseach an seo tasgadan a chuir ris.

Fuasglaidh tasgadan le LRU na duilgheadasan againn uile. Dè tha sinn a' dèanamh?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh sinn a’ cur fear beag eile air beulaibh ar cruinneachadh mòr le stòradh, ris an canar photocaches. Tha seo gu bunaiteach dìreach na neach-ionaid caching.

Ciamar a tha e ag obair bhon taobh a-staigh? Seo an neach-cleachdaidh againn, seo an stòradh. Tha a h-uile dad mar a bha e roimhe. Dè a chuireas sinn eatorra?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Is e dìreach inneal a th’ ann le diosc ionadail corporra, a tha luath. Tha seo le SSD, mar eisimpleir. Agus tha seòrsa de tasgadan ionadail air a stòradh air a’ chlàr seo.

Cò ris a tha e coltach? Bidh an neach-cleachdaidh a’ cur iarrtas airson dealbh. Bidh NGINX a’ coimhead air a shon an-toiseach san tasgadan ionadail. Mura h-eil, an uairsin dìreach proxy_pass chun stòr againn, luchdaich sìos an dealbh às an sin agus thoir don neach-cleachdaidh e.

Ach tha am fear seo gu math banal agus chan eil e soilleir dè a tha a’ tachairt a-staigh. Bidh e ag obair rudeigin mar seo.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha an tasgadan air a roinn gu loidsigeach ann an trì sreathan. Nuair a chanas mi “trì sreathan”, chan eil seo a’ ciallachadh gu bheil seòrsa de shiostam iom-fhillte ann. Chan e, chan eil annta seo ach trì clàran san t-siostam faidhle:

  1. Is e seo bufair far am bi dealbhan dìreach air an luchdachadh sìos bho neach-ionaid.
  2. Is e tasgadan teth a tha seo a bhios a’ stòradh dealbhan a chaidh iarraidh gu gnìomhach.
  3. Agus tasgadan fuar, far am bi dealbhan air am putadh a-mach às an tasgadan teth mean air mhean nuair a thig nas lugha de dh’ iarrtasan thuca.

Airson seo a bhith ag obair, feumaidh sinn dòigh air choireigin an tasgadan seo a riaghladh, feumaidh sinn na dealbhan a th’ ann ath-rèiteachadh, msaa. Tha seo cuideachd na phròiseas fìor thùsail.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh Nginx dìreach a ’sgrìobhadh chun RAMDisk access.log airson gach iarrtas, anns a bheil e a’ comharrachadh an t-slighe chun dealbh a tha e air a fhrithealadh an-dràsta (slighe càirdeach, gu dearbh), agus dè an sgaradh a chaidh a fhrithealadh. An fheadhainn sin. faodaidh e “dealbh 1” a ràdh agus an uairsin bufair, no tasgadan teth, no tasgadan fuar, no neach-ionaid.

A rèir seo, feumaidh sinn dòigh air choireigin co-dhùnadh dè a nì sinn leis an dealbh.

Tha deamhan beag againn a’ ruith air gach inneal a bhios an-còmhnaidh a’ leughadh an loga seo agus a’ stòradh staitistig air cleachdadh dhealbhan sònraichte mar chuimhneachan air.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh e dìreach a’ cruinneachadh an sin, a’ cumail nan cunntairean agus a’ dèanamh na leanas bho àm gu àm. Bidh e a’ gluasad dhealbhan a chaidh iarraidh gu gnìomhach, air a bheil mòran iarrtasan, chun an tasgadan teth, ge bith càite a bheil iad.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh dealbhan a thathas ag iarraidh ach ainneamh agus nach deach iarraidh cho tric air an putadh a-mach às an tasgadan teth a-steach don fhear fhuar.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus nuair a ruitheas sinn a-mach à àite san tasgadan, bidh sinn dìreach a’ tòiseachadh a’ cuir às do gach nì bhon tasgadan fhuar gun lethbhreith. Agus leis an t-slighe, tha seo ag obair gu math.

Gus an tèid an dealbh a shàbhaladh sa bhad nuair a bhios sinn ga chuir a-steach don bhufair, bidh sinn a’ cleachdadh an stiùireadh proxy_store agus tha am bufair cuideachd na RAMDisk, i.e. airson an neach-cleachdaidh bidh e ag obair gu math luath. Tha seo a’ buntainn ri taobh a-staigh an fhrithealaiche tasgadan fhèin.

Is e a’ cheist a tha air fhàgail ciamar a thèid iarrtasan a sgaoileadh thairis air na frithealaichean sin.

Canaidh sinn gu bheil cruinneachadh de fhichead inneal stòraidh agus trì frithealaichean caching (seo mar a thachair).

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Feumaidh sinn dòigh air choireigin co-dhùnadh dè na h-iarrtasan a th’ ann airson dè na dealbhan agus càite an cuir iad air tìr iad.

Is e an roghainn as cumanta Round Robin. No dèan e le tubaist?

Tha e follaiseach gu bheil grunn eas-bhuannachdan aig seo oir bhiodh sinn a’ cleachdadh an tasgadan gu math neo-èifeachdach ann an suidheachadh mar sin. Thig iarrtasan air tìr air cuid de dh’ innealan air thuaiream: an seo chaidh a thasgadh, ach air an ath fhear chan eil e ann tuilleadh. Agus ma dh'obraicheas seo uile, bidh e gu math dona. Fiù 's le àireamh bheag de dh'innealan anns a' bhuidheann.

Feumaidh sinn dòigh air choireigin co-dhùnadh dè an t-seirbheisiche a thig gu tìr air an iarrtas.

Tha dòigh banal ann. Bidh sinn a 'toirt an hash bhon URL no an hash bhon iuchair sharding againn, a tha san URL, agus ga roinn leis an àireamh de luchd-frithealaidh. Obraichidh? Bidh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

An fheadhainn sin. Tha iarrtas 2% againn, mar eisimpleir, airson cuid de “example_url” bidh e an-còmhnaidh a’ tighinn air tìr air an fhrithealaiche le clàr-amais “XNUMX”, agus bidh an tasgadan an-còmhnaidh air a chuir air falbh cho math sa ghabhas.

Ach tha duilgheadas ann le ath-cheannach ann an leithid de sgeama. Resharding - tha mi a 'ciallachadh atharrachadh air an àireamh de luchd-frithealaidh.

Gabhamaid ris nach urrainn don bhuidheann tasgadan againn dèiligeadh tuilleadh agus tha sinn a’ co-dhùnadh inneal eile a chuir ris.

Cuiridh sinn.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

A-nis tha a h-uile dad air a sgaradh chan ann le trì, ach le ceithir. Mar sin, cha mhòr a h-uile iuchair a b’ àbhaist a bhith againn, tha cha mhòr a h-uile URL a-nis beò air frithealaichean eile. Chaidh an tasgadan gu lèir a dhì-dhligheachadh dìreach airson mionaid. Thuit a h-uile iarrtas air ar cruinneachadh stòraidh, dh'fhàs e tinn, dh'fhàillig seirbheis agus luchd-cleachdaidh mì-riaraichte. Chan eil mi airson sin a dhèanamh.

Chan eil an roghainn seo freagarrach dhuinn idir.

Sin. dè bu chòir dhuinn a dhèanamh? Feumaidh sinn dòigh air choireigin feum èifeachdach a dhèanamh den tasgadan, an aon iarrtas a chuir gu tìr air an aon fhrithealaiche a-rithist is a-rithist, ach a bhith an aghaidh ath-cheannach. Agus tha fuasgladh mar sin ann, chan eil e cho iom-fhillte. Canar hashing cunbhalach ris.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Dè a tha coltach ri seo?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh sinn a 'toirt beagan gnìomh bhon iuchair sharding agus a' sgaoileadh a luachan gu lèir air a 'chearcall. An fheadhainn sin. aig puing 0, tha na luachan as ìsle agus as àirde aige a’ tighinn còmhla. An ath rud, bidh sinn a’ cur na frithealaichean againn uile air an aon chearcall timcheall air an dòigh seo:

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha gach frithealaiche air a mhìneachadh le aon phuing, agus tha an roinn a thèid thuige, a rèir sin, air a frithealadh leis an aoigh seo. Nuair a thig iarrtasan thugainn, chì sinn sa bhad, mar eisimpleir, iarrtas A - tha hash aige an sin - agus tha e air a fhrithealadh le frithealaiche 2. Iarrtas B - le frithealaiche 3. Agus mar sin air adhart.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Dè thachras san t-suidheachadh seo aig àm ath-chuiridh?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Cha bhith sinn a’ dèanamh dì-dhligheachadh air an tasgadan gu lèir, mar a bha roimhe, agus cha bhith sinn a’ gluasad na h-iuchraichean gu lèir, ach bidh sinn a’ gluasad gach roinn astar goirid gus am bi, an ìre mhath a’ bruidhinn, an t-siathamh frithealaiche againn, a tha sinn airson a chur ris, a’ freagairt air an àite an-asgaidh, agus cuiridh sinn an sin e.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Gu dearbh, ann an suidheachadh mar sin na h-iuchraichean cuideachd a 'gluasad a-mach. Ach tha iad a’ gluasad a-mach tòrr nas laige na bha iad roimhe. Agus chì sinn gun do dh’ fhan a’ chiad dà iuchair againn air na frithealaichean aca, agus cha do dh’ atharraich am frithealaiche tasgadan ach airson an iuchair mu dheireadh. Bidh seo ag obair gu math èifeachdach, agus ma chuireas tu luchd-aoigheachd ùra ris mean air mhean, chan eil duilgheadas mòr ann an seo. Bidh thu a’ cur ris agus a’ cur beagan ris aig aon àm, feitheamh gus am bi an tasgadan làn a-rithist, agus bidh a h-uile càil ag obair gu math.

Tha an aon cheist fhathast le diùltadh. Gabhamaid ris gu bheil seòrsa de chàr a-mach à òrdugh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus cha bhiodh sinn dha-rìribh ag iarraidh am mapa seo ath-nuadhachadh aig an àm seo, pàirt den tasgadan a dhì-dhligheachadh, agus mar sin air adhart, nam biodh, mar eisimpleir, an inneal air ath-thòiseachadh, agus feumaidh sinn dòigh air choireigin iarrtasan seirbheis. Bidh sinn dìreach a’ cumail aon tasglann dhealbhan cùl-taic aig gach làrach, a bhios ag obair an àite inneal sam bith a tha sìos an-dràsta. Agus mura h-eil aon de na frithealaichean againn ri fhaighinn gu h-obann, thèid an trafaic ann. Gu nàdarra, chan eil tasgadan sam bith againn an sin, i.e. tha e fuar, ach co-dhiù tha iarrtasan luchd-cleachdaidh gan làimhseachadh. Mas e ùine ghoirid a tha seo, bidh sinn ga fhaicinn gu tur socair. Tha dìreach barrachd luchdan air stòradh. Ma tha an ùine seo fada, faodaidh sinn co-dhùnadh a dhèanamh mu thràth - an frithealaiche seo a thoirt air falbh bhon mhapa no nach eil, no is dòcha fear eile a chuir na àite.

Tha seo mu dheidhinn an t-siostam caching. Bheir sinn sùil air na toraidhean.

Bhiodh e coltach nach eil dad iom-fhillte an seo. Ach thug an dòigh seo airson an tasgadan a riaghladh ìre cleas timcheall air 98%. An fheadhainn sin. a-mach às na 80 mìle iarrtas sin gach diog, chan eil ach 1600 a’ ruighinn stòradh, agus is e eallach gu tur àbhaisteach a tha seo, bidh iad gu socair ga chumail, tha tèarmann againn an-còmhnaidh.

Chuir sinn na frithealaichean sin ann an trì de na DCan againn, agus fhuair sinn trì puingean làthaireachd - Prague, Miami agus Hong Kong.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Sin. tha iad gu ìre mhòr air an suidheachadh gu h-ionadail anns gach aon de na margaidhean targaid againn.

Agus mar bhuannachd mhath, fhuair sinn an neach-ionaid caching seo, air a bheil an CPU gu dearbh leisg, leis nach eil feum air cho mòr airson susbaint a fhrithealadh. Agus an sin, a’ cleachdadh NGINX + Lua, chuir sinn an gnìomh tòrr loidsig utilitarian.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Mar eisimpleir, is urrainn dhuinn feuchainn le webp no jpeg adhartach (is e cruthan ùr-nodha èifeachdach a tha seo), faicinn mar a bheir e buaidh air trafaic, co-dhùnaidhean a dhèanamh, a chomasachadh airson cuid de dhùthchannan, msaa; dèan ath-mheudachadh fiùghantach no bàrr dealbhan air an itealan.

Is e deagh chleachdadh a tha seo nuair a tha, mar eisimpleir, tagradh gluasadach agad a sheallas dealbhan, agus nach eil an aplacaid gluasadach airson CPU an neach-dèiligidh a chaitheamh air dealbh mòr iarraidh agus an uairsin ath-mheudachadh gu meud sònraichte gus a phutadh a-steach. an sealladh. Is urrainn dhuinn gu sìmplidh cuid de pharamadairean a shònrachadh ann an URL cumhach UPort, agus bidh an tasgadan dhealbhan ag ath-mheudachadh an dealbh fhèin. Mar riaghailt, taghaidh e am meud a tha againn gu corporra air an diosc, cho faisg ‘s a ghabhas air an fhear a chaidh iarraidh, agus ath-reic e ann an co-chomharran sònraichte.

Co-dhiù, tha sinn air clàraidhean bhidio de na còig bliadhna mu dheireadh de cho-labhairt luchd-leasachaidh shiostaman luchdan àrd fhoillseachadh gu poblach. HighLoad ++. Coimhead, ionnsaich, co-roinn agus fo-sgrìobhadh Sianal YouTube.

Faodaidh sinn cuideachd tòrr loidsig toraidh a chuir ris an sin. Mar eisimpleir, is urrainn dhuinn comharran-uisge eadar-dhealaichte a chur ris a’ cleachdadh paramadairean URL, is urrainn dhuinn dealbhan a dhearmad, a dhearmad no pixelate. Seo nuair a tha sinn airson dealbh de dhuine a shealltainn, ach chan eil sinn airson aodann a nochdadh, tha seo ag obair gu math, tha e uile air a chuir an gnìomh an seo.

Dè fhuair sinn? Fhuair sinn trì puingean làthaireachd, ìre math math, agus aig an aon àm chan eil CPU seòlta againn air na h-innealan sin. Tha e a-nis, gu dearbh, air fàs nas cudromaiche na bha e roimhe. Feumaidh sinn càraichean nas làidire a thoirt dhuinn fhìn, ach is fhiach e.

Tha seo mu dheidhinn tilleadh dhealbhan. Tha a h-uile dad an seo gu math soilleir agus follaiseach. Tha mi a’ smaoineachadh nach do lorg mi Ameireagaidh, tha cha mhòr CDN ag obair mar seo.

Agus, as coltaiche, is dòcha gum bi ceist aig neach-èisteachd sòlaimte: carson nach atharraich thu a h-uile càil gu CDN? Bhiodh e mu dheidhinn an aon rud; faodaidh gach CDN ùr-nodha seo a dhèanamh. Agus tha grunn adhbharan ann.

Is e a’ chiad fhear dealbhan.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

'S e seo aon de phrìomh phuingean ar bun-structair, agus feumaidh sinn uiread de smachd 's as urrainn dhuinn air. Mas e fuasgladh de sheòrsa air choreigin a tha seo bho reiceadair treas-phàrtaidh, agus nach eil cumhachd sam bith agad thairis air, bidh e gu math duilich dhut a bhith beò leis nuair a bhios stòr-dàta mòr agad, agus nuair a bhios sruth mòr agad. de dh'iarrtasan luchd-cleachdaidh.

Leig dhomh eisimpleir a thoirt dhut. A-nis, leis a’ bhun-structar againn, is urrainn dhuinn, mar eisimpleir, gun fhios nach bi cuid de dhuilgheadasan no buillean fon talamh ann, a dhol chun inneal agus a dhol timcheall an sin, gu ìre mhath a’ bruidhinn. Faodaidh sinn an cruinneachadh de chuid de mheatairean a chuir ris nach fheum sinn ach, is urrainn dhuinn feuchainn dòigh air choireigin, faicinn mar a bheir seo buaidh air na grafaichean, agus mar sin air adhart. A-nis tha mòran staitistig gan cruinneachadh mun bhuidheann caching seo. Agus bidh sinn a 'coimhead air bho àm gu àm agus a' caitheamh ùine mhòr a 'sgrùdadh cuid de neo-riaghailteachdan. Nam biodh e air taobh CDN, bhiodh e tòrr na bu duilghe smachd a chumail air. No, mar eisimpleir, ma thachras tubaist de sheòrsa air choreigin, tha fios againn dè a thachair, tha fios againn mar a dh'fhuiricheas sinn leis agus mar a gheibh sinn thairis air. 'S e seo a' chiad cho-dhùnadh.

Tha an dàrna co-dhùnadh cuideachd caran eachdraidheil, leis gu bheil an siostam air a bhith a’ leasachadh airson ùine mhòr, agus bha mòran riatanasan gnìomhachais eadar-dhealaichte aig diofar ìrean, agus chan eil iad an-còmhnaidh a’ freagairt air bun-bheachd CDN.

Agus is e a’ phuing a tha a’ leantainn bhon fhear roimhe

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha seo air sgàth gu bheil tòrr loidsig sònraichte againn air caches dhealbhan, nach gabh a chuir ris ma thèid iarraidh. Chan eil e coltach gun cuir CDN sam bith rudan gnàthaichte riut ma dh’ iarras tu. Mar eisimpleir, crioptachadh URLan mura h-eil thu airson gum bi e comasach don neach-dèiligidh rudeigin atharrachadh. A bheil thu airson an URL air an fhrithealaiche atharrachadh agus a chrioptachadh, agus an uairsin cuir cuid de pharamadairean fiùghantach an seo.

Dè an co-dhùnadh a tha seo a’ moladh? Anns a 'chùis againn, chan e roghainn fìor mhath a th' ann an CDN.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus anns a 'chùis agad, ma tha riatanasan gnìomhachais sònraichte agad, faodaidh tu gu furasta na sheall mi dhut fhèin a chur an gnìomh. Agus obraichidh seo gu foirfe le ìomhaigh luchdan coltach ris.

Ach ma tha fuasgladh coitcheann de sheòrsa air choreigin agad, agus nach eil an obair gu math sònraichte, faodaidh tu CDN a ghabhail gu sàbhailte. No ma tha ùine agus goireasan nas cudromaiche dhut na smachd.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus tha cha mhòr a h-uile dad aig CDNan an latha an-diugh a dh’ innis mi dhut mu dheidhinn a-nis. Ach a-mhàin plus no minus cuid de fheartan.

Tha seo mu dheidhinn dealbhan a thoirt seachad.

Gluaisidh sinn a-nis beagan air adhart san ath-shealladh againn agus bruidhinn mu stòradh.

Bha 2013 a’ dol seachad.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Chaidh frithealaichean tasgadan a chuir ris, dh’ fhalbh duilgheadasan coileanaidh. Tha a h-uile dad gu math. Tha an stòr-dàta a’ fàs. Mar 2013, bha timcheall air frithealaichean 80 againn ceangailte ri stòradh, agus timcheall air 40 caching anns gach DC. Is e seo 560 terabytes de dhàta air gach DC, i.e. timcheall air petabyte gu h-iomlan.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus le fàs an dàta, thòisich cosgaisean obrachaidh ag èirigh gu mòr. Dè bha seo a' ciallachadh?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Anns an diagram seo a tha air a tharraing - le SAN, le innealan agus caches ceangailte ris - tha tòrr phuingean fàilligeadh. Nam biodh sinn air dèiligeadh ri fàilligeadh luchd-frithealaidh caching roimhe seo, bha a h-uile dad gu ìre mhòr ro-innseach agus so-thuigsinn, ach air an taobh stòraidh bha a h-uile dad tòrr na bu mhiosa.

An toiseach, an Lìonra Raon Stòraidh (SAN) fhèin, a dh'fhaodas fàiligeadh.

San dàrna h-àite, tha e ceangailte tro optics ris na h-innealan crìochnachaidh. Dh’ fhaodadh gum bi duilgheadasan ann le cairtean optigeach agus plugaichean sradag.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Gu dearbh, chan eil uimhir dhiubh ann agus a tha leis an SAN fhèin, ach, a dh’ aindeoin sin, tha iad sin cuideachd nam puingean fàiligeadh.

An ath rud tha an inneal fhèin, a tha ceangailte ris an stòradh. Faodaidh e fàiligeadh cuideachd.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Gu h-iomlan, tha trì puingean fàilligeadh againn.

A bharrachd air an sin, a bharrachd air puingean fàilligeadh, tha cumail suas trom air an stòradh fhèin.

Is e siostam ioma-phàirteach iom-fhillte a tha seo, agus faodaidh ùine chruaidh a bhith aig innleadairean siostaman ag obair leis.

Agus am puing mu dheireadh, as cudromaiche. Ma dh’ fhailicheas gin de na trì puingean sin, tha cothrom neo-neoni againn dàta luchd-cleachdaidh a chall leis gum faodadh an siostam faidhle tuiteam às.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Canaidh sinn gu bheil an siostam faidhle againn briste. Sa chiad àite, a 'faighinn air ais a' toirt ùine fhada - faodaidh e seachdain a ghabhail le tòrr dàta. Agus san dàrna h-àite, aig a ’cheann thall tha e glè choltach gum bi dòrlach de fhaidhlichean do-thuigsinn againn a dh’ fheumas a bhith air an cur còmhla ann an dealbhan cleachdaiche. Agus tha cunnart ann gun caill sinn dàta. Tha an cunnart gu math àrd. Agus mar as trice a thachras leithid de shuidheachaidhean, agus mar as motha de dhuilgheadasan a thig am bàrr anns an t-sreath iomlan seo, is ann as àirde a bhios an cunnart seo.

Dh’ fheumadh rudeigin a dhèanamh mu dheidhinn seo. Agus cho-dhùin sinn nach fheum sinn ach lethbhreac glèidhidh a dhèanamh den dàta. Tha seo dha-rìribh na fhuasgladh follaiseach agus na fhuasgladh math. Dè a rinn sinn?

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Seo mar a bha an frithealaiche againn coltach nuair a bha e ceangailte ri stòradh roimhe. Is e seo aon phrìomh roinn, is e dìreach inneal bloca a tha gu dearbh a’ riochdachadh sreap airson stòradh aig astar tro optics.

Chuir sinn dìreach dàrna earrann ris.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Chuir sinn dàrna stòr ri thaobh (gu fortanach, chan eil e cho daor a thaobh airgead), agus thug sinn cùl-taic ris. Tha e cuideachd ceangailte tro optics agus tha e suidhichte air an aon inneal. Ach feumaidh sinn dòigh air choireigin an dàta a shioncronachadh eatorra.

An seo bidh sinn dìreach a’ dèanamh ciudha asyncronach faisg air làimh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Chan eil i uabhasach trang. Tha fios againn nach eil clàran gu leòr againn. Chan eil ann an ciudha ach clàr ann am MySQL anns a bheil loidhnichean mar “feumaidh tu cùl-taic a dhèanamh den dealbh seo” air an sgrìobhadh. Le atharrachadh no luchdachadh suas sam bith, bidh sinn a’ dèanamh lethbhreac bhon phrìomh sgaradh gu cùl-taic a’ cleachdadh neach-obrach asyncronach no dìreach seòrsa de neach-obrach cùl-fhiosrachaidh.

Agus mar sin bidh dà earrann cunbhalach againn an-còmhnaidh. Fiù ma dh'fhàilligeas aon phàirt den t-siostam seo, is urrainn dhuinn an-còmhnaidh am prìomh sgaradh atharrachadh le cùl-taic, agus cumaidh a h-uile càil ag obair.

Ach air sgàth seo, tha an luchd leughaidh a’ dol am meud gu mòr, leis gu bheil... a bharrachd air teachdaichean a leughas bhon phrìomh earrann, oir bidh iad an-toiseach a’ coimhead air an dealbh an sin (tha e nas ùire an sin), agus an uairsin a’ coimhead air a shon air a’ chùl-taic, mura h-eil iad air a lorg (ach tha NGINX dìreach a’ dèanamh seo), tha an siostam againn cuideachd na chùl-taic adhartach a-nis a’ leughadh bhon phrìomh sgaradh. Chan e gur e cnap-starra a bha seo, ach cha robh mi airson an luchd àrdachadh, gu bunaiteach, dìreach mar sin.

Agus chuir sinn treas diosc ris, a tha na SSD beag, agus thug sinn bufair air.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Mar a tha e ag obair a-nis.

Bidh an neach-cleachdaidh a’ luchdachadh suas dealbh chun bhufair, agus an uairsin thèid tachartas a thilgeil a-steach don ciudha a’ nochdadh gum feumar a chopaigeadh ann an dà earrann. Tha e air a chopaigeadh, agus tha an dealbh a 'fuireach air a' bhufair airson ùine (can, latha), agus dìreach an uairsin thèid a ghlanadh às an sin. Tha seo gu mòr a 'leasachadh eòlas an neach-cleachdaidh, seach gu bheil an neach-cleachdaidh a' luchdachadh suas dealbh, mar riaghailt, bidh iarrtasan a 'tòiseachadh a' leantainn sa bhad, no dh'ùraich e fhèin an duilleag agus ùraich e e. Ach tha e uile an urra ris an tagradh a nì an luchdachadh suas.

No, mar eisimpleir, bidh daoine eile ris an do thòisich e ga shealltainn fhèin a 'cur iarrtasan às deidh an dealbh seo. Chan eil e fhathast san tasgadan; bidh a’ chiad iarrtas a’ tachairt gu math luath. Gu bunaiteach an aon rud ri bho tasgadan dhealbhan. Chan eil stòradh slaodach an sàs ann an seo idir. Agus nuair a thèid a ghlanadh latha às deidh sin, tha e mar-thà air a thasgadh air ar còmhdach tasgadan, no, is coltaiche, chan eil feum aig duine air tuilleadh. An fheadhainn sin. Tha eòlas an neach-cleachdaidh an seo air fàs gu math mar thoradh air làimhseachadh cho sìmplidh.

Uill, agus as cudromaiche: stad sinn a 'call dàta.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Canaidh sinn gun do stad sinn comasach dàta a chall, oir cha do chaill sinn e gu mòr. Ach bha cunnart ann. Tha sinn a 'faicinn gu bheil am fuasgladh seo, gu dearbh, math, ach tha e beagan mar a bhith a' fuasgladh comharran na duilgheadas, an àite a bhith ga fhuasgladh gu tur. Agus tha cuid de dhuilgheadasan fhathast an seo.

An toiseach, is e puing fàiligeadh a tha seo ann an cruth an aoigh corporra fhèin air a bheil an inneal seo gu lèir a’ ruith; chan eil e air falbh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

San dàrna h-àite, tha duilgheadasan ann fhathast le SANn, an cumail suas trom, msaa. Cha b’ e gu robh e na fheart èiginneach, ach bha mi airson feuchainn ri dòigh air choireigin a bhith beò às aonais.

Agus rinn sinn an treas dreach (gu dearbh, an dàrna fear gu dearbh) - an dreach glèidhte. Cò ris a bha e coltach?

Seo mar a bha e -

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Is e na prìomh dhuilgheadasan againn leis gur e aoigheachd corporra a tha seo.

An toiseach, tha sinn a’ toirt air falbh SANs oir tha sinn airson feuchainn, tha sinn airson dìreach dràibhean cruaidh ionadail fheuchainn.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Is e seo mar-thà 2014-2015, agus aig an àm sin dh'fhàs an suidheachadh le diosgan agus an comas ann an aon aoigheachd mòran na b 'fheàrr. Cho-dhùin sinn carson nach feuch sinn e.

Agus an uairsin bidh sinn dìreach a’ gabhail ar cùl-taic agus ga ghluasad gu inneal air leth.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Mar sin, gheibh sinn an sgeama seo. Tha dà chàr againn a bhios a’ stòradh na h-aon dàta. Bidh iad a’ cumail suas a chèile gu tur agus a’ sioncronadh dàta thairis air an lìonra tro ciudha asyncronach san aon MySQL.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha carson a tha seo ag obair gu math air sgàth 's nach eil mòran chlàran againn. An fheadhainn sin. nam biodh sgrìobhadh an coimeas ri leughadh, is dòcha gum biodh seòrsa de lìonra againn os an cionn agus duilgheadasan. Chan eil mòran sgrìobhaidh ann, tòrr leughaidh - tha an dòigh seo ag obair gu math, i.e. Is ann ainneamh a bhios sinn a’ dèanamh lethbhreac de dhealbhan eadar an dà fhrithealaiche seo.

Ciamar a tha seo ag obair, ma choimheadas tu beagan nas mionaidiche.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Luchdaich suas. Bidh an cothromaiche dìreach a’ taghadh luchd-aoigheachd air thuaiream le paidhir agus gan luchdachadh suas thuige. Aig an aon àm, bidh e gu nàdarrach a’ dèanamh sgrùdaidhean slàinte agus a’ dèanamh cinnteach nach tuit an càr a-mach. An fheadhainn sin. bidh e a’ luchdachadh suas dealbhan a-mhàin gu frithealaiche beò, agus an uairsin tro ciudha asyncronach tha e uile air a chopaigeadh gu a nàbaidh. Le luchdachadh suas tha a h-uile dad gu math sìmplidh.

Tha an obair beagan nas duilghe.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Chuidich Lua sinn an seo, oir faodaidh e a bhith duilich a leithid de loidsig a dhèanamh air vanilla NGINX. Bidh sinn an-toiseach a’ dèanamh iarrtas chun chiad fhrithealaiche, faic a bheil an dealbh ann, oir dh’ fhaodadh e a bhith air a luchdachadh suas, mar eisimpleir, gu nàbaidh, ach cha do ràinig e fhathast. Ma tha an dealbh ann, tha sin math. Bidh sinn ga thoirt don neach-dèiligidh sa bhad agus, is dòcha, ga thasgadh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Mura h-eil e ann, bidh sinn dìreach a’ dèanamh iarrtas dha ar nàbaidh agus tha sinn cinnteach gum faigh sinn às an sin e.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Sin. a-rithist is urrainn dhuinn a ràdh: is dòcha gu bheil duilgheadasan ann le coileanadh, oir tha cuairtean cruinn cunbhalach ann - chaidh an dealbh a luchdachadh suas, chan eil e an seo, tha sinn a ’dèanamh dà iarrtas an àite aon, bu chòir seo obrachadh gu slaodach.

Anns an t-suidheachadh againn, chan eil seo ag obair gu slaodach.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh sinn a’ cruinneachadh dòrlach de mheatrics air an t-siostam seo, agus tha an ìre snasail cumhach airson uidheamachd mar sin timcheall air 95%. An fheadhainn sin. Tha lag an cùl-taic seo beag, agus air sgàth seo tha sinn cha mhòr cinnteach, às deidh an dealbh a luchdachadh suas, bheir sinn a’ chiad uair e agus cha bhith againn ri dhol a dh'àite sam bith dà uair.

Mar sin dè eile a th’ againn a tha fìor fhionnar?

Roimhe sin, bha am prìomh sgaradh cùl-taic againn, agus leugh sinn bhuapa ann an òrdugh. An fheadhainn sin. Bha sinn an-còmhnaidh a’ sgrùdadh air a’ phrìomh fhear an toiseach, agus an uairsin air a’ chùl-taic. B 'e aon ghluasad a bh' ann.

A-nis bidh sinn a’ cleachdadh leughadh bho dhà inneal aig an aon àm. Bidh sinn a’ sgaoileadh iarrtasan a’ cleachdadh Round Robin. Ann an àireamh sa cheud bheag de chùisean bidh sinn a’ dèanamh dà iarrtas. Ach gu h-iomlan, tha a dhà uimhir de stoc leughaidh againn a-nis na bha againn roimhe. Agus chaidh an luchd a lughdachadh gu mòr an dà chuid air na h-innealan cur agus gu dìreach air na h-innealan stòraidh, a bha againn aig an àm sin cuideachd.

A thaobh fulangas lochdan. Gu fìrinneach, is e seo a bha sinn gu mòr a’ sabaid air a shon. Le fulangas lochdan, thionndaidh a h-uile dad gu math an seo.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Bidh aon chàr a’ briseadh sìos.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Chan eil duilgheadas ann! Is dòcha nach bi innleadair siostam eadhon a ’dùsgadh air an oidhche, fuirichidh e gus a’ mhadainn, cha tachair dad dona.

Ma dh ’fhailicheas an inneal seo, tha an ciudha a-mach à òrdugh, chan eil duilgheadasan ann nas motha, bidh an log dìreach air a chruinneachadh an toiseach air an inneal beò, agus an uairsin thèid a chuir ris a’ chiudha, agus an uairsin air adhart chun chàr a nì sin. dol an gnìomh an dèidh beagan ùine.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha an aon rud a 'buntainn ri cumail suas. Bidh sinn dìreach a’ tionndadh aon de na h-innealan, ga tharraing le làimh a-mach às na linneachan gu lèir, bidh e a’ stad a bhith a’ faighinn trafaic, bidh sinn a’ dèanamh seòrsa de chumail suas, bidh sinn a’ deasachadh rudeigin, agus an uairsin bidh sinn ga thilleadh chun t-seirbheis, agus bidh an cùl-taic seo a’ dol suas gu math luath. An fheadhainn sin. gach latha, bidh ùine downt aon chàr a’ dol suas taobh a-staigh mionaid no dhà. Tha seo dha-rìribh glè bheag. Le fulangas lochdan, bidh mi ag ràdh a-rithist, tha a h-uile dad fionnar an seo.

Dè na co-dhùnaidhean a dh’fhaodar tighinn bhon sgeama call obrach seo?

Fhuair sinn fulangas lochdan.

Furasta a chleachdadh. Leis gu bheil draibhearan cruaidh ionadail aig na h-innealan, tha seo tòrr nas goireasaiche bho shealladh obrachaidh dha na h-innleadairean a tha ag obair leis.

Fhuair sinn cuibhreann leughaidh dùbailte.

Is e buannachd fìor mhath a tha seo a bharrachd air fulangas sgàinidhean.

Ach tha duilgheadasan ann cuideachd. A-nis tha leasachadh mòran nas iom-fhillte againn air cuid de fheartan co-cheangailte ri seo, oir tha an siostam air fàs gu bhith 100% co-chòrdail mu dheireadh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Feumaidh sinn, a ràdh, ann an cuid de dh’ obair cùl-fhiosrachaidh, an-còmhnaidh smaoineachadh: “Dè an frithealaiche air a bheil sinn a’ ruith a-nis?”, “A bheil dealbh gnàthach an seo?” etc. Tha seo, gu dearbh, uile air a phasgadh suas, agus airson a’ phrògramadair a bhios a’ sgrìobhadh loidsig gnìomhachais, tha e follaiseach. Ach, a dh'aindeoin sin, tha an còmhdach mòr iom-fhillte seo air nochdadh. Ach tha sinn ullamh gu cur suas le so mar mhalairt air an t-sochair a fhuair sinn uaith.

Agus an seo a-rithist tha beagan còmhstri ag èirigh.

Thuirt mi aig an toiseach gu bheil e dona a bhith a’ stòradh a h-uile càil air draibhearan cruaidh ionadail. Agus a-nis tha mi ag ràdh gun do chòrd e rinn.

Tha, gu dearbh, thar ùine tha an suidheachadh air atharrachadh gu mòr, agus a-nis tha mòran bhuannachdan aig an dòigh-obrach seo. An toiseach, gheibh sinn obrachadh tòrr nas sìmplidh.

San dàrna h-àite, tha e nas cinneasaiche, leis nach eil na riaghladairean fèin-ghluasadach no na ceanglaichean sin againn ri sgeilpichean diosc.

Tha tòrr innealan ann, agus chan eil annta seo ach beagan dhioscaichean a tha air an cruinneachadh an seo air an inneal gu ionnsaigh.

Ach tha eas-bhuannachdan ann cuideachd.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha seo timcheall air 1,5 uair nas daoire na bhith a’ cleachdadh SANn eadhon aig prìsean an latha an-diugh. Mar sin, cho-dhùin sinn gun a bhith ag atharrachadh ar cruinneachadh mòr gu lèir gu càraichean le draibhearan cruaidh ionadail agus chuir sinn romhainn fuasgladh tar-chinealach fhàgail.

Bidh leth de na h-innealan againn ag obair le draibhearan cruaidh (uill, chan e leth - is dòcha 30 sa cheud). Agus ’s e seann chàraichean a bh’ anns a’ chòrr a b’ àbhaist a bhith aig a’ chiad sgeama glèidhidh. Chuir sinn dìreach air ais iad, leis nach robh feum againn air dàta ùr no dad sam bith eile, cha do ghluais sinn ach na h-innealan bho aon aoigh corporra gu dhà.

Agus tha stoc mòr leughaidh againn a nis, agus leudaich sinn e. Nam biodh sinn na bu thràithe air aon stòradh a chuir air aon inneal, a-nis bidh sinn a ’cur suas ceithir, mar eisimpleir, air aon phaidhir. Agus tha e ag obair gu math.

Bheir sinn geàrr-chunntas air na choilean sinn, na bha sinn a’ sabaid air a shon, agus an do shoirbhich leinn.

Builean

Tha luchd-cleachdaidh againn - cho mòr ri 33 millean.

Tha trì puingean làthaireachd againn - Prague, Miami, Hong Kong.

Tha còmhdach caching annta, anns a bheil càraichean le diosgan ionadail luath (SSDs), air am bi innealan sìmplidh bho NGINX, a access.log agus daemons Python a’ ruith, a bhios a’ giullachd seo uile agus a’ riaghladh an tasgadan.

Ma thogras tu, tha thu sa phròiseact agad, mura h-eil dealbhan cho deatamach dhutsa ’s a tha iad dhuinne, no ma tha smachd malairt an aghaidh astar leasachaidh agus cosgaisean stòrais an taobh eile dhut, faodaidh tu a chuir nan àite gu sàbhailte. le CDN, CDNan an latha an-diugh a bheil iad a’ dèanamh gu math.

An ath rud thig an ìre stòraidh, air a bheil cruinneachaidhean de chàraidean innealan againn a bhios a’ cumail suas a chèile, bidh faidhlichean air an lethbhreacadh gu neo-chinnteach bho aon gu fear eile nuair a dh’ atharraicheas iad.

A bharrachd air an sin, bidh cuid de na h-innealan sin ag obair le draibhearan cruaidh ionadail.

Tha cuid de na h-innealan sin ceangailte ri SANs.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Agus, air an aon làimh, tha e nas goireasaiche a chleachdadh agus beagan nas cinneasaiche, air an làimh eile, tha e goireasach a thaobh suidheachadh dùmhlachd agus prìs gach gigabyte.

Seo sealladh cho goirid air ailtireachd na fhuair sinn agus mar a leasaich e uile.

Beagan mholaidhean eile bhon chaiptean, feadhainn gu math sìmplidh.

An toiseach, ma cho-dhùnas tu gu h-obann gum feum thu gu h-èiginneach a h-uile dad a leasachadh anns a’ bhun-structar dhealbhan agad, tomhais an toiseach, oir is dòcha nach fheum dad a leasachadh.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Leig dhomh eisimpleir a thoirt dhut. Tha grunn innealan againn a bhios a’ cur dhealbhan bho cheanglachan ann an cabadaich, agus tha an sgeama air a bhith ag obair ann bho 2009, agus chan eil duine a’ fulang leis. Tha a h-uile duine gu math, is toil le a h-uile duine a h-uile càil.

Gus tomhas, an toiseach croch dòrlach de mheatairean, coimhead orra, agus an uairsin co-dhùnadh dè a tha mì-thoilichte leis agus dè a dh'fheumar a leasachadh. Gus seo a thomhas, tha inneal fionnar againn ris an canar Pinba.

Leigidh e leat staitistig fìor mhionaideach a chruinneachadh bho NGINX airson gach iarrtas agus còdan freagairt, agus cuairteachadh amannan - ge bith dè a tha thu ag iarraidh. Tha ceangal aige ri gach seòrsa de shiostaman anailis eadar-dhealaichte, agus an uairsin faodaidh tu coimhead air gu h-àlainn.

An toiseach thomhais sinn e, an uairsin leasaich sinn e.

Nas fhaide. Bidh sinn a’ dèanamh an fheum as fheàrr de leughadh le tasgadan, a’ sgrìobhadh le sharding, ach tha seo na phuing follaiseach.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Nas fhaide. Ma tha thu dìreach a’ tòiseachadh air an t-siostam agad a thogail, tha e tòrr nas fheàrr dealbhan a dhèanamh mar fhaidhlichean nach gabh atharrachadh. Leis gu bheil thu sa bhad a’ call clas slàn de dhuilgheadasan le dì-dhligheachadh tasgadan, le mar a bu chòir don loidsig an dreach ceart den dealbh a lorg, agus mar sin air adhart.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Canaidh sinn gun luchdaich thu suas ceud, an uairsin ga thionndadh, dèan e gus am biodh e na fhaidhle eadar-dhealaichte gu corporra. An fheadhainn sin. chan fheumar smaoineachadh: a-nis sàbhalaidh mi beagan àite, sgrìobh e chun aon fhaidhle, atharraich an dreach. Chan eil seo an-còmhnaidh ag obair gu math agus bidh e ag adhbhrachadh tòrr ceann goirt nas fhaide air adhart.

An ath phuing. Mu ath-mheudachadh air an itealan.

Roimhe sin, nuair a chuir luchd-cleachdaidh suas dealbh, gheàrr sinn sa bhad dòrlach de mheudan airson a h-uile turas, airson diofar luchd-dèiligidh, agus bha iad uile air an diosc. A-nis tha sinn air seo a thrèigsinn.

Dh'fhàg sinn dìreach trì prìomh mheudan: beag, meadhanach agus mòr. Bidh sinn dìreach a’ lughdachadh a h-uile càil eile bhon mheud a tha air cùl an fhear a chaidh iarraidh oirnn aig Uport, bidh sinn dìreach a’ dèanamh an ìsleachadh agus ga thoirt don neach-cleachdaidh.

Tha e coltach gu bheil an CPU den ìre caching an seo tòrr nas saoire na bhiodh sinn an-còmhnaidh ag ath-nuadhachadh na meudan sin air gach stòradh. Canaidh sinn gu bheil sinn airson fear ùr a chuir ris, bheir seo mìos - ruith sgriobt anns a h-uile àite a dhèanadh seo uile gu sgiobalta, gun a bhith a’ sgrios a ’chlais. An fheadhainn sin. Ma tha cothrom agad taghadh a-nis, tha e nas fheàrr cho beag de mheudan fiosaigeach a dhèanamh, ach gus am bi co-dhiù cuid de chuairteachadh, can, trì. Agus faodar a h-uile càil eile ath-mheudachadh gu sìmplidh air an itealan le bhith a’ cleachdadh mhodalan deiseil. Tha e uile gu math furasta agus ruigsinneach a-nis.

Agus tha cùl-taic mean air mhean asyncronach math.

Mar a tha ar cleachdadh air sealltainn, tha an sgeama seo ag obair gu math le dàil ann a bhith a’ dèanamh lethbhreac de fhaidhlichean atharraichte.

Ailtireachd airson dealbhan a stòradh agus a cho-roinn ann am Badoo

Tha am puing mu dheireadh cuideachd follaiseach. Mura h-eil an leithid de dhuilgheadasan aig a’ bhun-structair agad a-nis, ach gu bheil rudeigin ann a dh’ fhaodadh briseadh, bidh e gu cinnteach a’ briseadh nuair a thig e beagan a bharrachd. Mar sin, tha e nas fheàrr smaoineachadh air seo ro-làimh agus gun a bhith a 'faighinn eòlas air duilgheadasan leis. Sin a h-uile rud a bha mi airson a ràdh.

cheanglaichean

» bo0rsh201
» Blog Badoo

Tha an aithisg seo na tar-sgrìobhadh de aon de na h-òraidean as fheàrr aig co-labhairt luchd-leasachaidh siostaman làn luchd HighLoad ++. Tha nas lugha na mìos air fhàgail gus an tèid co-labhairt HighLoad ++ 2017.

Tha e deiseil againn mu thràth Prògram co-labhairt, tha an clàr-ama a-nis ga chruthachadh gu gnìomhach.

Am-bliadhna tha sinn a’ leantainn oirnn a’ sgrùdadh cuspair ailtireachd agus sgèileadh:

Bidh sinn cuideachd a’ cleachdadh cuid de na stuthan sin nar cùrsa trèanaidh air-loidhne air leasachadh siostaman làn luchd HighLoad.Guide na shreath de litrichean, artaigilean, stuthan, bhideothan air an taghadh gu sònraichte. Tha còrr air 30 stuth sònraichte anns an leabhar-teacsa againn mu thràth. Ceangail!

Source: www.habr.com

Cuir beachd ann