
Artem Denisov , )
Badoo ni agbaye tobi ibaṣepọ ojula. Lọwọlọwọ a ni nipa 330 milionu awọn olumulo ti o forukọsilẹ ni agbaye. Ṣugbọn ohun ti o ṣe pataki pupọ julọ ni aaye ti ibaraẹnisọrọ wa loni ni pe a fipamọ nipa awọn petabytes 3 ti awọn fọto olumulo. Lojoojumọ awọn olumulo wa n gbejade nipa awọn fọto tuntun 3,5 milionu, ati fifuye kika jẹ nipa 80 ẹgbẹrun ibeere fun keji. Eyi jẹ pupọ pupọ fun ẹhin wa, ati nigbakan awọn iṣoro wa pẹlu eyi.

Emi yoo sọrọ nipa apẹrẹ ti eto yii, eyiti o tọju ati firanṣẹ awọn fọto ni gbogbogbo, ati pe Emi yoo wo o lati oju wiwo olupilẹṣẹ. Ifẹhinti ṣoki yoo wa lori bii o ṣe dagbasoke, nibiti Emi yoo ṣe ilana awọn iṣẹlẹ pataki, ṣugbọn Emi yoo sọrọ nikan ni awọn alaye diẹ sii nipa awọn ojutu ti a nlo lọwọlọwọ.
Bayi jẹ ki a bẹrẹ.

Bi mo ti sọ, eyi yoo jẹ ifẹhinti, ati pe lati bẹrẹ si ibikan, jẹ ki a mu apẹẹrẹ ti o wọpọ julọ.

A ni iṣẹ-ṣiṣe ti o wọpọ, a nilo lati gba, fipamọ ati firanṣẹ awọn fọto olumulo. Ni fọọmu yii, iṣẹ-ṣiṣe jẹ gbogbogbo, a le lo ohunkohun:
- ibi ipamọ awọsanma igbalode,
- ojutu apoti, eyiti o tun wa pupọ ni bayi;
- A le ṣeto awọn ẹrọ pupọ ni ile-iṣẹ data wa ki o fi awọn dirafu lile nla sori wọn ki o tọju awọn fọto nibẹ.
Badoo itan - mejeeji ni bayi ati lẹhinna (ni akoko ti o kan wa ni ọmọ ikoko) - ngbe lori awọn olupin tirẹ, inu awọn DC tiwa. Nitorinaa, aṣayan yii dara julọ fun wa.

A kan mu awọn ẹrọ pupọ, ti a pe wọn ni “awọn fọto”, ati pe a ni iṣupọ kan ti o tọju awọn fọto. Ṣugbọn o dabi pe nkan kan sonu. Ni ibere fun gbogbo eyi lati ṣiṣẹ, a nilo lati pinnu bakan lori ẹrọ wo ni a yoo fipamọ iru awọn fọto. Ati nihin, paapaa, ko si iwulo lati ṣii Amẹrika.

A ṣafikun aaye diẹ si ibi ipamọ wa pẹlu alaye nipa awọn olumulo. Eyi yoo jẹ bọtini sharding. Ninu ọran wa, a pe ni place_id, ati pe ibi yii id tọka si aaye nibiti awọn fọto olumulo ti wa ni ipamọ. A ṣe awọn maapu.
Ni ipele akọkọ, eyi le ṣee ṣe pẹlu ọwọ - a sọ pe aworan ti olumulo yii pẹlu iru aaye kan yoo de lori iru olupin kan. Ṣeun si maapu yii, a nigbagbogbo mọ nigbati olumulo kan ba gbe fọto kan, nibo ni lati fipamọ, ati pe a mọ ibiti a ti fun ni lati.
Eyi jẹ ero ti ko ṣe pataki, ṣugbọn o ni awọn anfani to ṣe pataki pupọ. Ni akọkọ ni pe o rọrun, gẹgẹ bi Mo ti sọ, ati ekeji ni pe pẹlu ọna yii a le ni irọrun ni iwọn petele nipa jiṣẹ awọn ọkọ ayọkẹlẹ tuntun nikan ati ṣafikun wọn si maapu naa. O ko nilo lati ṣe ohunkohun miiran.
Bí ó ṣe rí fún wa nìyẹn fún ìgbà díẹ̀.

Eyi jẹ ni ayika 2009. Wọn ti fi awọn ọkọ ayọkẹlẹ, jiṣẹ ...
Ati ni aaye kan a bẹrẹ lati ṣe akiyesi pe ero yii ni awọn aila-nfani kan. Kini awọn alailanfani?
Ni akọkọ, agbara lopin wa. A ko le fa ọpọlọpọ awọn dirafu lile sori olupin ti ara kan bi a ṣe fẹ. Ati pe eyi ti di iṣoro kan lori akoko ati pẹlu idagbasoke ti dataset.
Ati keji. Eleyi jẹ ẹya atypical iṣeto ni ti ero, niwon iru ero ni o wa soro lati tun ni diẹ ninu awọn miiran awọn iṣupọ ti won wa ni oyimbo kan pato, i.e. wọn yẹ ki o jẹ alailagbara ni iṣẹ, ṣugbọn ni akoko kanna pẹlu dirafu lile nla kan.
Eyi jẹ gbogbo fun ọdun 2009, ṣugbọn, ni ipilẹ, awọn ibeere wọnyi tun wulo loni. A ni ifẹhinti, nitorinaa ni ọdun 2009 ohun gbogbo buru patapata pẹlu eyi.
Ati awọn ti o kẹhin ojuami ni owo.

Iye owo naa ga pupọ ni akoko yẹn, ati pe a nilo lati wa diẹ ninu awọn omiiran. Awon. a nilo lati bakan dara julọ lo aaye mejeeji ni awọn ile-iṣẹ data ati awọn olupin ti ara lori eyiti gbogbo eyi wa. Ati awọn onimọ-ẹrọ eto wa bẹrẹ ikẹkọ nla kan ninu eyiti wọn ṣe atunyẹwo opo ti awọn aṣayan oriṣiriṣi. Wọn tun wo awọn ọna ṣiṣe faili akojọpọ bii PolyCeph ati Luster. Awọn iṣoro iṣẹ wa ati iṣẹ ṣiṣe ti o nira pupọ. Wọn kọ. A gbiyanju lati gbe gbogbo dataset nipasẹ NFS lori ọkọ ayọkẹlẹ kọọkan lati le ṣe iwọn rẹ bakan. Kika tun lọ ibi, a gbiyanju o yatọ si awọn solusan lati yatọ si olùtajà.
Ati ni ipari, a yanju lori lilo ohun ti a pe ni Nẹtiwọọki Agbegbe Ibi ipamọ.

Iwọnyi jẹ awọn SHD nla ti o jẹ apẹrẹ pataki fun titoju awọn oye nla ti data. Wọn ti wa ni selifu pẹlu gbangba ti o ti wa agesin lori ik opitika o wu ero. Iyẹn. a ni diẹ ninu awọn iru adagun ti awọn ẹrọ, ti o kere pupọ, ati awọn SHD wọnyi, eyiti o han gbangba si imọran fifiranṣẹ wa, ie. fun nginx wa tabi ẹnikẹni miiran lati sin awọn ibeere fun awọn fọto wọnyi.
Yi ipinnu ní kedere anfani. Eyi ni SHD. O ti wa ni ifọkansi ni titoju awọn fọto. Eyi n ṣiṣẹ din owo ju sisọ awọn ẹrọ pẹlu awọn awakọ lile.
Keji plus.

Eyi ni pe agbara naa ti di pupọ, i.e. a le gba ibi ipamọ pupọ diẹ sii ni iwọn didun ti o kere pupọ.
Ṣugbọn awọn aila-nfani tun wa ti o farahan ni iyara pupọ. Bi nọmba awọn olumulo ati fifuye lori eto yii ti dagba, awọn iṣoro iṣẹ bẹrẹ lati dide. Ati pe iṣoro naa nibi jẹ kedere - eyikeyi SHD ti a ṣe apẹrẹ lati tọju ọpọlọpọ awọn fọto ni iwọn kekere, gẹgẹbi ofin, jiya lati kika kika to lekoko. Eyi jẹ otitọ ni otitọ fun eyikeyi ibi ipamọ awọsanma tabi ohunkohun miiran. Ni bayi a ko ni ibi ipamọ to peye ti yoo jẹ iwọn ailopin, o le sọ ohunkohun sinu rẹ, ati pe yoo farada awọn kika daradara. Paapa àjọsọpọ kika.

Gẹgẹbi ọran pẹlu awọn fọto wa, nitori awọn fọto ni a beere ni aisedede, ati pe eyi yoo ni ipa lori iṣẹ wọn pupọ.
Paapaa ni ibamu si awọn isiro oni, ti a ba gba ibikan diẹ sii ju 500 RPS fun awọn fọto lori ẹrọ ti ibi ipamọ ti sopọ, awọn iṣoro bẹrẹ tẹlẹ. Ati pe o buru fun wa, nitori nọmba awọn olumulo n dagba, awọn nkan yoo buru si. Eleyi nilo lati wa ni iṣapeye bakan.
Lati le mu dara, a pinnu ni akoko yẹn, o han ni, lati wo profaili fifuye - kini, ni gbogbogbo, n ṣẹlẹ, ohun ti o nilo lati wa ni iṣapeye.

Ati nibi ohun gbogbo yoo ṣiṣẹ si ọwọ wa.
Mo ti sọ tẹlẹ ninu ifaworanhan akọkọ: a ni awọn ibeere kika 80 ẹgbẹrun fun iṣẹju keji pẹlu awọn igbejade miliọnu 3,5 nikan fun ọjọ kan. Iyẹn ni, eyi jẹ iyatọ ti awọn aṣẹ titobi mẹta. O han gbangba pe kika nilo lati wa ni iṣapeye ati pe o han gbangba bi o ṣe jẹ.
Ojuami kekere kan wa. Awọn pato ti iṣẹ naa jẹ iru pe eniyan forukọsilẹ, gbejade fọto kan, lẹhinna bẹrẹ lati wo awọn eniyan miiran ni itara, bii wọn, ati pe o han gbangba si awọn eniyan miiran. Lẹhinna o wa alabaṣepọ tabi ko ri alabaṣepọ, o da lori bi o ṣe wa, o si dawọ lilo iṣẹ naa fun igba diẹ. Ni akoko yii, nigbati o ba lo, awọn fọto rẹ gbona pupọ - wọn wa ni ibeere, ọpọlọpọ eniyan wo wọn. Ni kete ti o da duro lati ṣe eyi, lẹwa yarayara o ṣubu kuro ni ifihan pupọ si awọn eniyan miiran bi o ti ni tẹlẹ, ati pe awọn fọto rẹ fẹrẹ ko beere rara.

Awon. A ni ipilẹ data ti o gbona pupọ. Ṣugbọn ni akoko kanna ọpọlọpọ awọn ibeere wa fun u. Ati ojutu ti o han gbangba nibi ni lati ṣafikun kaṣe kan.
Kaṣe pẹlu LRU yoo yanju gbogbo awọn iṣoro wa. Kini a nse?

A fi omiran kan ti o kere diẹ sii ni iwaju iṣupọ nla wa pẹlu ibi ipamọ, eyiti a npe ni photocaches. Eleyi jẹ pataki kan caching aṣoju.
Bawo ni o ṣe n ṣiṣẹ lati inu? Eyi ni olumulo wa, ibi ipamọ wa. Ohun gbogbo jẹ kanna bi ti iṣaaju. Kini a fi kun laarin?

O kan ẹrọ kan pẹlu disiki agbegbe ti ara, eyiti o yara. Eyi jẹ pẹlu SSD kan, fun apẹẹrẹ. Ati pe diẹ ninu iru kaṣe agbegbe ti wa ni ipamọ lori disiki yii.
Kini o dabi? Olumulo naa firanṣẹ ibeere kan fun fọto kan. NGINX n wa ni akọkọ ni kaṣe agbegbe. Ti kii ba ṣe bẹ, lẹhinna nìkan proxy_pass si ibi ipamọ wa, ṣe igbasilẹ fọto lati ibẹ ki o fun olumulo naa.
Ṣugbọn eyi jẹ banal pupọ ati pe ko ṣe akiyesi ohun ti n ṣẹlẹ ninu. O ṣiṣẹ nkankan bi yi.

Awọn kaṣe ti wa ni logically pin si meta fẹlẹfẹlẹ. Nigbati mo sọ "awọn ipele mẹta", eyi ko tumọ si pe iru eto eka kan wa. Rara, iwọnyi jẹ awọn ilana ilana mẹta nikan ni eto faili:
- Eyi jẹ ifipamọ nibiti awọn fọto ṣẹṣẹ ṣe igbasilẹ lati ọdọ aṣoju lọ.
- Eyi jẹ kaṣe ti o gbona ti o tọju awọn fọto ti o beere lọwọ lọwọlọwọ.
- Ati kaṣe tutu kan, nibiti awọn fọto ti wa ni titari diẹdiẹ lati kaṣe gbona nigbati awọn ibeere diẹ ba de ọdọ wọn.
Fun eyi lati ṣiṣẹ, a nilo lati ṣakoso kaṣe yii bakan, a nilo lati tunto awọn fọto inu rẹ, ati bẹbẹ lọ. Eyi tun jẹ ilana alakoko pupọ.

Nginx nìkan kọwe si RAMDisk access.log fun ibeere kọọkan, ninu eyiti o tọkasi ọna si fọto ti o ti ṣiṣẹ lọwọlọwọ (ọna ibatan, dajudaju), ati ipin wo ni o ṣe iranṣẹ. Awon. o le sọ “Fọto 1” ati lẹhinna boya ifipamọ, tabi kaṣe gbona, tabi kaṣe tutu, tabi aṣoju.
Ti o da lori eyi, a nilo lati pinnu bakan kini lati ṣe pẹlu fọto naa.
A ni daemon kekere kan ti n ṣiṣẹ lori ẹrọ kọọkan ti o ka iwe akọọlẹ yii nigbagbogbo ati tọju awọn iṣiro lori lilo awọn fọto kan ninu iranti rẹ.

O nìkan gba nibẹ, ntọju awọn ounka ati lorekore ṣe awọn wọnyi. O gbe awọn fọto ti o beere lọwọ, fun eyiti ọpọlọpọ awọn ibeere wa, si kaṣe ti o gbona, nibikibi ti wọn wa.

Awọn fọto ti a beere ṣọwọn ati pe wọn ti beere diẹ loorekoore ni a ti tu diẹdiẹ kuro ninu kaṣe gbona sinu ọkan tutu.

Ati pe nigba ti a ba pari aaye ninu kaṣe, a kan bẹrẹ piparẹ ohun gbogbo lati kaṣe tutu lainidi. Ati nipasẹ ọna, eyi ṣiṣẹ daradara.
Ni ibere fun fọto lati wa ni fipamọ lẹsẹkẹsẹ nigbati o ba ṣe aṣoju rẹ si ifipamọ, a lo itọsọna proxy_store ati pe ifipamọ tun jẹ RAMDisk, i.e. fun olumulo o ṣiṣẹ ni iyara pupọ. Eyi kan awọn ti abẹnu ti olupin caching funrararẹ.
Ibeere to ku ni bii o ṣe le pin awọn ibeere kaakiri awọn olupin wọnyi.
Jẹ ki a sọ pe iṣupọ ti ogun awọn ẹrọ ipamọ ati awọn olupin caching mẹta (eyi ni o ṣe ṣẹlẹ).

A nilo lati pinnu bakan awọn ibeere wo ni o wa fun awọn fọto wo ati ibiti a ti gbe wọn si.
Aṣayan ibi ti o wọpọ julọ jẹ Yika Robin. Tabi ṣe nipasẹ ijamba?
Eyi han gbangba ni nọmba awọn aila-nfani nitori a yoo lo kaṣe ni aiṣedeede pupọ ni iru ipo kan. Awọn ibeere yoo de lori diẹ ninu awọn ẹrọ laileto: nibi ti o ti fipamọ, ṣugbọn ni atẹle ti ko si si. Ati pe ti gbogbo eyi ba ṣiṣẹ, yoo buru pupọ. Paapaa pẹlu nọmba kekere ti awọn ẹrọ ninu iṣupọ.
A nilo lati bakan laiseaniani pinnu iru olupin ti yoo de iru ibeere.
Ọna banal kan wa. A gba hash lati URL tabi hash lati bọtini sharding wa, eyiti o wa ninu URL, a si pin nipasẹ nọmba awọn olupin. Yoo ṣiṣẹ? Yoo.

Awon. A ni ibeere 2%, fun apẹẹrẹ, fun diẹ ninu awọn “example_url” yoo ma de sori olupin nigbagbogbo pẹlu atọka “XNUMX”, ati pe kaṣe naa yoo sọnu nigbagbogbo bi o ti ṣee ṣe.
Ṣugbọn iṣoro kan wa pẹlu ṣiṣatunṣe ninu iru ero bẹẹ. Resharding – Mo tumọ si iyipada nọmba awọn olupin.
Jẹ ki a ro pe iṣupọ caching wa ko le farada mọ ati pe a pinnu lati ṣafikun ẹrọ miiran.
Jẹ ki a fi kun.

Bayi ohun gbogbo ti pin kii ṣe nipasẹ mẹta, ṣugbọn nipasẹ mẹrin. Bayi, fere gbogbo awọn bọtini ti a lo lati ni, fere gbogbo awọn URL bayi gbe lori miiran olupin. Gbogbo kaṣe naa jẹ asan ni irọrun fun iṣẹju kan. Gbogbo awọn ibeere ṣubu lori iṣupọ ibi ipamọ wa, o di aibalẹ, ikuna iṣẹ ati awọn olumulo ti ko ni itẹlọrun. Nko fe se bee.
Aṣayan yii ko baamu wa boya.
Iyẹn. Kí ló yẹ ká ṣe? A gbọdọ bakan ṣe lilo daradara ti kaṣe, gbe ibeere kanna sori olupin kanna leralera, ṣugbọn jẹ sooro si ṣiṣatunṣe. Ati pe iru ojutu kan wa, kii ṣe idiju yẹn. O ti a npe ni dédé hashing.

Bawo ni o ṣe ri?

A gba diẹ ninu iṣẹ lati bọtini sharding ati tan gbogbo awọn iye rẹ lori Circle. Awon. ni aaye 0, o kere julọ ati awọn iye ti o pọ julọ ṣajọpọ. Nigbamii, a gbe gbogbo awọn olupin wa si agbegbe kanna ni isunmọ ọna yii:

Olupin kọọkan jẹ asọye nipasẹ aaye kan, ati eka ti o lọ clockwise si rẹ, ni ibamu, yoo wa nipasẹ agbalejo yii. Nigbati awọn ibeere ba de ọdọ wa, a rii lẹsẹkẹsẹ pe, fun apẹẹrẹ, beere A - o ni hash nibẹ - ati pe o jẹ iranṣẹ nipasẹ olupin 2. Beere B - nipasẹ olupin 3. Ati bẹbẹ lọ.

Kini yoo ṣẹlẹ ni ipo yii lakoko ṣiṣatunṣe?

A ko sọ gbogbo kaṣe naa di alaimọ, bi tẹlẹ, ati pe a ko yi gbogbo awọn bọtini pada, ṣugbọn a yi eka kọọkan pada ni ijinna kukuru, nitorinaa, ni ibatan sọrọ, olupin wa kẹfa, eyiti a fẹ ṣafikun, baamu si aaye ọfẹ, ati a fi sii nibẹ.

Dajudaju, ni iru ipo kan awọn bọtini tun gbe jade. Ṣugbọn wọn jade kuro ni alailagbara pupọ ju ti iṣaaju lọ. Ati pe a rii pe awọn bọtini meji akọkọ wa lori olupin wọn, ati pe olupin caching yipada nikan fun bọtini to kẹhin. Eyi ṣiṣẹ daradara daradara, ati pe ti o ba ṣafikun awọn ogun tuntun ni afikun, lẹhinna ko si iṣoro nla nibi. O ṣafikun ati ṣafikun diẹ ni akoko kan, duro titi kaṣe yoo fi kun lẹẹkansi, ati pe ohun gbogbo ṣiṣẹ daradara.
Ibeere nikan wa pẹlu awọn kọ. Jẹ ki a ro pe iru ọkọ ayọkẹlẹ kan ko ni aṣẹ.

Ati pe a ko ni fẹ gaan lati tun maapu yii ṣe ni akoko yii, sọ apakan kaṣe di asan, ati bẹbẹ lọ, ti, fun apẹẹrẹ, ẹrọ naa ti tun atunbere, ati pe a nilo lati bakan awọn ibeere iṣẹ. A nìkan tọju kaṣe fọto afẹyinti kan ni aaye kọọkan, eyiti o ṣiṣẹ bi rirọpo fun eyikeyi ẹrọ ti o wa ni isalẹ lọwọlọwọ. Ati pe ti o ba lojiji ọkan ninu awọn olupin wa ko si, ijabọ naa lọ sibẹ. Nipa ti, a ko ni eyikeyi kaṣe nibẹ, i.e. o tutu, sugbon o kere olumulo ibeere ti wa ni ilọsiwaju. Ti eyi ba jẹ aarin kukuru, lẹhinna a ni iriri rẹ patapata. Nibẹ ni o kan diẹ fifuye lori ibi ipamọ. Ti aarin yii ba gun, lẹhinna a le ṣe ipinnu tẹlẹ - lati yọ olupin yii kuro ni maapu tabi rara, tabi boya rọpo pẹlu omiiran.
Eyi jẹ nipa eto caching. Jẹ ká wo ni esi.
O dabi pe ko si ohun idiju nibi. Ṣugbọn ọna yii ti iṣakoso kaṣe fun wa ni oṣuwọn ẹtan ti o to 98%. Awon. Ninu awọn ibeere 80 ẹgbẹrun wọnyi fun iṣẹju keji, nikan 1600 de ibi ipamọ, ati pe eyi jẹ ẹru deede patapata, wọn farada rẹ, a ni ifiṣura nigbagbogbo.
A gbe awọn olupin wọnyi si mẹta ti DCs wa, ati gba awọn aaye mẹta ti wiwa - Prague, Miami ati Hong Kong.

Iyẹn. wọn wa diẹ sii tabi kere si agbegbe ti o wa si ọkọọkan awọn ọja ibi-afẹde wa.
Ati pe bi ẹbun ti o wuyi, a ni aṣoju caching yii, lori eyiti Sipiyu jẹ laišišẹ, nitori ko nilo bẹ lati sin akoonu. Ati pe nibẹ, ni lilo NGINX + Lua, a ṣe imuse ọpọlọpọ awọn ọgbọn iwulo.

Fun apẹẹrẹ, a le ṣe idanwo pẹlu webp tabi jpeg ti nlọsiwaju (iwọnyi jẹ awọn ọna kika igbalode ti o munadoko), wo bi o ṣe ni ipa lori ijabọ, ṣe diẹ ninu awọn ipinnu, muu ṣiṣẹ fun awọn orilẹ-ede kan, ati bẹbẹ lọ; ṣe ìmúdàgba resize tabi irugbin awọn fọto lori awọn fly.
Eyi jẹ lilo ti o dara nigbati, fun apẹẹrẹ, o ni ohun elo alagbeka kan ti o ṣafihan awọn fọto, ati pe ohun elo alagbeka ko fẹ lati padanu Sipiyu alabara lori bibeere fọto nla kan lẹhinna yi pada si iwọn kan lati le Titari sinu rẹ. iwo naa. A le jiroro ni iyasọtọ pato diẹ ninu awọn paramita ni URL ipo ipo UPor, ati kaṣe fọto yoo tun iwọn fọto naa funrararẹ. Gẹgẹbi ofin, yoo yan iwọn ti a ni lori disiki naa, ni isunmọ bi o ti ṣee ṣe si ọkan ti o beere, ati sọ silẹ ni awọn ipoidojuko pato.
Nipa ọna, a ti ṣe awọn igbasilẹ fidio ti o wa ni gbangba ti awọn ọdun marun to koja ti apejọ ti awọn olupilẹṣẹ ti awọn ọna ṣiṣe fifuye giga. . Wo, kọ ẹkọ, pin ati ṣe alabapin si .
A tun le fi kan pupo ti ọja kannaa nibẹ. Fun apẹẹrẹ, a le ṣafikun awọn ami omi oriṣiriṣi nipa lilo awọn aye URL, a le blur, blur tabi awọn fọto pixelate. Eyi ni nigba ti a fẹ lati fi aworan eniyan han, ṣugbọn a ko fẹ lati fi oju rẹ han, eyi ṣiṣẹ daradara, gbogbo rẹ ni a ṣe ni ibi.
Kini a gba? A ni awọn aaye mẹta ti wiwa, oṣuwọn ẹtan to dara, ati ni akoko kanna a ko ni Sipiyu laišišẹ lori awọn ẹrọ wọnyi. O ti di bayi, dajudaju, pataki ju ti iṣaaju lọ. A nilo lati fun ara wa ni awọn ọkọ ayọkẹlẹ ti o lagbara, ṣugbọn o tọ si.
Eyi kan ipadabọ awọn fọto. Ohun gbogbo nibi jẹ kedere ati kedere. Mo ro pe Emi ko iwari America, fere eyikeyi CDN ṣiṣẹ ọna yi.
Ati pe, o ṣeese, olutẹtisi ti o ni oye le ni ibeere kan: kilode ti kii ṣe yi ohun gbogbo pada si CDN? Yoo jẹ nipa kanna; gbogbo awọn CDN ode oni le ṣe eyi. Ati pe awọn idi pupọ wa.
Akọkọ jẹ awọn fọto.

Eyi jẹ ọkan ninu awọn aaye pataki ti awọn amayederun wa, ati pe a nilo iṣakoso pupọ lori rẹ bi o ti ṣee. Ti eyi ba jẹ iru ojutu kan lati ọdọ olutaja ẹni-kẹta, ati pe o ko ni agbara lori rẹ, yoo nira pupọ fun ọ lati gbe pẹlu rẹ nigbati o ba ni data nla, ati nigbati o ba ni ṣiṣan ti o tobi pupọ. ti olumulo ibeere.
Jẹ ki n fun ọ ni apẹẹrẹ. Ni bayi, pẹlu awọn amayederun wa, a le, fun apẹẹrẹ, ni ọran ti diẹ ninu awọn iṣoro tabi awọn ikọlu ipamo, lọ si ẹrọ ati idotin ni ayika nibẹ, ni sisọ sọrọ. A le ṣafikun ikojọpọ diẹ ninu awọn metiriki ti a nilo nikan, a le ṣe idanwo bakan, wo bii eyi ṣe ni ipa lori awọn aworan, ati bẹbẹ lọ. Bayi ọpọlọpọ awọn iṣiro ti wa ni gbigba lori iṣupọ caching yii. Ati pe a n wo rẹ lorekore ati lo akoko pipẹ lati ṣawari diẹ ninu awọn aiṣedeede. Ti o ba wa ni ẹgbẹ CDN, yoo nira pupọ lati ṣakoso. Tabi, fun apẹẹrẹ, ti iru ijamba kan ba waye, a mọ ohun ti o ṣẹlẹ, a mọ bi a ṣe le gbe pẹlu rẹ ati bi a ṣe le bori rẹ. Eyi ni ipari akọkọ.
Ipari keji tun jẹ itan-akọọlẹ, nitori pe eto naa ti dagbasoke fun igba pipẹ, ati pe ọpọlọpọ awọn ibeere iṣowo oriṣiriṣi wa ni awọn ipele oriṣiriṣi, ati pe wọn ko ni ibamu nigbagbogbo sinu ero CDN.
Ati aaye ti o tẹle lati iṣaaju ni

Eyi jẹ nitori lori awọn caches fọto a ni ọpọlọpọ ọgbọn kan pato, eyiti ko le ṣafikun nigbagbogbo lori ibeere. Ko ṣee ṣe pe CDN eyikeyi yoo ṣafikun diẹ ninu awọn ohun aṣa si ọ ni ibeere rẹ. Fun apẹẹrẹ, fifipamọ awọn URL ti o ko ba fẹ ki alabara ni anfani lati yi nkan pada. Ṣe o fẹ lati yi URL pada lori olupin naa ki o parọ rẹ, lẹhinna firanṣẹ diẹ ninu awọn paramita agbara nibi.
Ipari wo ni eyi daba? Ninu ọran wa, CDN kii ṣe yiyan ti o dara pupọ.

Ati ninu ọran rẹ, ti o ba ni awọn ibeere iṣowo kan pato, lẹhinna o le ni rọọrun ṣe ohun ti Mo fihan ọ funrararẹ. Ati pe eyi yoo ṣiṣẹ ni pipe pẹlu profaili fifuye iru kan.
Ṣugbọn ti o ba ni iru ojutu gbogbogbo, ati pe iṣẹ-ṣiṣe ko ni pato, o le gba CDN lailewu lailewu. Tabi ti akoko ati awọn orisun jẹ pataki si ọ ju iṣakoso lọ.

Ati awọn CDN ode oni ni fere gbogbo ohun ti mo sọ fun ọ nipa bayi. Pẹlu awọn sile ti plus tabi iyokuro diẹ ninu awọn ẹya ara ẹrọ.
Eyi jẹ nipa fifun awọn fọto.
Jẹ ki a lọ siwaju diẹ diẹ ninu ifẹhinti wa ati sọrọ nipa ibi ipamọ.
2013 n kọja.

Awọn olupin caching ni a ṣafikun, awọn iṣoro iṣẹ lọ kuro. Ohun gbogbo dara. Dataset ti n dagba. Ni ọdun 2013, a ni nipa awọn olupin 80 ti a ti sopọ si ibi ipamọ, ati nipa awọn caching 40 ni DC kọọkan. Eyi jẹ terabytes 560 ti data lori DC kọọkan, i.e. nipa petabyte lapapọ.

Ati pẹlu idagba ti data, awọn idiyele iṣẹ bẹrẹ si dide ni pataki. Kí ni èyí túmọ̀ sí?

Ninu aworan atọka yii ti o ya - pẹlu SAN, pẹlu awọn ẹrọ ati awọn caches ti a ti sopọ si rẹ - ọpọlọpọ awọn aaye ikuna wa. Ti a ba ti ṣe tẹlẹ pẹlu ikuna ti awọn olupin caching tẹlẹ, ohun gbogbo jẹ diẹ sii tabi kere si asọtẹlẹ ati oye, ṣugbọn ni ẹgbẹ ibi ipamọ ohun gbogbo buru pupọ.
Ni akọkọ, Nẹtiwọọki Agbegbe Ibi ipamọ (SAN) funrararẹ, eyiti o le kuna.
Ni ẹẹkeji, o ti sopọ nipasẹ awọn opiki si awọn ẹrọ ipari. Awọn iṣoro le wa pẹlu awọn kaadi opiti ati awọn pilogi sipaki.

Nitoribẹẹ, ko si pupọ ninu wọn bi pẹlu SAN funrararẹ, ṣugbọn, sibẹsibẹ, awọn wọnyi tun jẹ awọn aaye ikuna.
Nigbamii ti ẹrọ funrararẹ, eyiti o sopọ si ibi ipamọ. O tun le kuna.

Ni apapọ, a ni awọn aaye mẹta ti ikuna.
Siwaju sii, ni afikun si awọn aaye ikuna, itọju to wuwo ti ibi ipamọ funrararẹ wa.
Eyi jẹ eto paati pupọ-pupọ, ati awọn onimọ-ẹrọ eto le ni akoko lile lati ṣiṣẹ pẹlu rẹ.
Ati awọn ti o kẹhin, julọ pataki ojuami. Ti ikuna ba waye ni eyikeyi ninu awọn aaye mẹta wọnyi, a ni aye ti kii-odo lati padanu data olumulo nitori eto faili le jamba.

Jẹ ki a sọ pe eto faili wa ti bajẹ. Ni akọkọ, imularada rẹ gba akoko pipẹ - o le gba ọsẹ kan pẹlu iye nla ti data. Ati ni ẹẹkeji, ni ipari a yoo ṣeese julọ pari pẹlu opo awọn faili ti ko ni oye ti yoo nilo lati ni idapo bakan sinu awọn fọto olumulo. Ati pe a ni ewu sisọnu data. Ewu naa ga pupọ. Ati diẹ sii nigbagbogbo iru awọn ipo ṣẹlẹ, ati pe awọn iṣoro diẹ sii dide ni gbogbo pq yii, ewu yii ga julọ.
Nkankan ni lati ṣe nipa eyi. Ati pe a pinnu pe a kan nilo lati ṣe afẹyinti data naa. Eyi jẹ ojutu ti o han gbangba ati ọkan ti o dara. Kí la ti ṣe?

Eyi ni ohun ti olupin wa dabi nigbati o ti sopọ si ibi ipamọ tẹlẹ. Eyi jẹ apakan akọkọ kan, o jẹ ohun elo idina kan ti o jẹ aṣoju oke kan fun ibi ipamọ latọna jijin nipasẹ awọn opiti.
A kan ṣafikun apakan keji.

A gbe ibi ipamọ keji lẹgbẹẹ rẹ (da fun, kii ṣe gbowolori ni awọn ofin ti owo), o si pe ni ipin afẹyinti. O tun ti sopọ nipasẹ awọn opiki ati pe o wa lori ẹrọ kanna. Sugbon a nilo lati bakan mu data laarin wọn.
Nibi a nìkan ṣe isinyi asynchronous nitosi.

O ko lọwọ pupọ. A mọ pe a ko ni awọn igbasilẹ to. Ti isinyi jẹ tabili kan ni MySQL ninu eyiti awọn laini bii “o nilo lati ṣe afẹyinti fọto yii” ti kọ. Pẹlu eyikeyi iyipada tabi ikojọpọ, a daakọ lati ipin akọkọ si afẹyinti nipa lilo asynchronous tabi o kan iru oṣiṣẹ abẹlẹ kan.
Ati bayi a nigbagbogbo ni meji dédé ruju. Paapa ti apakan kan ti eto yii ba kuna, a le nigbagbogbo yi ipin akọkọ pada pẹlu afẹyinti, ati pe ohun gbogbo yoo tẹsiwaju lati ṣiṣẹ.
Ṣugbọn nitori eyi, fifuye kika pọ si pupọ, nitori ... ni afikun si awọn onibara ti o ka lati apakan akọkọ, nitori pe wọn kọkọ wo fọto nibẹ (o jẹ diẹ laipe nibẹ), ati lẹhinna wa lori afẹyinti, ti wọn ko ba ri (ṣugbọn NGINX kan ṣe eyi), wa eto jẹ tun kan plus afẹyinti bayi ka lati akọkọ ipin. Kii ṣe pe eyi jẹ igo, ṣugbọn Emi ko fẹ lati mu ẹru naa pọ si, ni pataki, bii iyẹn.
Ati pe a ṣafikun disk kẹta, eyiti o jẹ SSD kekere kan, ti a pe ni ifipamọ.

Bii o ṣe n ṣiṣẹ ni bayi.
Olumulo ṣe agbejade fọto kan si ifipamọ, lẹhinna a sọ iṣẹlẹ kan sinu isinyi ti o nfihan pe o nilo lati daakọ si awọn apakan meji. O ti daakọ, ati pe fọto n gbe lori ifipamọ fun igba diẹ (sọ, ọjọ kan), ati pe lẹhinna nikan ni a sọ di mimọ lati ibẹ. Eyi ṣe ilọsiwaju iriri olumulo gaan, nitori olumulo ṣe agbejade fọto kan, gẹgẹbi ofin, awọn ibeere bẹrẹ lẹsẹkẹsẹ lati tẹle, tabi on tikararẹ ṣe imudojuiwọn oju-iwe naa o tun sọ di mimọ. Ṣugbọn gbogbo rẹ da lori ohun elo ti o ṣe ikojọpọ.
Tabi, fun apẹẹrẹ, awọn eniyan miiran si ẹniti o bẹrẹ si fi ara rẹ han lẹsẹkẹsẹ firanṣẹ awọn ibeere lẹhin fọto yii. Ko tii wa ninu kaṣe; ibeere akọkọ waye ni yarayara. Ni pataki kanna bii lati kaṣe fọto kan. Ibi ipamọ ti o lọra ko ni ipa ninu eyi rara. Ati pe nigba ọjọ kan lẹhinna o ti sọ di mimọ, o ti wa tẹlẹ boya cache lori Layer caching wa, tabi, o ṣeese, ko si ẹnikan ti o nilo rẹ mọ. Awon. Iriri olumulo nibi ti dagba daradara nitori iru awọn ifọwọyi ti o rọrun.
O dara, ati ṣe pataki julọ: a dẹkun sisọnu data.

Jẹ ká kan sọ a duro o pọju padanu data, nitori a ko gan padanu. Ṣugbọn ewu wà. A rii pe ojutu yii jẹ, dajudaju, dara, ṣugbọn o jẹ diẹ bi didan awọn ami aisan ti iṣoro naa, dipo ti yanju rẹ patapata. Ati diẹ ninu awọn iṣoro wa nibi.
Ni akọkọ, eyi jẹ aaye ikuna ni irisi ogun ti ara lori eyiti gbogbo ẹrọ yii ko lọ;

Ni ẹẹkeji, awọn iṣoro tun wa pẹlu awọn SAN, itọju iwuwo wọn, ati bẹbẹ lọ. Kii ṣe pe o jẹ ifosiwewe pataki, ṣugbọn Mo fẹ lati gbiyanju lati gbe laaye laisi rẹ.
Ati pe a ṣe ẹya kẹta (ni otitọ, keji ni otitọ) - ẹya ifiṣura. Kini o dabi?
Eyi ni ohun ti o jẹ -

Awọn iṣoro akọkọ wa pẹlu otitọ pe eyi jẹ agbalejo ti ara.
Ni akọkọ, a n yọ awọn SAN kuro nitori a fẹ lati ṣe idanwo, a fẹ gbiyanju awọn dirafu lile agbegbe nikan.

Eyi jẹ tẹlẹ 2014-2015, ati ni akoko yẹn ipo pẹlu awọn disiki ati agbara wọn ninu ogun kan di pupọ dara julọ. A pinnu idi ti ko gbiyanju o.
Ati lẹhinna a nìkan mu apakan afẹyinti wa ati gbe lọ si ẹrọ ti o yatọ.

Bayi, a gba yi aworan atọka. A ni awọn ọkọ ayọkẹlẹ meji ti o tọju datasets kanna. Wọn ṣe afẹyinti fun ara wọn patapata ati muuṣiṣẹpọ data lori nẹtiwọọki nipasẹ isinyi asynchronous ni MySQL kanna.

Kini idi ti eyi n ṣiṣẹ daradara nitori pe a ni awọn igbasilẹ diẹ. Awon. ti kikọ ba wa ni afiwe si kika, boya a yoo ni diẹ ninu awọn iru nẹtiwọki lori oke ati awọn iṣoro. Ikọwe kekere wa, kika pupọ - ọna yii ṣiṣẹ daradara, i.e. A ṣọwọn da awọn fọto laarin awọn olupin meji wọnyi.
Bawo ni eyi ṣe n ṣiṣẹ, ti o ba wo diẹ diẹ sii ni awọn alaye.

Gbee si. Oniwọntunwọnsi nìkan yan awọn ogun laileto pẹlu bata kan ati gbejade si rẹ. Ni akoko kanna, o ṣe awọn sọwedowo ilera nipa ti ara ati rii daju pe ọkọ ayọkẹlẹ ko ṣubu. Awon. o gbe awọn fọto sori olupin laaye nikan, ati lẹhinna nipasẹ isinyi asynchronous o ti daakọ gbogbo rẹ si aladugbo rẹ. Pẹlu ikojọpọ ohun gbogbo jẹ lalailopinpin o rọrun.
Awọn iṣẹ-ṣiṣe ni kekere kan diẹ soro.

Lua ṣe iranlọwọ fun wa nibi, nitori o le nira lati ṣe iru ọgbọn bẹ lori fanila NGINX. A kọkọ beere ibeere kan si olupin akọkọ, rii boya fọto naa wa nibẹ, nitori pe o le ṣe gbejade, fun apẹẹrẹ, si aladugbo, ṣugbọn ko tii de ibi. Ti fọto ba wa nibẹ, iyẹn dara. A fun ni lẹsẹkẹsẹ si alabara ati, o ṣee ṣe, kaṣe rẹ.

Bí kò bá sí níbẹ̀, a kàn máa ń béèrè lọ́wọ́ aládùúgbò wa, a sì jẹ́rìí sí i láti rí i gbà láti ibẹ̀.

Iyẹn. lẹẹkansi a le sọ: awọn iṣoro le wa pẹlu iṣẹ ṣiṣe, nitori awọn irin-ajo yika nigbagbogbo wa - fọto ti gbejade, kii ṣe nibi, a n ṣe awọn ibeere meji dipo ọkan, eyi yẹ ki o ṣiṣẹ laiyara.
Ni ipo wa, eyi ko ṣiṣẹ laiyara.

A gba opo kan ti awọn metiriki lori eto yii, ati pe oṣuwọn ọlọgbọn ni majemu ti iru ẹrọ kan jẹ nipa 95%. Awon. Aisun ti afẹyinti yii jẹ kekere, ati nitori eyi a fẹrẹ jẹ ẹri, lẹhin ti a ti gbe aworan naa, a yoo mu ni igba akọkọ ati pe kii yoo ni lati lọ nibikibi lẹẹmeji.
Nitorinaa kini ohun miiran ti a ni ti o dara gaan?
Ni iṣaaju, a ni ipin afẹyinti akọkọ, ati pe a ka lati ọdọ wọn lẹsẹsẹ. Awon. A nigbagbogbo wa lori akọkọ akọkọ, ati lẹhinna lori afẹyinti. O jẹ ọkan gbigbe.
Bayi a lo kika lati awọn ẹrọ meji ni ẹẹkan. A pin awọn ibeere ni lilo Round Robin. Ni ipin kekere ti awọn ọran a ṣe awọn ibeere meji. Ṣugbọn lapapọ, a ni bayi ni ilọpo meji iṣura kika bi a ti ni tẹlẹ. Ati pe ẹrù naa dinku pupọ lori awọn ẹrọ fifiranṣẹ ati taara lori awọn ẹrọ ipamọ, eyiti a tun ni ni akoko yẹn.
Nipa ifarada ẹbi. Lootọ, eyi ni ohun ti a ja fun ni akọkọ. Pẹlu ifarada ẹbi, ohun gbogbo yipada nla nibi.

Ọkọ ayọkẹlẹ kan ṣubu.

Kosi wahala! Onimọ ẹrọ eto le ma ji ni alẹ, yoo duro titi di owurọ, ko si ohun buburu ti yoo ṣẹlẹ.
Paapa ti ẹrọ yii ba kuna, ti isinyi ko ṣiṣẹ, boya ko si awọn iṣoro boya, log yoo kan kojọpọ lori ẹrọ alãye, lẹhinna ao fi kun si ti isinyi, lẹhinna si ọkọ ayọkẹlẹ ti yoo jẹ. lọ sinu isẹ lẹhin ti awọn akoko.

Ohun kanna pẹlu itọju. A nirọrun pa ọkan ninu awọn ẹrọ naa, fa pẹlu ọwọ jade kuro ninu gbogbo awọn adagun-odo, o da gbigba ijabọ duro, a ṣe iru itọju kan, a ṣatunkọ nkan kan, lẹhinna a da pada si iṣẹ, ati pe afẹyinti yoo mu yarayara. Awon. fun ọjọ kan, awọn downtime ti ọkan ọkọ ayọkẹlẹ yẹ soke laarin kan tọkọtaya ti iṣẹju. Eleyi jẹ gan gan kekere. Pẹlu ifarada ẹbi, Mo sọ lẹẹkansi, ohun gbogbo dara nibi.
Awọn ipinnu wo ni a le fa lati inu ero isanpada yii?
A ni ifarada ẹbi.
Rọrun lati lo. Niwọn igba ti awọn ẹrọ naa ni awọn dirafu lile agbegbe, eyi jẹ irọrun pupọ diẹ sii lati oju wiwo iṣẹ fun awọn onimọ-ẹrọ ti o ṣiṣẹ pẹlu rẹ.
A gba iyọọda kika meji.
Eyi jẹ ẹbun ti o dara pupọ ni afikun si ifarada ẹbi.
Ṣugbọn awọn iṣoro tun wa. Bayi a ni idagbasoke eka pupọ diẹ sii ti diẹ ninu awọn ẹya ti o ni ibatan si eyi, nitori eto naa ti di 100% bajẹ ni ibamu.

A gbọdọ, sọ, ni diẹ ninu iṣẹ abẹlẹ, ronu nigbagbogbo: “Ẹrọ olupin wo ni a nṣiṣẹ lori bayi?”, “Ṣe fọto lọwọlọwọ wa nibi?” ati be be lo. Eyi, nitorinaa, gbogbo rẹ ni a we, ati fun olupilẹṣẹ ti o kọ ọgbọn iṣowo, o han gbangba. Ṣugbọn, sibẹsibẹ, yi ti o tobi eka Layer ti han. Ṣugbọn a ti ṣetan lati farada eyi ni paṣipaarọ fun awọn ire ti a gba lati ọdọ rẹ.
Ati nibi lẹẹkansi diẹ ninu awọn rogbodiyan dide.
Mo sọ ni ibẹrẹ pe fifipamọ ohun gbogbo lori awọn dirafu lile agbegbe jẹ buburu. Ati nisisiyi Mo sọ pe a fẹran rẹ.
Bẹẹni, nitootọ, lẹhin akoko ipo naa ti yipada pupọ, ati nisisiyi ọna yii ni ọpọlọpọ awọn anfani. Ni akọkọ, a gba iṣẹ ti o rọrun pupọ.
Ni ẹẹkeji, o jẹ iṣelọpọ diẹ sii, nitori a ko ni awọn oludari adaṣe wọnyi tabi awọn asopọ si awọn selifu disk.
Awọn ẹrọ ti o tobi pupọ wa nibẹ, ati pe iwọnyi jẹ awọn disiki diẹ ti o pejọ nibi lori ẹrọ sinu igbogun ti.
Ṣugbọn awọn alailanfani tun wa.

Eyi jẹ isunmọ awọn akoko 1,5 diẹ gbowolori ju lilo SAN paapaa ni awọn idiyele oni. Nitorinaa, a pinnu lati ma ṣe igboya yi gbogbo iṣupọ nla wa pada sinu awọn ọkọ ayọkẹlẹ pẹlu awọn dirafu lile agbegbe ati pinnu lati lọ kuro ni ojutu arabara kan.
Idaji awọn ẹrọ wa n ṣiṣẹ pẹlu awọn dirafu lile (daradara, kii ṣe idaji - boya 30 ogorun). Ati awọn iyokù jẹ awọn ọkọ ayọkẹlẹ atijọ ti o lo lati ni eto ifiṣura akọkọ. A nìkan gbe wọn soke, niwon a ko nilo titun data tabi ohunkohun miiran, a nìkan gbe awọn gbeko lati ọkan ti ara ogun si meji.
Ati pe a ti ni ọja kika nla bayi, ati pe a gbooro sii. Ti tẹlẹ a gbe ibi ipamọ kan sori ẹrọ kan, ni bayi a gbe mẹrin, fun apẹẹrẹ, lori bata kan. Ati pe o ṣiṣẹ daradara.
Jẹ́ ká ṣàkópọ̀ ṣókí nípa ohun tá a ṣe, ohun tá a jà fún, àti bóyá a ṣàṣeyọrí.
Awọn esi
A ni awọn olumulo - bi ọpọlọpọ bi 33 milionu.
A ni awọn aaye mẹta ti wiwa - Prague, Miami, Hong Kong.
Wọn ni Layer caching, eyiti o ni awọn ọkọ ayọkẹlẹ pẹlu awọn disiki agbegbe yara (SSDs), lori eyiti awọn ẹrọ ti o rọrun lati NGINX, wiwọle rẹ.log ati Python daemons nṣiṣẹ, eyiti o ṣe ilana gbogbo eyi ati ṣakoso kaṣe naa.
Ti o ba fẹ, o wa ninu iṣẹ akanṣe rẹ, ti awọn fọto ko ba ṣe pataki fun ọ bi wọn ṣe jẹ fun wa, tabi ti iṣakoso pipa-ọja pẹlu iyara idagbasoke ati awọn idiyele orisun wa ni itọsọna miiran fun ọ, lẹhinna o le rọpo lailewu. pẹlu CDN, awọn CDN ode oni ni wọn ṣe daradara.
Nigbamii ti Layer ipamọ wa, lori eyiti a ni awọn iṣupọ ti awọn ẹrọ meji ti o ṣe afẹyinti fun ara wọn, awọn faili ti wa ni asynchronously daakọ lati ọkan si ekeji nigbakugba ti wọn ba yipada.
Pẹlupẹlu, diẹ ninu awọn ẹrọ wọnyi ṣiṣẹ pẹlu awọn dirafu lile agbegbe.
Diẹ ninu awọn ẹrọ wọnyi ni asopọ si awọn SAN.

Ati, ni apa kan, o rọrun diẹ sii lati lo ati iṣelọpọ diẹ sii, ni apa keji, o rọrun ni awọn ofin iwuwo ipo ati idiyele fun gigabyte.
Eyi jẹ iru alaye kukuru ti faaji ti ohun ti a ni ati bii gbogbo rẹ ṣe dagbasoke.
Awọn imọran diẹ diẹ sii lati ọdọ olori-ogun, awọn ti o rọrun pupọ.
Ni akọkọ, ti o ba pinnu lojiji pe o nilo lati ni ilọsiwaju ohun gbogbo ninu awọn amayederun fọto rẹ, wiwọn ni akọkọ, nitori boya ko si ohun ti o nilo lati ni ilọsiwaju.

Jẹ ki n fun ọ ni apẹẹrẹ. A ni iṣupọ awọn ẹrọ ti o firanṣẹ awọn fọto lati awọn asomọ ni awọn ibaraẹnisọrọ, ati pe ero naa ti n ṣiṣẹ nibẹ lati ọdun 2009, ko si si ẹnikan ti o jiya. Gbogbo eniyan dara, gbogbo eniyan fẹran ohun gbogbo.
Lati le wọnwọn, kọkọ kọkọ kọkọ so opo awọn metiriki kan, wo wọn, lẹhinna pinnu kini inu rẹ ko ni idunnu ati ohun ti o nilo lati ni ilọsiwaju. Lati le wiwọn eyi, a ni ohun elo tutu ti a pe ni Pinba.
O gba ọ laaye lati gba awọn iṣiro alaye pupọ lati NGINX fun ibeere kọọkan ati awọn koodu idahun, ati pinpin awọn akoko - ohunkohun ti o fẹ. O ni awọn abuda si gbogbo iru awọn ọna ṣiṣe atupale oriṣiriṣi, ati lẹhinna o le wo gbogbo rẹ ni ẹwa.
Ni akọkọ a wọn wọn, lẹhinna a ni ilọsiwaju.
Siwaju sii. A ṣe ilọsiwaju kika pẹlu kaṣe, kikọ pẹlu sharding, ṣugbọn eyi jẹ aaye ti o han gbangba.

Siwaju sii. Ti o ba bẹrẹ ni bayi lati kọ eto rẹ, lẹhinna o dara julọ lati ṣe awọn fọto bi awọn faili ti ko yipada. Nitoripe o padanu gbogbo kilasi ti awọn iṣoro lẹsẹkẹsẹ pẹlu invalidation kaṣe, pẹlu bii ọgbọn yẹ ki o wa ẹya ti o pe ti fọto, ati bẹbẹ lọ.

Jẹ ki a sọ pe o gbejade ọgọrun, lẹhinna yiyi pada, jẹ ki o jẹ faili ti o yatọ ti ara. Awon. ko si ye lati ronu: bayi Emi yoo fi aaye diẹ pamọ, kọ si faili kanna, yi ẹya pada. Eyi nigbagbogbo ko ṣiṣẹ daradara ati ki o fa ọpọlọpọ awọn efori nigbamii.
Nigbamii ti ojuami. Nipa resize lori awọn fly.
Ni iṣaaju, nigbati awọn olumulo gbejade fọto kan, a ge gbogbo awọn iwọn titobi lẹsẹkẹsẹ fun gbogbo awọn iṣẹlẹ, fun awọn alabara oriṣiriṣi, ati pe gbogbo wọn wa lori disiki naa. Bayi a ti kọ eyi silẹ.
A fi nikan meta akọkọ titobi: kekere, alabọde ati ki o tobi. A nìkan sọ gbogbo ohun miiran silẹ lati iwọn ti o wa lẹhin eyi ti a beere fun wa ni Uport, a kan ṣe iwọn isalẹ ki a fun olumulo naa.
Sipiyu ti Layer caching nibi yipada lati din owo pupọ ju ti a ba tun ṣe awọn iwọn wọnyi nigbagbogbo lori ibi ipamọ kọọkan. Jẹ ki a sọ pe a fẹ lati ṣafikun ọkan tuntun, eyi yoo gba oṣu kan - ṣiṣe iwe afọwọkọ kan nibi gbogbo ti yoo ṣe gbogbo eyi daradara, laisi iparun iṣupọ naa. Awon. Ti o ba ni aye lati yan ni bayi, o dara lati ṣe awọn iwọn ti ara diẹ bi o ti ṣee, ṣugbọn ki o kere ju diẹ ninu awọn pinpin jẹ, sọ, mẹta. Ati pe ohun gbogbo le jẹ iwọntunwọnsi nirọrun lori fo nipa lilo awọn modulu ti a ti ṣetan. O rọrun pupọ ati wiwọle ni bayi.
Ati afikun asynchronous afẹyinti jẹ dara.
Gẹgẹbi iṣe wa ti fihan, ero yii ṣiṣẹ nla pẹlu didakọ idaduro ti awọn faili ti o yipada.

Awọn ti o kẹhin ojuami jẹ tun kedere. Ti awọn amayederun rẹ ko ba ni iru awọn iṣoro bayi, ṣugbọn nkan kan wa ti o le fọ, dajudaju yoo fọ nigbati o ba di diẹ sii. Nitorinaa, o dara lati ronu nipa eyi ni ilosiwaju ati pe ko ni iriri awọn iṣoro pẹlu rẹ. Iyẹn ni gbogbo ohun ti Mo fẹ sọ.
Awọn olubasọrọ
»
»
Ijabọ yii jẹ iwe afọwọkọ ti ọkan ninu awọn ọrọ ti o dara julọ ni apejọ ti awọn olupilẹṣẹ ti awọn ọna ṣiṣe fifuye giga . O ku diẹ sii ju oṣu kan titi apejọ HighLoad ++ 2017.
A ti ṣetan tẹlẹ , awọn iṣeto ti wa ni bayi ni akoso actively.
Ni ọdun yii a tẹsiwaju lati ṣawari koko-ọrọ ti awọn faaji ati iwọn:
- / Igor Vasiliev
- / Dmitry Egorov
- / Anatoly Plaskovsky
- / Roman Shekhovtsov, Alexey Gromatchikov
- / Philip Delgado
A tun lo diẹ ninu awọn ohun elo wọnyi ninu iṣẹ ikẹkọ ori ayelujara wa lori idagbasoke awọn eto fifuye giga jẹ pq ti awọn lẹta ti a yan ni pataki, awọn nkan, awọn ohun elo, awọn fidio. Iwe-ẹkọ iwe-ẹkọ wa ti ni diẹ sii ju awọn ohun elo alailẹgbẹ 30 lọ. Sopọ!
orisun: www.habr.com
