Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Artem Denisov bo0rsh201, Badoo)

Badoo bụ saịtị mkpakọrịta nwoke na nwaanyị kacha n'ụwa. Ugbu a anyị nwere ihe dị ka nde ndị ọrụ nde 330 debara aha n'ụwa niile. Mana ihe dị mkpa karịa na mkparịta ụka anyị taa bụ na anyị na-echekwa ihe dị ka petabytes 3 nke foto ndị ọrụ. Kwa ụbọchị ndị ọrụ anyị na-ebugo ihe dị ka nde foto ọhụrụ 3,5, na ibu ọgụgụ bụ ihe 80 puku arịrịọ kwa nkeji. Nke a bụ ihe dị ukwuu maka azụ azụ anyị, na mgbe ụfọdụ enwere ihe isi ike na nke a.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

M ga-ekwu maka nhazi nke usoro a, nke na-echekwa ma na-eziga foto n'ozuzu ya, m ga-elekwa ya anya site n'echiche onye mmepụta. A ga-enwe nlegharị anya dị nkenke banyere otú o si malite, ebe m ga-akọwapụta isi ihe dị ịrịba ama, ma m ga-ekwu maka nkọwa zuru ezu banyere ngwọta ndị anyị na-eji ugbu a.

Ugbu a, ka anyị malite.

Kpọọ vidiyo

Dị ka m kwuru, nke a ga-abụ azụ azụ, na iji malite ya ebe, ka anyị were ihe atụ kachasị.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị nwere ọrụ nkịtị, anyị kwesịrị ịnakwere, chekwaa na zipu foto onye ọrụ. N'ụdị a, ọrụ ahụ bụ n'ozuzu, anyị nwere ike iji ihe ọ bụla:

  • nchekwa igwe ojii nke oge a,
  • ngwọta igbe, nke nwekwara ọtụtụ ugbu a;
  • Anyị nwere ike ịtọ ọtụtụ igwe n'ime ebe data anyị ma tinye nnukwu draịva siri ike na ha wee chekwaa foto n'ebe ahụ.

Akụkọ ihe mere eme Badoo - ma ugbu a na mgbe ahụ (n'oge ọ bụ nwata) - na-ebi na sava nke ya, n'ime DC nke anyị. Ya mere, nhọrọ a kacha mma maka anyị.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị were ọtụtụ igwe, kpọọ ha “foto”, wee nweta ụyọkọ na-echekwa foto. Mana ọ dị ka ihe na-efu. Ka ihe a niile wee rụọ ọrụ, anyị kwesịrị ikpebi n'ụzọ ụfọdụ nke igwe anyị ga-echekwa foto. Na ebe a kwa, ọ dịghị mkpa imeghe America.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị na-agbakwunye ụfọdụ ubi na nchekwa anyị yana ozi gbasara ndị ọrụ. Nke a ga-abụ igodo sharding. N'ọnọdụ anyị, anyị na-akpọ ya place_id, na ebe a id na-ezo aka ebe a na-echekwa foto onye ọrụ. Anyị na-eme maapụ.

Na ọkwa mbụ, nke a nwere ike ọbụna iji aka mee - anyị na-ekwu na foto nke onye ọrụ a nwere ebe dị otú ahụ ga-adaba na ihe nkesa dị otú ahụ. N'ihi map a, anyị na-ama mgbe onye ọrụ na-ebugo foto, ebe anyị ga-echekwa ya, na anyị maara ebe anyị ga-enye ya.

Nke a bụ atụmatụ na-enweghị isi, mana ọ nwere nnukwu uru. Nke mbụ bụ na ọ dị mfe, dịka m kwuru, nke abụọ bụ na site na usoro a, anyị nwere ike ịgbasa n'ụzọ dị mfe site n'ibute ụgbọ ala ọhụrụ na ịgbakwunye ha na map. Ịkwesighi ime ihe ọ bụla ọzọ.

Otú ahụ ka ọ dị anyị ruo oge ụfọdụ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a mere gburugburu 2009. Ha butere ụgbọ ala, bute ya...

Na n'oge ụfọdụ anyị malitere ịhụ na atụmatụ a nwere ụfọdụ ọghọm. Kedu ihe ọghọm dị?

Nke mbụ, enwere oke ikike. Anyị enweghị ike ịdọba ọtụtụ draịva ike n'otu sava anụ ahụ dịka anyị ga-achọ. Na nke a aghọwo ụfọdụ nsogbu ka oge na-aga na uto nke dataset.

Na nke abụọ. Nke a bụ ihe nhazi nke igwe, ebe ọ bụ na igwe ndị dị otú ahụ siri ike iji mee ihe na ụfọdụ ụyọkọ ndị ọzọ, ha bụ kpọmkwem kpọmkwem, ya bụ. ha kwesịrị ịdị ike na arụmọrụ, ma n'otu oge ahụ na nnukwu draịvụ ike.

Nke a bụ maka 2009, mana, n'ụkpụrụ, ihe ndị a chọrọ ka dị mkpa taa. Anyị nwere ntụgharị uche, yabụ na 2009 ihe niile dị njọ kpamkpam na nke a.

Na njedebe ikpeazụ bụ ọnụahịa.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọnụ ego ahụ dị nnukwute n'oge ahụ, anyị kwesịrị ịchọ ụzọ ọzọ. Ndị ahụ. anyị kwesịrị n'ụzọ ụfọdụ mma ahu nagide ma ohere na data emmepe na anụ ahụ sava na nke ihe a niile dị. Na ndị injinia sistemụ anyị malitere nnukwu ọmụmụ ihe nke ha nyochara ụyọkọ nhọrọ dị iche iche. Ha lebakwara anya na sistemụ faịlụ agbakọtara dị ka PolyCeph na Luster. Enwere nsogbu arụmọrụ yana ọrụ siri ike. Ha jụrụ. Anyị gbalịrị ịkwanye dataset niile site na NFS n'ụgbọ ala ọ bụla ka anyị wee bulie ya elu. Ọgụgụ na-agakwa nke ọma, anyị nwara ngwọta dị iche iche site n'aka ndị na-ere ahịa dị iche iche.

Ma n'ikpeazụ, anyị kpebiri iji ihe a na-akpọ Nchekwa Mpaghara Network.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ndị a bụ nnukwu SHD ndị a haziri ahazi maka ịchekwa nnukwu data. Ha bụ shelves nwere diski ndị etinyere na igwe nrụpụta ngwa anya ikpeazụ. Nke ahụ. anyị nwere ụfọdụ ụdị ọdọ mmiri nke igwe, dị nnọọ obere, na ndị a SHDs, bụ ndị doro anya na anyị izipu ezi uche, i.e. maka nginx anyị ma ọ bụ onye ọ bụla ọzọ iji nye arịrịọ maka foto ndị a.

Mkpebi a nwere uru doro anya. Nke a bụ SHD. Ezubere ya iji chekwaa foto. Nke a na-arụ ọrụ dị ọnụ ala karịa naanị ịkwado igwe nwere draịva siri ike.

gbakwunyere nke abụọ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a bụ na ikike ahụ aghọwo nke ukwuu, ya bụ. anyị nwere ike nabata ọtụtụ ihe nchekwa na nnukwu obere olu.

Mana enwerekwa ọghọm ndị pụtara ngwa ngwa. Ka ọnụ ọgụgụ ndị ọrụ na ibu dị na sistemụ a na-abawanye, nsogbu arụmọrụ malitere ịmalite. Na nsogbu ebe a bụ ihe doro anya - ọ bụla SHD e mere iji chekwaa ọtụtụ foto na obere olu, dị ka a na-achị, na-ata ahụhụ site na ọgụgụ isi. Nke a bụ eziokwu maka nchekwa igwe ojii ma ọ bụ ihe ọ bụla ọzọ. Ugbu a, anyị enweghị ebe nchekwa dị mma nke ga-enwe oke oke, ị nwere ike itinye ihe ọ bụla n'ime ya, ọ ga-anabatakwa ịgụ akwụkwọ nke ọma. Karịsịa ọgụgụ nkịtị.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Dị ka ọ dị na foto anyị, n'ihi na a na-arịọ foto na-ekwekọghị ekwekọ, nke a ga-emetụtakwa arụmọrụ ha nke ukwuu.

Ọbụlagodi dị ka ọnụ ọgụgụ taa si dị, ọ bụrụ na anyị enweta ebe karịa 500 RPS maka foto na igwe nke ejikọtara ebe nchekwa, nsogbu amalitelarị. Ma ọ dị anyị njọ nke ukwuu, n'ihi na ọnụ ọgụgụ ndị ọrụ na-eto eto, ihe na-aga n'ihu na-akawanye njọ. Nke a kwesịrị ka emelite ya n'ụzọ ụfọdụ.

Iji bulie elu, anyị kpebiri n'oge ahụ, n'ụzọ doro anya, ileba anya na profaịlụ ibu - ihe, n'ozuzu, na-eme, ihe kwesịrị ịkwalite.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na ebe a ihe niile na-egwu n'aka anyị.

Ekwuru m na slide nke mbụ: anyị nwere arịrịọ ịgụ akwụkwọ 80 puku kwa sekọnd na naanị nde 3,5 na-ebugo kwa ụbọchị. Ya bụ, nke a bụ ihe dị iche n'usoro atọ nke ịdị ukwuu. O doro anya na ọ dị mkpa ka agụ akwụkwọ dị elu ma ọ bụ ihe doro anya ka ọ ga-esi.

Enwere otu obere isi ihe ọzọ. Ihe dị iche iche nke ọrụ ahụ bụ na mmadụ na-edebanye aha, bulite foto, wee malite ile ndị ọzọ anya na-arụsi ọrụ ike, dị ka ha, na-egosikwa ndị ọzọ nke ọma. Mgbe ahụ, ọ chọtara onye òtù ọlụlụ ma ọ bụ na ọ hụghị onye ọlụlụ, ọ dabere ka ọ dị, wee kwụsị iji ọrụ ahụ ruo oge ụfọdụ. N'oge a, mgbe ọ na-eji ya, foto ya na-ekpo ọkụ nke ukwuu - a na-achọ ha, ọtụtụ ndị na-ele ha anya. Ozugbo ọ kwụsịrị ime nke a, ọ dị ngwa ngwa ọ na-apụ na mgbasa ozi ndị ọzọ dị ka ọ na-enwe na mbụ, na ọ fọrọ nke nta ka ọ bụrụ na ọ dịghị mgbe a rịọrọ foto ya.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ndị ahụ. Anyị nwere nnukwu dataset na-ekpo ọkụ. Ma n'otu oge ahụ enwere ọtụtụ arịrịọ maka ya. Na ngwọta doro anya zuru oke ebe a bụ ịgbakwunye cache.

Ebe nchekwa na LRU ga-edozi nsogbu anyị niile. Gịnị ka anyị na-eme?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị na-agbakwụnye nke ọzọ dịtụ ntakịrị n'ihu nnukwu ụyọkọ anyị nwere nchekwa, nke a na-akpọ fotocaches. Nke a bụ n'ezie naanị caching proxy.

Kedu ka o si arụ ọrụ site n'ime? Nke a bụ onye ọrụ anyị, ebe a bụ nchekwa. Ihe niile dị ka ọ dị na mbụ. Kedu ihe anyị na-agbakwunye n'etiti?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọ bụ naanị igwe nwere diski anụ ahụ, nke na-adị ngwa ngwa. Nke a dị na SSD, dịka ọmụmaatụ. A na-echekwa ụfọdụ ụdị cache mpaghara na diski a.

Kedu ka ọ dị? Onye ọrụ na-eziga arịrịọ maka foto. NGINX na-achọ ya nke mbụ na cache mpaghara. Ọ bụrụ na ọ bụghị, yabụ naanị proxy_pass na ebe nchekwa anyị, budata foto a n'ebe ahụ nye ya onye ọrụ.

Mana nke a bụ banal nke ukwuu na amabeghị ihe na-eme n'ime. Ọ na-arụ ọrụ dị ka nke a.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

A na-ekewa oghere ahụ n'ụzọ ezi uche dị na ya ụzọ atọ. Mgbe m na-ekwu "okpukpu atọ", nke a apụtaghị na e nwere ụdị usoro mgbagwoju anya. Mba, ndị a bụ naanị akwụkwọ ndekọ aha atọ na sistemụ faịlụ:

  1. Nke a bụ nchekwa ebe foto ebudatara na proxy go.
  2. Nke a bụ ebe nchekwa na-ekpo ọkụ na-echekwa foto ndị achọrọ ugbu a.
  3. Na ebe nchekwa oyi, ebe a na-eji nwayọọ nwayọọ chụpụ foto na oghere dị ọkụ mgbe arịrịọ ole na ole na-abịakwute ha.

Ka nke a wee rụọ ọrụ, anyị kwesịrị ijikwa ebe nchekwa a, anyị kwesịrị ịhazigharị foto dị na ya, wdg. Nke a bụkwa usoro ihe ochie.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nginx na-edegara RAMDisk access.log naanị maka arịrịọ ọ bụla, nke ọ na-egosi ụzọ foto nke ọ na-arụ ugbu a (n'ụzọ ikwu, n'ezie), na nkebi e nyere ya. Ndị ahụ. ọ nwere ike ịsị "foto 1" wee bụrụ ihe nchekwa, ma ọ bụ ebe nchekwa ọkụ, ma ọ bụ ebe nchekwa oyi, ma ọ bụ proxy.

Dabere na nke a, anyị kwesịrị ikpebi ihe anyị ga-eme na foto ahụ.

Anyị nwere obere daemon na-agba na igwe ọ bụla nke na-agụ akwụkwọ ndekọ a mgbe niile ma na-echekwa ọnụ ọgụgụ na ojiji nke ụfọdụ foto na ebe nchekwa ya.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọ na-anakọta naanị ebe ahụ, na-edobe ọnụ ọgụgụ ma na-eme ihe ndị a mgbe ụfọdụ. Ọ na-akpali foto ndị achọrọ nke ọma, nke enwere ọtụtụ arịrịọ, na cache na-ekpo ọkụ, ebe ọ bụla ha nọ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Foto ndị a na-arịọkarị ma na-arịọ obere oge na-eji nwayọọ nwayọọ na-ebupụ n'ime oghere dị ọkụ n'ime nke oyi.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ma mgbe ohere gwụrụ na cache, anyị na-amalite ihichapụ ihe niile na cache oyi na-enweghị isi. Na site n'ụzọ, nke a na-arụ ọrụ nke ọma.

Ka e wee chekwaa foto ahụ ozugbo mgbe a na-enyefe ya na ebe nchekwa, anyị na-eji ntuziaka proxy_store na ihe nchekwa ahụ bụkwa RAMDisk, i.e. maka onye ọrụ ọ na-arụ ọrụ ngwa ngwa. Nke a metụtara internals nke sava caching n'onwe ya.

Ajụjụ fọdụrụ bụ ka esi ekesa arịrịọ n'ofe sava ndị a.

Ka anyị kwuo na enwere ụyọkọ igwe nchekwa iri abụọ na sava caching atọ (nke a ka o siri mee).

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị kwesịrị ikpebi n'ụzọ ụfọdụ nke arịrịọ bụ maka foto na ebe anyị ga-erute ha.

Nhọrọ kachasị ewu ewu bụ Round Robin. Ma ọ bụ mee ya na mberede?

O doro anya na nke a nwere ọtụtụ ọghọm n'ihi na anyị ga-eji cache ahụ eme ihe nke ọma n'ọnọdụ dị otú ahụ. Arịrịọ ga-ada na ụfọdụ igwe na-enweghị usoro: ebe a ka echekwara ya, mana na nke na-esote ọ nọkwaghị ebe ahụ. Ma ọ bụrụ na ihe a nile na-arụ ọrụ, ọ ga-adị nnọọ njọ. Ọbụna na ọnụ ọgụgụ dị nta nke igwe na ụyọkọ.

Anyị kwesịrị ikpebi n'ụzọ doro anya nke nkesa anyị ga-erute arịrịọ.

Enwere ụzọ banal. Anyị na-ewepụ hash na URL ma ọ bụ hash na igodo sharding anyị, nke dị na URL, wee kesaa ya site na ọnụọgụ nke sava. Ọ ga-arụ ọrụ? Will.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ndị ahụ. Anyị nwere arịrịọ 2%, dịka ọmụmaatụ, maka ụfọdụ "example_url" ọ ga-adaba na ihe nkesa ya na ntinye "XNUMX" mgbe niile, a ga-ewepụkwa cache mgbe niile dịka o kwere mee.

Mana enwere nsogbu na nhazigharị na atụmatụ dị otú ahụ. Resharding - M pụtara ịgbanwe ọnụọgụ nke sava.

Ka anyị were na ụyọkọ caching anyị enweghịzi ike ịnagide ya wee kpebie itinye igwe ọzọ.

Ka anyị tinye.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ugbu a ihe niile na-ekewa ọ bụghị atọ, ma anọ. Ya mere, ihe fọrọ nke nta ka ọ bụrụ igodo niile anyị nwere, ihe fọrọ nke nta ka ọ bụrụ URL niile dị ugbu a na sava ndị ọzọ. Akwụsịla cache ahụ niile obere oge. Arịrịọ niile dabara na ụyọkọ nchekwa anyị, ọ bịara adịghị mma, ọdịda ọrụ yana ndị ọrụ enweghị afọ ojuju. Achọghị m ime nke ahụ.

Nhọrọ a adabaghịkwa anyị.

Nke ahụ. gịnị ka anyị kwesịrị ime? Anyị ga-eji cache mee ihe nke ọma, tinye otu arịrịọ ahụ n'otu ihe nkesa ugboro ugboro, mana guzogidere ịkegharị ya. Ma enwere ngwọta dị otú ahụ, ọ bụghị ihe mgbagwoju anya. A na-akpọ ya hashing na-agbanwe agbanwe.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Olee otú ọ dị?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị na-ewere ụfọdụ ọrụ site na igodo sharding wee gbasaa ụkpụrụ ya niile na gburugburu. Ndị ahụ. na isi 0, opekempe na ụkpụrụ kachasị elu na-agbakọta. Ọzọ, anyị na-edobe sava anyị niile n'otu okirikiri n'ihe dịka otu a:

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

A na-akọwa ihe nkesa ọ bụla site n'otu ebe, na ngalaba nke na-aga na elekere ya, ya mere, onye ọbịa a na-eje ozi. Mgbe arịrịọ na-abịakwute anyị, anyị na-ahụ ozugbo na, dịka ọmụmaatụ, arịrịọ A - ọ nwere hash n'ebe ahụ - yana ihe nkesa na-eje ozi 2. Arịrịọ B - site na nkesa 3. Na na.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Kedu ihe na-eme n'ọnọdụ a n'oge nhazigharị?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị anaghị eme ka cache ahụ ghara ịdị irè, dị ka ọ dị na mbụ, ma ghara ịgbanwe igodo niile, mana anyị na-atụgharị mpaghara ọ bụla obere oge ka, na-ekwu okwu, ihe nkesa nke isii anyị chọrọ ịgbakwunye, dabara n'ime oghere efu, na anyị na-agbakwunye ya ebe ahụ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

N'ezie, n'ọnọdụ dị otú ahụ igodo na-apụkwa. Ma ha na-apụ apụ na-esighị ike karịa ka ọ dị na mbụ. Anyị na-ahụkwa na igodo abụọ mbụ anyị dị na sava ha, na ihe nkesa caching gbanwere naanị maka igodo ikpeazụ. Nke a na-arụ ọrụ nke ọma, ma ọ bụrụ na ị gbakwunye ndị ọbịa ọhụrụ na-abawanye, mgbe ahụ ọ nweghị nnukwu nsogbu ebe a. Ị gbakwunye ma gbakwunye ntakịrị n'otu oge, chere ruo mgbe cache jupụtara ọzọ, ihe niile na-arụkwa ọrụ nke ọma.

Naanị ajụjụ dị na jụrụ. Ka anyị were ya na ụfọdụ ụdị ụgbọ ala anaghị arụ ọrụ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ma anyị agaghị achọ n'ezie ịmegharị maapụ a n'oge a, mebie akụkụ nke cache ahụ, yana ihe ndị ọzọ, ma ọ bụrụ na, dịka ọmụmaatụ, arụgharịrị igwe ahụ, anyị kwesịrị ịrịọ arịrịọ ọrụ n'ụzọ ụfọdụ. Anyị na-edobe naanị otu nchekwa nchekwa foto na saịtị ọ bụla, nke na-arụ ọrụ dị ka nnọchi maka igwe ọ bụla na-ada ada ugbu a. Ma ọ bụrụ na mberede otu n'ime ihe nkesa anyị agaghị adị, okporo ụzọ na-aga ebe ahụ. Dị ka o kwesịrị ịdị, anyị enweghị oghere ebe ahụ, ya bụ. ọ dị oyi, mana opekata mpe, a na-ahazi arịrịọ onye ọrụ. Ọ bụrụ na nke a bụ obere oge, mgbe ahụ, anyị na-enweta ya kpamkpam nwayọọ. Enwere naanị ibu karịa na nchekwa. Ọ bụrụ na oge a dị ogologo, mgbe ahụ, anyị nwere ike ịme mkpebi - iwepu ihe nkesa a na map ma ọ bụ na ọ bụghị, ma ọ bụ ikekwe dochie ya ọzọ.

Nke a bụ maka sistemụ caching. Ka anyị leba anya na nsonaazụ ya.

Ọ ga-adị ka ọ nweghị ihe mgbagwoju anya ebe a. Mana usoro a nke ijikwa ebe nchekwa ahụ nyere anyị ọnụ ahịa aghụghọ nke ihe dịka 98%. Ndị ahụ. N'ime ndị a 80 puku arịrịọ kwa nke abụọ, naanị 1600 iru nchekwa, na nke a bụ a kpamkpam nkịtị ibu, ha jiri nwayọọ na-edi ya, anyị na-enwe mgbe niile idobere.

Anyị debere sava ndị a na atọ nke DC anyị, wee nweta isi ọnụnọ atọ - Prague, Miami na Hong Kong.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke ahụ. ha na-anọkarị ma ọ bụ na-erughị ala na nke ọ bụla n'ime ahịa anyị lekwasịrị anya.

Ma dị ka ezigbo ego, anyị nwetara proxy caching a, nke CPU na-arụ ọrụ n'ezie, n'ihi na ọ dịghị mkpa iji nye ọdịnaya. N'ebe ahụ, na-eji NGINX + Lua, anyị mebere ọtụtụ echiche bara uru.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Dịka ọmụmaatụ, anyị nwere ike ịnwale webp ma ọ bụ jpeg na-aga n'ihu (ndị a bụ usoro nke oge a dị irè), hụ otú o si emetụta okporo ụzọ, mee mkpebi ụfọdụ, mee ka ọ nwee ike maka ụfọdụ mba, wdg; mee mgbanwe dị ike ma ọ bụ kụọ foto na ofufe.

Nke a bụ ihe dị mma mgbe, dịka ọmụmaatụ, ị nwere ngwa mkpanaka na-egosipụta foto, ngwa mkpanaaka achọghị imebi CPU nke onye ahịa na ịrịọ nnukwu foto wee gbanwee ya na nha ụfọdụ iji tinye ya n'ime ya. echiche. Anyị nwere ike ịkọwapụta ụfọdụ paramita dị na URL ọnọdụ ọnọdụ UPor, cache foto ga-agbanwe nha foto n'onwe ya. Dị ka a na-achị, ọ ga-ahọrọ nha nke anyị nwere n'anụ ahụ na diski ahụ, dịka o kwere mee na nke a rịọrọ, ma wedata ya na nhazi ụfọdụ.

Site n'ụzọ, anyị emeela ihe ndekọ vidiyo n'ihu ọha nke afọ ise gara aga nke ogbako nke ndị mmepe nke sistemu ibu dị elu. HighLoad++. Lelee, mụta, kesaa ma denye aha YouTube ọwa.

Anyị nwekwara ike ịgbakwunye ọtụtụ mgbagha ngwaahịa n'ebe ahụ. Dịka ọmụmaatụ, anyị nwere ike tinye akara mmiri dị iche iche site na iji paramita URL, anyị nwere ike ime ka anya, blur ma ọ bụ foto pixelate. Nke a bụ mgbe anyị chọrọ igosi foto mmadụ, ma anyị achọghị igosi ihu ya, nke a na-arụ ọrụ nke ọma, a na-emejuputa ya niile ebe a.

Gịnị ka anyị nwetara? Anyị nwetara ọnụnọ ọnụnọ atọ, ezigbo aghụghọ, ma n'otu oge ahụ anyị enweghị CPU na-abaghị uru na igwe ndị a. N'ezie, ọ dịla mkpa ugbu a karịa ka ọ dị na mbụ. Anyị kwesịrị inye onwe anyị ụgbọ ala siri ike, mana ọ bara uru.

Nke a metụtara nloghachi foto. Ihe niile ebe a doro anya ma doo anya. Echere m na achọpụtaghị m America, ihe fọrọ nke nta ka ọ bụrụ CDN ọ bụla na-arụ ọrụ otu a.

Ma, o yikarịrị, onye na-ege ntị ọkaibe nwere ike inwe ajụjụ: gịnị kpatara na ị gaghị agbanwe ihe niile na CDN? Ọ ga-abụ otu ihe ahụ, CDN niile nke oge a nwere ike ime nke a. E nwekwara ọtụtụ ihe kpatara ya.

Nke mbụ bụ foto.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a bụ otu n'ime isi ihe nke akụrụngwa anyị, anyị chọkwara ịchịkwa ya dịka o kwere mee. Ọ bụrụ na nke a bụ ụfọdụ ụdị ngwọta sitere n'aka onye na-ere ahịa nke atọ, ma ị nweghị ike ọ bụla na ya, ọ ga-esiri gị ike ibi ndụ na ya mgbe ị nwere nnukwu dataset, yana mgbe ị nwere nnukwu mmiri. nke onye ọrụ arịrịọ.

Ka m nye gị ihe atụ. Ugbu a, site na akụrụngwa anyị, anyị nwere ike, dịka ọmụmaatụ, ọ bụrụ na enwere nsogbu ụfọdụ ma ọ bụ ịkụ aka n'okpuru ala, gaa na igwe ma mebie gburugburu ebe ahụ, na-ekwu okwu. Anyị nwere ike ịgbakwunye nchịkọta ụfọdụ metrik nke naanị anyị chọrọ, anyị nwere ike ịnwale otu ụzọ, hụ ka nke a si emetụta eserese, na ihe ndị ọzọ. Ugbu a, a na-anakọta ọtụtụ ọnụ ọgụgụ na ụyọkọ nchekwa a. Anyị na-elekwa ya anya site n'oge ruo n'oge na-anọ ogologo oge na-enyocha ụfọdụ anomalies. Ọ bụrụ na ọ dị n'akụkụ CDN, ọ ga-esi ike karị ịchịkwa. Ma ọ bụ, dịka ọmụmaatụ, ọ bụrụ na ụdị ihe mberede emee, anyị maara ihe merenụ, anyị maara otú e si ebi na ya na otu esi emeri ya. Nke a bụ nkwubi okwu mbụ.

Nkwubi okwu nke abụọ bụkwa akụkọ ihe mere eme, n'ihi na usoro a na-emepe emepe ogologo oge, na e nwere ọtụtụ ihe dị iche iche azụmahịa chọrọ na ọkwa dị iche iche, na ha adịghị adaba mgbe niile na echiche CDN.

Na isi ihe na-esote site na nke gara aga bụ

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a bụ n'ihi na na caches foto anyị nwere ọtụtụ mgbagha akọwapụtara, nke enweghị ike ịgbakwunye mgbe ọ bụla ma ọ bụrụ arịrịọ. O yighị ka CDN ọ bụla ga-atụkwasịrị gị ụfọdụ ihe omenala na arịrịọ gị. Dịka ọmụmaatụ, izo ya ezo URL ma ọ bụrụ na ịchọghị ka onye ahịa nwee ike ịgbanwe ihe. Ịchọrọ ịgbanwe URL na sava ahụ wee zoo ya, wee zipu ụfọdụ paramita dị ike ebe a.

Kedu nkwubi okwu nke a na-atụ aro? N'ọnọdụ anyị, CDN abụghị ezigbo nhọrọ ọzọ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na n'ọnọdụ gị, ọ bụrụ na ị nwere ihe ọ bụla a kapịrị ọnụ azụmahịa chọrọ, mgbe ahụ ị nwere ike nnọọ mfe mejuputa ihe m gosiri gị onwe gị. Na nke a ga-arụ ọrụ nke ọma na profaịlụ ibu yiri ya.

Ma ọ bụrụ na ị nwere ụdị ụfọdụ nke n'ozuzu ngwọta, na ọrụ bụ nnọọ kpọmkwem, ị nwere ike nnọọ n'enweghị na-a CDN. Ma ọ bụ ọ bụrụ na oge na ihe onwunwe dị gị mkpa karịa njikwa.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na CDN nke oge a nwere ihe niile m gwara gị ugbu a. Ewezuga gbakwunyere ma ọ bụ mwepu ụfọdụ atụmatụ.

Nke a bụ maka inyefe foto.

Ka anyị gaa n'ihu ntakịrị na azụ azụ anyị wee kwuo maka nchekwa.

2013 na-agafe.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Agbakwunyere sava caching, nsogbu arụmọrụ kwụsịrị. Ihe niile dị mma. Dataset na-eto eto. Dịka nke 2013, anyị nwere ihe dị ka sava 80 jikọtara na nchekwa, yana ihe dị ka 40 caching na DC ọ bụla. Nke a bụ terabytes 560 nke data na DC nke ọ bụla, ya bụ. ihe dị ka petabyte na mkpokọta.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Site na uto nke dataset, ọnụ ahịa ọrụ malitere ịrị elu nke ukwuu. Gịnị ka nke a pụtara?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na eserese a nke a na-ese - na SAN, na igwe na cache ejikọrọ na ya - enwere ọtụtụ isi ihe ọdịda. Ọ bụrụ na anyị emesoworị ọdịda nke sava caching na mbụ, ihe niile bụ ihe a na-ahụ anya ma ọ bụ na-aghọtaghị, ma n'akụkụ nchekwa ihe niile dị njọ karị.

Nke mbu, Network Area Network (SAN) n'onwe ya, nke nwere ike daa.

Nke abuo, a na-ejikọta ya site na optics na igwe njedebe. Enwere ike inwe nsogbu na kaadị anya na ọkụ ọkụ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

N'ezie, ọ bụghị ọtụtụ n'ime ha dị ka SAN n'onwe ya, mana, agbanyeghị, ndị a bụkwa isi ihe ọdịda.

Ọzọ bụ igwe n'onwe ya, nke ejikọrọ na nchekwa. Ọ nwekwara ike daa.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na mkpokọta, anyị nwere isi atọ nke ọdịda.

Ọzọkwa, na mgbakwunye na isi ihe ọdịda, a na-arụ ọrụ dị arọ nke nchekwa ahụ n'onwe ya.

Nke a bụ usoro ihe dị iche iche dị mgbagwoju anya, ndị injinia sistemụ nwere ike ịnwe oge siri ike ịrụ ọrụ na ya.

Na nke ikpeazụ, ihe kacha mkpa. Ọ bụrụ na ọdịda emee na nke ọ bụla n'ime isi atọ ndị a, anyị nwere ohere na-abụghị efu nke ịla n'iyi data onye ọrụ n'ihi na sistemụ faịlụ nwere ike ịdaba.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ka anyị kwuo na usoro faịlụ anyị agbajiri. Mbụ, mgbake ya na-ewe ogologo oge - ọ nwere ike were oke data buru ibu otu izu. Na nke abụọ, n'ikpeazụ anyị ga-yikarịrị ejedebe na ụyọkọ faịlụ na-apụghị ịghọta aghọta nke ga-mkpa ka ejikọta ya n'ụzọ ụfọdụ na onye ọrụ foto. Na anyị n'ihe ize ndụ ida data. Ihe ize ndụ dị nnọọ elu. Na ọtụtụ mgbe ọnọdụ ndị dị otú ahụ na-eme, na ọtụtụ nsogbu na-ebilite na agbụ a dum, ihe ize ndụ a dị elu.

Ekwesịrị ime ihe gbasara nke a. Ma anyị kpebiri na anyị dị nnọọ mkpa ndabere data. Nke a bụ ihe ngwọta doro anya na nke dị mma. Gịnị ka anyị mere?

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a bụ ihe nkesa anyị dị ka mgbe ejikọrọ ya na nchekwa na mbụ. Nke a bụ otu isi ngalaba, ọ bụ naanị ngwaọrụ mgbochi na-anọchite anya ugwu maka nchekwa dịpụrụ adịpụ site na ngwa anya.

Anyị atụkwasịkwara ngalaba nke abụọ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị na-etinye nchekwa nke abụọ n'akụkụ ya (ọ dabara nke ọma, ọ bụghị oke ọnụ na ego), ma kpọọ ya nkebi ndabere. Ejikwa ya site na optics ma dị n'otu igwe. Mana anyị kwesịrị imekọrịta data n'etiti ha.

N'ebe a, anyị na-eme kwụ n'ahịrị asynchronous nso.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọ naghị arụ ọrụ nke ukwuu. Anyị maara na anyị enweghị ndekọ zuru oke. A kwụ n'ahịrị bụ naanị tebụl dị na MySQL nke edere ahịrị dị ka "ịkwesịrị ịkwado foto a". Na mgbanwe ọ bụla ma ọ bụ bulite, anyị na-eṅomi site na isi nkebi gaa na nkwado ndabere na mpaghara iji asynchronous ma ọ bụ nnọọ ụfọdụ ụdị ọrụ ndabere.

Ya mere, anyị na-enwe akụkụ abụọ na-agbanwe agbanwe mgbe niile. Ọbụna ma ọ bụrụ na otu akụkụ nke usoro a ada ada, anyị nwere ike mgbe niile na-agbanwe isi nkebi na ndabere, na ihe niile ga-anọgide na-arụ ọrụ.

Mana n'ihi nke a, ibu ọgụgụ na-abawanye nke ukwuu, n'ihi na ... na mgbakwunye na ndị ahịa na-agụ site na isi ngalaba, n'ihi na ha na-ebu ụzọ lelee foto ebe ahụ (ọ na-adịbeghị anya n'ebe ahụ), wee chọọ ya na nkwado ndabere na mpaghara, ma ọ bụrụ na ha ahụghị ya (mana NGINX na-eme nke a), usoro anyị bụkwa nkwado ndabere na mpaghara ugbu a na-agụ site na isi nkebi. Ọ bụghị na nke a bụ ihe mgbochi, ma achọghị m ịbawanye ibu ahụ, n'ezie, dị ka nke ahụ.

Anyị gbakwunyekwara diski nke atọ, nke bụ obere SSD, wee kpọọ ya ihe nchekwa.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ka o si arụ ọrụ ugbu a.

Onye ọrụ na-ebugo foto na nchekwa, mgbe ahụ, a na-atụba ihe omume n'ahịrị na-egosi na ọ dị mkpa ka e depụtaghachi ya na ngalaba abụọ. A na-eṅomi ya, foto ahụ na-ebikwa na ebe nchekwa ruo oge ụfọdụ (sịnụ, otu ụbọchị), naanị mgbe ahụ ka a na-ehichapụ ya. Nke a na-eme ka ahụmịhe onye ọrụ dịkwuo mma, n'ihi na onye ọrụ na-ebugo foto, dịka iwu, arịrịọ na-amalite ozugbo, ma ọ bụ ya onwe ya melitere ibe ahụ wee nwetaghachi ya. Ma, ihe niile dabere na ngwa na-eme ka bulite.

Ma ọ bụ, dịka ọmụmaatụ, ndị ọzọ ọ malitere igosi onwe ya ozugbo na-eziga arịrịọ mgbe foto a gasịrị. Ọ dịbeghị na cache; arịrịọ mbụ na-apụta ngwa ngwa. N'ezie, otu ihe ahụ si na cache foto. Nchekwa nwayọ adịghị etinye aka na nke a ma ọlị. Ma mgbe otu ụbọchị gasịrị, a sachara ya, a na-echekwa ya na oyi akwa mkpuchi anyị, ma ọ bụ, o yikarịrị, ọ nweghị onye chọrọ ya ọzọ. Ndị ahụ. Ahụmahụ onye ọrụ ebe a etoola nke ọma n'ihi ụdị aghụghọ dị otú ahụ dị mfe.

Ọfọn, na nke kachasị mkpa: anyị kwụsịrị ida data.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ka anyị kwuo na anyị kwụsịrị nwere ike tufuo data, n'ihi na anyị anaghị atụfu ya n'ezie. Ma e nwere ihe ize ndụ. Anyị na-ahụ na ngwọta a dị mma, n'ezie, ọ dị mma, ma ọ dị ntakịrị dị ka ịmechapụ ihe mgbaàmà nke nsogbu ahụ, kama idozi ya kpamkpam. Ma ụfọdụ nsogbu ka dị ebe a.

Mbụ, nke a bụ isi ihe ọdịda n'ụdị anụ ahụ n'onwe ya nke igwe a niile na-agba ọsọ;

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke abuo, a ka nwere nsogbu na SAN, nlekọta ha dị arọ, wdg. Ọ bụghị na ọ bụ ihe dị oke egwu, mana achọrọ m ịgbalị ibi ndụ n'ụzọ ụfọdụ na-enweghị ya.

Na anyị mere nsụgharị nke atọ (n'ezie, nke abụọ n'ezie) - nsụgharị ndoputa. Kedu ka ọ dị?

Nke a bụ ihe ọ bụ -

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Isi nsogbu anyị bụ na nke a bụ onye ọbịa anụ ahụ.

Mbụ, anyị na-ewepụ SANs n'ihi na anyị chọrọ ịnwale, anyị chọrọ ịnwale naanị draịvụ ike mpaghara.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a bụ ugbua 2014-2015, na n'oge ahụ ọnọdụ na diski na ikike ha na otu onye ọbịa bịara ka mma. Anyị kpebiri ihe kpatara na anyị agaghị anwale ya.

Ma mgbe ahụ, anyị na-ewere nkebi ndabere anyị ma nyefee ya n'anụ ahụ na igwe dị iche.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ya mere, anyị na-enweta eserese a. Anyị nwere ụgbọ ala abụọ na-echekwa otu datasets. Ha na-akwado ibe ha kpamkpam wee mekọrịta data na netwọk site na kwụ n'ahịrị asynchronous n'otu MySQL.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ihe kpatara nke a ji arụ ọrụ nke ọma bụ n'ihi na anyị nwere ndekọ ole na ole. Ndị ahụ. ọ bụrụ na ịde ihe na-atụnyere ịgụ akwụkwọ, ikekwe anyị ga-enwe ụdị netwọk n'elu na nsogbu. Enwere obere ederede, ọtụtụ ọgụgụ - usoro a na-arụ ọrụ nke ọma, i.e. Anyị anaghị adịkarị ike iṅomi foto n'etiti sava abụọ a.

Kedu ka nke a si arụ ọrụ, ma ọ bụrụ na ị na-ele anya ntakịrị n'ụzọ zuru ezu.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Bulite. The balancer nanị họrọ ndị ọbịa na-enweghị usoro na otu ụzọ ma bulite ya. N'otu oge ahụ, ọ na-emekarị nyocha ahụike ma hụ na ụgbọ ala ahụ adaghị. Ndị ahụ. ọ na-ebugote foto naanị na sava dị ndụ, wee site na kwụ n'ahịrị asynchronous, a na-eṅomi ya na onye agbata obi ya. Na bulite ihe niile dị nnọọ mfe.

Ọrụ ahụ dị ntakịrị karịa.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Lua nyeere anyị aka ebe a, n'ihi na ọ nwere ike isi ike ịme echiche dị otú ahụ na vanilla NGINX. Anyị na-ebu ụzọ mee arịrịọ na sava mbụ, hụ ma foto ahụ ọ dị, n'ihi na enwere ike ibugo ya, dịka ọmụmaatụ, na onye agbata obi, mana ọ bịaghị ebe a. Ọ bụrụ na foto ahụ dị, ọ dị mma. Anyị na-enye ya ozugbo onye ahịa na, ikekwe, cache ya.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọ bụrụ na ọ bụghị ebe ahụ, naanị anyị na-arịọ onye agbata obi anyị arịrịọ ma kwe nkwa na anyị ga-esi n'ebe ahụ nweta ya.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke ahụ. ọzọ anyị nwere ike ikwu: e nwere ike inwe nsogbu na arụmọrụ, n'ihi na e nwere mgbe niile gburugburu njem - foto e uploaded, ọ bụghị ebe a, anyị na-eme arịrịọ abụọ kama otu, nke a kwesịrị na-arụ ọrụ nwayọọ nwayọọ.

N'ọnọdụ anyị, nke a anaghị arụ ọrụ nwayọ.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị na-anakọta ụyọkọ metrik na sistemụ a, yana ọnụọgụ smart nke usoro dị otú ahụ bụ ihe dịka 95%. Ndị ahụ. Lag nke ndabere a dị ntakịrị, na n'ihi nke a, anyị fọrọ nke nta ka ọ bụrụ na a ga-ekwe nkwa, mgbe ebudatara foto ahụ, anyị ga-ewere ya na nke mbụ ma ọ gaghị aga ebe ọ bụla ugboro abụọ.

Yabụ kedu ihe ọzọ anyị nwetara nke dị mma n'ezie?

Na mbụ, anyị nwere akụkụ ndabere nke isi, anyị na-agụkwa ha n'usoro. Ndị ahụ. Anyị na-ebu ụzọ na-achọ isi mgbe niile, na-ebu ụzọ na-achọ ya na ndabere. Ọ bụ otu mmegharị ahụ.

Ugbu a, anyị na-eji igwe abụọ na-agụ akwụkwọ n'otu oge. Anyị na-ekesa arịrịọ site na iji Round Robin. N'ime obere pasent nke ikpe anyị na-arịọ arịrịọ abụọ. Mana n'ozuzu, anyị nwere ugbu a okpukpu abụọ karịa nke anyị nwere na mbụ. A na-ebelata ibu ahụ nke ukwuu ma na igwe na-ezigara ma na igwe nchekwa, nke anyị nwekwara n'oge ahụ.

Maka nnabata mmejọ. N'ezie, nke a bụ ihe anyị kacha lụọ ọgụ maka ya. Site na nnabata mmejọ, ihe niile wee bụrụ nnukwu ebe a.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Otu ụgbọ ala dara.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nsogbu adịghị! Onye injinia sistemụ nwere ike ọ gaghị eteta n'abalị, ọ ga-echere ruo ụtụtụ, ọ nweghị ihe ọjọọ ga-eme.

Ọ bụrụgodi na igwe a ada ada, kwụ n'ahịrị adịghị n'usoro, ọ nweghịkwa nsogbu ọ bụla, log ahụ ga-ebu ụzọ chịkọta ya na igwe dị ndụ, wee tinye ya na kwụ n'ahịrị, wee banye n'ụgbọ ala nke ga-adị. banye n'ọrụ mgbe oge ụfọdụ gachara.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Otu ihe na mmezi. Anyị na-agbanyụ otu n'ime igwe, jiri aka wepụ ya na ọdọ mmiri niile, ọ na-akwụsị ịnweta okporo ụzọ, anyị na-arụ ọrụ ụfọdụ, anyị na-edezi ihe, mgbe ahụ, anyị na-eweghachi ya na ọrụ, na ndabere a na-ejide ngwa ngwa. Ndị ahụ. kwa ụbọchị, oge nkwụsị nke otu ụgbọ ala na-enweta n'ime nkeji ole na ole. Nke a dị nnọọ ntakịrị. Site na nnabata mmejọ, ana m ekwu ọzọ, ihe niile dị mma ebe a.

Kedu nkwubi okwu a ga-enweta site na atụmatụ mgbapụta a?

Anyị nwetara nnabata mmejọ.

Ọ dị mfe iji. Ebe ọ bụ na igwe ndị ahụ nwere draịva siri ike mpaghara, nke a na-adaba adaba site na echiche ọrụ maka ndị injinia na-arụ ọrụ na ya.

Anyị nwetara ohere ịgụ akwụkwọ ugboro abụọ.

Nke a bụ ezigbo ego na mgbakwunye na nnabata mmejọ.

Ma enwerekwa nsogbu. Ugbu a, anyị nwere ọtụtụ ihe mgbagwoju anya mmepe nke ụfọdụ atụmatụ metụtara nke a, n'ihi na usoro aghọwo 100% emecha agbanwe agbanwe.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Anyị ga-ekwu, na ụfọdụ ọrụ ndabere, na-eche mgbe niile: "Kedu ihe nkesa anyị na-agba ugbu a?", "Enwere foto dị ugbu a ebe a?" wdg. Nke a, n'ezie, a na-ekpuchi ihe niile, na maka onye mmemme nke na-ede echiche azụmahịa, ọ bụ ihe doro anya. Ma, ka o sina dị, nnukwu oyi akwa a dị mgbagwoju anya apụtawo. Ma anyị dị njikere idi nke a iji gbanwere ihe ọma ndị anyị nwetara na ya.

Na ebe a ọzọ ụfọdụ esemokwu bilitere.

M kwuru na mmalite na ịchekwa ihe niile na draịvụ ike mpaghara dị njọ. Ma ugbu a, m na-ekwu na ọ masịrị anyị.

Ee, n'ezie, ka oge na-aga, ọnọdụ ahụ agbanweela nke ukwuu, ma ugbu a, usoro a nwere ọtụtụ uru. Mbụ, anyị na-enweta ọrụ dị mfe karị.

Nke abuo, ọ na-arụpụtakwu ihe, n'ihi na anyị enweghị ndị na-ahụ maka akpaaka ma ọ bụ njikọ na shelf diski.

E nwere nnukwu ígwè ọrụ n’ebe ahụ, ndị a bụkwa diski ole na ole a na-agbakọta n’ebe a n’igwe n’ime mwakpo.

Ma enwerekwa ọghọm.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Nke a dị ihe dịka 1,5 ugboro dị ọnụ karịa iji SAN ọbụna na ọnụ ahịa taa. Ya mere, anyị kpebiri na anyị agaghị eji obi ike tọghata nnukwu ụyọkọ anyị ka ọ bụrụ ụgbọ ala nwere draịvụ ike mpaghara wee kpebie ịhapụ ngwọta ngwakọ.

Ọkara nke igwe anyị na-arụ ọrụ na draịva siri ike (nke ọma, ọ bụghị ọkara - ikekwe pasent 30). Ndị ọzọ bụ ụgbọ ala ochie ndị na-enwebu atụmatụ ndoputa mbụ. Anyị na-ebugharị ha, ebe ọ bụ na anyị achọghị data ọhụrụ ma ọ bụ ihe ọ bụla ọzọ, anyị na-ebugharị mounts site na otu onye ọbịa gaa na abụọ.

Ma anyị nwere ugbu a nnukwu akwụkwọ ọgụgụ, anyị gbasaa ya. Ọ bụrụ na mbụ anyị na-agbanye otu nchekwa n'otu igwe, ugbu a, anyị na-agbanye anọ, dịka ọmụmaatụ, n'otu ụzọ. Ọ na-arụkwa ọrụ nke ọma.

Ka anyị chịkọta nkenke nke ihe anyị rụzuru, ihe anyị lụrụ ọgụ maka ya, na ma ànyị nwere ihe ịga nke ọma.

Nsonaazụ

Anyị nwere ndị ọrụ - ihe ruru nde 33.

Anyị nwere isi ọnụnọ atọ - Prague, Miami, Hong Kong.

Ha nwere oyi akwa caching, nke mejupụtara ụgbọ ala nwere diski mpaghara ngwa ngwa (SSD), nke igwe dị mfe sitere na NGINX, access.log na Python daemons na-agba ọsọ, na-ahazi ihe a niile ma jikwaa cache.

Ọ bụrụ na-ịchọrọ, ị nọ na ọrụ gị, ọ bụrụ na foto adịghị mkpa maka gị dị ka ọ dị anyị, ma ọ bụ ọ bụrụ na njikwa azụmaahịa na ọsọ mmepe na ọnụ ahịa akụrụngwa dị n'akụkụ nke ọzọ maka gị, mgbe ahụ ị nwere ike dochie ya n'enweghị nsogbu. na CDN, CDN nke oge a ka ha na-eme nke ọma.

Na-esote oyi akwa nchekwa, nke anyị nwere ụyọkọ igwe igwe abụọ na-akwado ibe ha, a na-eṅomi faịlụ site n'otu gaa na nke ọzọ mgbe ọ bụla ha gbanwere.

Ọzọkwa, ụfọdụ igwe ndị a na-arụ ọrụ na draịvụ ike mpaghara.

Ejikọrọ ụfọdụ igwe ndị a na SAN.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Na, n'otu aka ahụ, ọ dị mfe iji na ntakịrị ihe na-arụpụta ihe, n'aka nke ọzọ, ọ dị mma n'ihe gbasara njupụta na ọnụahịa kwa gigabyte.

Nke a bụ nkọwa dị nkenke nke ihe owuwu nke ihe anyị nwetara yana otu o si malite.

Ndụmọdụ ole na ole ndị ọzọ sitere n'aka onye isi, ndị dị mfe.

Nke mbụ, ọ bụrụ na ị na-ekpebi na mberede na ị chọrọ ngwa ngwa imeziwanye ihe niile dị na akụrụngwa foto gị, tụọ nke mbụ, n'ihi na ọ dịghị ihe ọ bụla kwesịrị imeziwanye.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ka m nye gị ihe atụ. Anyị nwere ụyọkọ igwe na-eziga foto site na mgbakwunye na nkata, na atụmatụ ahụ na-arụ ọrụ ebe ahụ kemgbe 2009, ọ dịghịkwa onye na-ata ahụhụ na ya. Onye ọ bụla dị mma, onye ọ bụla nwere mmasị na ihe niile.

Iji tụọ, buru ụzọ kpọgidere ụyọkọ metrik, lelee ha, wee kpebie ihe na-adịghị gị mma na ihe kwesịrị imeziwanye. Iji tụọ nke a, anyị nwere ngwá ọrụ dị mma a na-akpọ Pinba.

Ọ na-enye gị ohere ịnakọta ọnụ ọgụgụ zuru ezu na NGINX maka arịrịọ ọ bụla na koodu nzaghachi, yana nkesa oge - ihe ọ bụla ịchọrọ. Ọ nwere njikọ na ụdị usoro nyocha dị iche iche, mgbe ahụ ị nwere ike ile ya anya nke ọma.

Mbụ anyị tụrụ ya, anyị emeziwanye ya.

Ọzọkwa. Anyị na-ebuli agụ ihe site na cache, iji sharding dee ihe, mana nke a bụ isi ihe doro anya.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ọzọkwa. Ọ bụrụ na ị na-amalite ugbu a iwulite sistemụ gị, mgbe ahụ ọ ka mma ịme foto dị ka faịlụ na-enweghị ike ịgbanwe. N'ihi na ị na-efunahụ otu klas nke nsogbu ozugbo na cache invalidation, na otú ezi uche ga-esi chọta ezi version nke foto, na na.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Ka anyị kwuo na ị bugoro otu narị, wee tụgharịa ya, mee ya ka ọ bụrụ faịlụ dị iche iche. Ndị ahụ. ọ dịghị mkpa iche echiche: ugbu a, m ga-echekwa ntakịrị ohere, dee ya n'otu faịlụ ahụ, gbanwee nsụgharị ahụ. Nke a anaghị arụ ọrụ nke ọma mgbe niile ma na-ebute ọtụtụ isi ọwụwa mgbe e mesịrị.

Isi okwu na-esote. Ihe gbasara resize na ofufe.

Na mbụ, mgbe ndị ọrụ bulitere foto, anyị na-ebipụ otu ụyọkọ nha ozugbo maka oge niile, maka ndị ahịa dị iche iche, ha niile nọkwa na diski ahụ. Ugbu a, anyị ahapụla nke a.

Anyị hapụrụ naanị atọ isi nha: obere, ọkara na nnukwu. Anyị na-ebelata ihe ọ bụla ọzọ site na nha nke dị n'azụ nke a jụrụ anyị na Uport, anyị na-eme obere ala ma nye ya onye ọrụ.

CPU nke oyi akwa caching ebe a tụgharịrị dị ọnụ ala karịa ma ọ bụrụ na anyị na-emegharị nha ndị a mgbe niile na nchekwa ọ bụla. Ka anyị kwuo na anyị chọrọ ịgbakwunye nke ọhụrụ, nke a ga-ewe otu ọnwa - mee ihe ederede n'ebe niile nke ga-eme ihe niile a nke ọma, na-enweghị ibibi ụyọkọ. Ndị ahụ. Ọ bụrụ na ị nwere ohere ịhọrọ ugbu a, ọ ka mma ịme ka ọkpụkpụ anụ ahụ dị ole na ole dị ka o kwere mee, ma nke mere na ọ dịkarịa ala nkesa bụ, sịnụ, atọ. Na ihe ọ bụla ọzọ nwere ike dị nnọọ resize na ofufe na-eji njikere emebere modul. Ọ dị nnọọ mfe na ịnweta ya ugbu a.

Na mgbakwunye asynchronous ndabere dị mma.

Dịka omume anyị gosipụtara, atụmatụ a na-arụ ọrụ nke ọma site na nbipụta faịlụ ndị gbanwere n'egbughị oge.

Nhazi maka ịchekwa na ịkekọrịta foto na Badoo

Isi ihe ikpeazụ pụtakwara ìhè. Ọ bụrụ na akụrụngwa gị enweghị nsogbu dị otú ahụ ugbu a, mana enwere ihe nwere ike imebi, ọ ga-agbaji mgbe ọ ga-adị ntakịrị. Ya mere, ọ ka mma iche echiche banyere nke a n'ọdịnihu ma ghara inwe nsogbu na ya. Nke ahụ bụ ihe m chọrọ ikwu.

Ndi ana-akpo

» bo0rsh201
» Badoo Blog

Akụkọ a bụ ederede nke otu n'ime okwu kachasị mma na ogbako nke ndị mmepe nke usoro dị elu HighLoad++. Ọ fọrọ obere ka ọ bụrụ otu ọnwa ruo mgbe ọgbakọ HighLoad++ 2017.

Anyị akwadolarị ya Mmemme ọgbakọ, a na-ahazi usoro ihe omume ugbu a nke ọma.

N'afọ a, anyị na-aga n'ihu na-enyocha isiokwu nke architectures na scaling:

Anyị na-ejikwa ụfọdụ n'ime ihe ndị a n'ọzụzụ ọzụzụ n'ịntanetị maka ịmepụta sistemu ibu dị elu HighLoad.Nduzi bụ a yinye nke pụrụ iche họrọ leta, isiokwu, ihe, videos. Akwụkwọ ọgụgụ anyị enweelarị ihe karịrị 30 pụrụ iche. Jikọọ!

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster