Ва дар баъзе мавридҳо мо пай бурдем, ки ин схема камбудиҳои муайян дорад. Камбудиҳо чист?
Пеш аз ҳама, қобилияти маҳдуд вуҷуд дорад. Мо наметавонем он қадар дискҳои сахтро ба як сервери физикӣ, ки мо мехоҳем, бор кунем. Ва ин бо мурури замон ва афзоиши маҷмӯи додаҳо ба як мушкилии муайян табдил ёфтааст.
Ман аллакай дар слайди аввал гуфта будам: мо дар як сония 80 ҳазор дархости хониш дорем ва ҳамагӣ 3,5 миллион боркунӣ дар як рӯз. Яъне, ин фарқияти се дараҷаи бузург аст. Равшан аст, ки хондан бояд оптимизатсия карда шавад ва амалан равшан аст, ки чӣ тавр.
Боз як нуктаи хурде ҳаст. Хусусиятҳои хидмат аз он иборат аст, ки шахс сабти ном мешавад, акс бор мекунад ва сипас ба одамони дигар фаъолона нигоҳ кардан, ба онҳо маъқул шуданро оғоз мекунад ва ба одамони дигар фаъолона нишон дода мешавад. Пас аз он ӯ ҳамсар пайдо мекунад ё ҳамсарашро намеёбад, аз он вобаста аст, ки он чӣ гуна мешавад ва барои муддате истифода аз хидматро қатъ мекунад. Дар айни замон, вақте ки ӯ онро истифода мебарад, аксҳои ӯ хеле гарманд - онҳо дар талабот ҳастанд, бисёр одамон онҳоро тамошо мекунанд. Ҳамин ки ӯ ин корро бас мекунад, вай хеле зуд аз таъсири бештаре бо одамони дигар хориҷ мешавад ва аксҳои ӯ қариб ҳеҷ гоҳ дархост карда намешаванд.
Онхое. Мо як маҷмӯаи хеле хурди гарм дорем. Аммо дар баробари ин ба у мурочиатномахо низ зиёданд. Ва як ҳалли комилан возеҳ дар ин ҷо илова кардани кэш аст.
Акнун ҳама чиз на ба се, балки ба чор тақсим мешавад. Ҳамин тариқ, қариб ҳамаи калидҳое, ки мо қаблан доштем, қариб ҳамаи URL-ҳо ҳоло дар серверҳои дигар зиндагӣ мекунанд. Тамоми кэш танҳо як лаҳза бекор карда шуд. Ҳама дархостҳо ба кластери нигаҳдории мо афтоданд, он бад шуд, нокомии хидмат ва корбарони норозӣ. Ман ин корро кардан намехоҳам.
Ин вариант ба мо низ мувофиқ нест.
ки. мо бояд чӣ кор кунем? Мо бояд бо кадом роҳе аз кэш самаранок истифода барем, ҳамон як дархостро дар як сервер такрор ба такрор фиристем, аммо ба дубора тақсим кардан тобовар бошем. Ва чунин ҳалли вуҷуд дорад, он қадар мураккаб нест. Он ҳашингии пайваста номида мешавад.
Он чӣ гуна аст?
Мо аз калиди sharding баъзе функсияҳоро мегирем ва тамоми арзишҳои онро дар доира паҳн мекунем. Онхое. дар нуқтаи 0, арзишҳои ҳадди ақал ва максималии он ба ҳам меоянд. Баъдан, мо ҳама серверҳои худро дар як доира тақрибан ба ин тариқ ҷойгир мекунем:
Ҳар як сервер аз ҷониби як нуқта муайян карда мешавад ва секторе, ки бо ақрабаки соат ба он меравад, мувофиқан аз ҷониби ин мизбон хизмат мерасонад. Вақте ки дархостҳо ба мо меоянд, мо дарҳол мебинем, ки масалан дархости A - он ҷо ҳаш дорад - ва он аз ҷониби сервери 2. Дархости B - аз ҷониби сервер 3. Ва ғайра.
Дар ин ҳолат ҳангоми азнавсозӣ чӣ мешавад?
Мо мисли пештара тамоми кэшро беэътибор намекунем ва ҳамаи калидҳоро иваз намекунем, аммо мо ҳар як секторро ба масофаи кӯтоҳ мегузарем, то ки нисбатан гуем, сервери шашуми мо, ки мо онро илова кардан мехоҳем, ба фазои холӣ мувофиқат кунад ва мо онро дар он ҷо илова мекунем.
Албатта, дар чунин вазъият калидҳо низ берун мебароянд. Аммо онҳо назар ба пештара хеле заифтар мешаванд. Ва мо мебинем, ки ду калиди аввалини мо дар серверҳои онҳо боқӣ монданд ва сервери кэш танҳо барои калиди охирин тағйир ёфт. Ин хеле самаранок кор мекунад ва агар шумо мизбони навро тадриҷан илова кунед, дар ин ҷо ягон мушкилии калон вуҷуд надорад. Шумо кам-кам илова ва илова мекунед, интизор шавед, ки кэш дубора пур шавад ва ҳама чиз хуб кор мекунад.
Ягона савол бо радкунӣ боқӣ мемонад. Фарз мекунем, ки ягон хел машина аз кор мебарояд.
Ва мо аслан намехоҳем, ки дар айни замон ин харитаро аз нав тавлид кунем, як қисми кэшро беэътибор созем ва ғайра, агар, масалан, мошин бозоғоз карда шуда бошад ва ба мо лозим аст, ки ба ягон тариқ дархостҳои хидматрасониро пешниҳод кунем. Мо танҳо як кэши аксҳои эҳтиётиро дар ҳар як сайт нигоҳ медорем, ки он ҳамчун ивазкунандаи ҳар як мошини ҳозира кор намекунад. Ва агар ногаҳон яке аз серверҳои мо дастнорас гардад, трафик ба он ҷо меравад. Табиист, ки мо дар он ҷо ягон кэш надорем, яъне. сард аст, аммо ҳадди аққал дархостҳои корбарон коркард мешаванд. Агар ин фосилаи кутох бошад, пас мо онро комилан оромона хис мекунем. Дар анбор танҳо бори бештар вуҷуд дорад. Агар ин фосила дароз бошад, пас мо аллакай қарор қабул карда метавонем - ин серверро аз харита хориҷ кунем ё не, ё шояд онро бо дигаре иваз кунем.
Мо ин серверҳоро дар се DC-и худ ҷойгир кардем ва се нуқтаи ҳузурро гирифтем - Прага, Майами ва Ҳонконг.
ки. онҳо дар ҳар як бозорҳои мавриди ҳадафи мо бештар ё камтар дар маҳал ҷойгиранд.
Ва ҳамчун бонуси хуб, мо ин прокси кэшро гирифтем, ки дар он CPU воқеан бекор аст, зеро он барои хидматрасонии мундариҷа он қадар лозим нест. Ва дар он ҷо, бо истифода аз NGINX+ Lua, мо мантиқи зиёди утилитариро амалӣ кардем.
Масалан, мо метавонем бо webp ё jpeg прогрессивӣ озмоиш кунем (инҳо форматҳои муосири муассир мебошанд), бубинед, ки он ба трафик чӣ гуна таъсир мерасонад, баъзе қарорҳо қабул кунед, онро барои кишварҳои муайян фаъол созед ва ғайра; андозаи динамикиро тағир диҳед ё аксҳоро дар парвоз бурида гиред.
Ин як ҳолати хубест, вақте ки шумо як барномаи мобилие доред, ки аксҳоро намоиш медиҳад ва барномаи мобилӣ намехоҳад CPU-и муштариро барои дархости акси калон ва сипас тағир додани андозаи он ба андозаи муайян сарф кунад, то он ба он тела диҳад. манзара. Мо метавонем танҳо ба таври динамикӣ баъзе параметрҳоро дар URL шартии UPort муайян кунем ва кэши акс худи аксро тағир медиҳад. Чун қоида, он андозаеро, ки мо дар диски ҷисмонӣ дорем, ба қадри имкон ба диски дархостшуда наздиктар интихоб мекунад ва онро дар координатҳои мушаххас мефурӯшад.
Ва, эҳтимоли зиёд, як шунавандаи ботаҷриба метавонад саволе дошта бошад: чаро ҳама чизро ба CDN иваз накунед? Ин тақрибан якхела хоҳад буд; ҳама CDN-ҳои муосир ин корро карда метавонанд. Ва як қатор сабабҳо вуҷуд доранд.
Якум - аксҳо.
Ин яке аз нуктаҳои асосии инфрасохтори мост ва мо бояд ҳарчи бештар аз болои он назорат кунем. Агар ин як навъ ҳалли як фурӯшандаи тарафи сеюм бошад ва шумо бар он қудрат надошта бошед, ҳангоми доштани маҷмӯаи маълумоти калон ва вақте ки шумо ҷараёни хеле калон доред, бо он зиндагӣ кардан барои шумо хеле душвор хоҳад буд. дархостҳои корбарон.
Биёед ба шумо як мисол орам. Ҳоло, бо инфрасохтори худ, мо метавонем, масалан, дар сурати ягон мушкилот ё кӯфтани зеризаминӣ, ба мошин рафта, дар атрофи он, нисбатан гӯем, бесарусомонӣ кунем. Мо метавонем маҷмӯи баъзе ченакҳоеро, ки ба мо танҳо лозиманд, илова кунем, мо метавонем таҷриба кунем, бубинем, ки ин ба графикҳо чӣ гуна таъсир мерасонад ва ғайра. Ҳоло дар ин кластери кэш бисёр омор ҷамъоварӣ карда мешавад. Ва мо давра ба давра ба он назар меандозем ва вақти зиёдро барои омӯхтани баъзе аномалияҳо сарф мекунем. Агар он дар тарафи CDN мебуд, назорат кардан хеле душвортар мебуд. Ё масалан, агар ягон фалокат рӯй диҳад, мо медонем, ки чӣ шуд, мо медонем, ки бо он чӣ гуна зиндагӣ кунем ва чӣ гуна онро бартараф кунем. Ин хулосаи аввалин аст.
Хулосаи дуюм низ хеле таърихӣ аст, зеро система муддати тӯлонӣ рушд карда истодааст ва дар марҳилаҳои гуногун талаботҳои зиёди тиҷоратӣ мавҷуданд ва онҳо на ҳамеша ба консепсияи CDN мувофиқат мекунанд.
Ва нуктае, ки аз пештара бармеояд
Сабаб дар он аст, ки дар кэшҳои акс мо мантиқи мушаххас дорем, ки онҳоро ҳамеша бо дархост илова кардан мумкин нест. Аз эҳтимол дур нест, ки ягон CDN бо дархости шумо чизҳои фармоиширо ба шумо илова кунад. Масалан, рамзгузории URL-ҳо, агар шумо намехоҳед, ки муштарӣ чизеро тағир диҳад. Оё шумо мехоҳед URL-ро дар сервер тағир диҳед ва онро рамзгузорӣ кунед ва пас чанд параметрҳои динамикиро ба ин ҷо фиристед.
Ғайр аз он, ба ғайр аз нуқтаҳои нокомӣ, нигоҳдории вазнини худи анбор вуҷуд дорад.
Ин як системаи мураккаби бисёрҷониба аст ва муҳандисони система метавонанд бо он кор кардан душвор бошанд.
Ва охирин, муҳимтарин нукта. Агар дар яке аз ин се нуқта нокомӣ рух диҳад, мо имкони гум кардани маълумоти корбарро ба сифр надорем, зеро системаи файлӣ метавонад вайрон шавад.
Фарз мекунем, ки системаи файлии мо вайрон шудааст. Аввалан, барқарорсозии он муддати тӯлонӣ мегирад - он метавонад бо миқдори зиёди маълумот як ҳафта гирад. Ва дуюм, дар ниҳоят, мо эҳтимолан бо як хӯшаи файлҳои нофаҳмо ба даст меорем, ки онҳо бояд ба гунае дар аксҳои корбар муттаҳид карда шаванд. Ва мо хавфи гум кардани маълумотро дорем. Хавф хеле баланд аст. Ва ҳар қадаре, ки чунин ҳолатҳо рух медиҳанд ва дар тамоми ин занҷир мушкилот бештар ба миён меоянд, ин хатар ҳамон қадар зиёд мешавад.
Дар ин бора коре кардан лозим буд. Ва мо тасмим гирифтем, ки мо бояд танҳо маълумотро нусхабардорӣ кунем. Ин дар асл як роҳи равшан ва як роҳи хуб аст. Мо чӣ кор кардаем?
Вақте ки он қаблан ба анбор пайваст шуда буд, сервери мо чунин менамуд. Ин як бахши асосӣ аст, он танҳо як дастгоҳи блокест, ки аслан васл барои нигаҳдории дурдаст тавассути оптика мебошад.
Мо танҳо як бахши дуюмро илова кардем.
Мо дар паҳлӯи он як анбори дуюм ҷойгир кардем (хушбахтона, он аз ҷиҳати пул он қадар гарон нест) ва онро қисмати эҳтиётӣ номидем. Он инчунин тавассути оптика пайваст карда шудааст ва дар ҳамон мошин ҷойгир аст. Аммо ба мо лозим аст, ки маълумотро дар байни онҳо синхронизатсия кунем.
Вай чандон банд нест. Мо медонем, ки мо сабтҳои кофӣ надорем. Навбат танҳо як ҷадвал дар MySQL аст, ки дар он сатрҳо ба монанди "шумо бояд ин аксро нусхабардорӣ кунед" навишта шудаанд. Бо ҳама гуна тағирот ё боргузорӣ, мо аз қисмати асосӣ ба нусхабардорӣ бо истифода аз асинхронӣ ё танҳо як намуди коргари пасзамина нусхабардорӣ мекунем.
Ва ҳамин тавр, мо ҳамеша ду қисмати мувофиқ дорем. Ҳатто агар як қисми ин система кор накунад, мо ҳамеша метавонем қисмати асосиро бо нусхаи эҳтиётӣ иваз кунем ва ҳама чиз корашро идома медиҳад.
Аммо аз ин сабаб, сарбории хониш хеле зиёд мешавад, зеро ... ба ғайр аз муштариёне, ки аз қисмати асосӣ мехонанд, зеро онҳо аввал ба акс дар он ҷо нигоҳ мекунанд (он ҷо навтар аст) ва сипас онро дар нусхаи эҳтиётӣ ҷустуҷӯ мекунанд, агар онҳо онро наёфта бошанд (аммо NGINX ин корро мекунад), системаи мо низ як нусхаи плюс аст, ки ҳоло аз қисмати асосӣ мехонад. Ин на он аст, ки ин як монеа буд, аммо ман намехостам, ки сарбориро зиёд кунам, аслан, ҳамин тавр.
Ва мо як диски сеюмро илова кардем, ки SSD хурд аст ва онро буфер номидем.
Ҳоло он чӣ гуна кор мекунад.
Истифодабаранда аксро ба буфер бор мекунад, пас ҳодисае ба навбат гузошта мешавад, ки нишон медиҳад, ки онро ба ду қисм нусхабардорӣ кардан лозим аст. Он нусхабардорӣ карда мешавад ва акс дар буфер муддате зиндагӣ мекунад (масалан, як рӯз) ва танҳо баъд аз он тоза карда мешавад. Ин таҷрибаи корбарро хеле беҳтар мекунад, зеро корбар аксро бор мекунад, чун қоида, дархостҳо фавран иҷро мешаванд ё худаш саҳифаро навсозӣ карда, онро навсозӣ мекунад. Аммо ҳамааш аз барномае, ки боргузорӣ мекунад, вобаста аст.
Ё, масалан, одамони дигаре, ки ӯ худро ба онҳо нишон додан оғоз кардааст, пас аз ин акс фавран дархост ирсол мекунанд. Он ҳанӯз дар кэш нест; дархости аввал хеле зуд ба амал меояд. Аслан ҳамон тавре ки аз кэши аксҳост. Нигоҳдории суст ба ин тамоман дахл надорад. Ва вақте ки пас аз як рӯз он тоза карда мешавад, он аллакай ё дар қабати кэшкунии мо кэш карда мешавад, ё эҳтимоли зиёд ба ҳеҷ кас лозим нест. Онхое. Таҷрибаи корбар дар ин ҷо аз ҳисоби чунин амалҳои оддӣ хеле хуб афзоиш ёфтааст.
Хуб, ва муҳимтар аз ҳама: мо гум кардани маълумотро бас кардем.
Биёед бигӯем, ки мо қатъ кардем эҳтимолан маълумотро гум мекунем, зеро мо воқеан онро гум накардаем. Аммо хатар вуҷуд дошт. Мо мебинем, ки ин ило-ва, албатта, хуб аст, вале ин ба чои халли пурраи он, балки андаке хамвор кардани аломатхои проблема аст. Ва баъзе мушкилот дар ин ҷо боқӣ мондаанд.
Аввалан, ин як нуқтаи нокомӣ дар шакли худи мизбони ҷисмонӣ аст, ки тамоми ин мошинҳо дар он кор мекунанд; он аз байн нарафтааст.
Сониян, хануз проблемахои САН-хо, нигохубини вазнини онхо ва гайра мавчуданд. Ин як омили муҳим набуд, аммо ман мехостам кӯшиш кунам, ки бе он чӣ гуна зиндагӣ кунам.
Ва мо версияи сеюмро (воқеан, дуюмаш) - версияи фармоишро сохтем. Он чӣ гуна буд?
Ин аллакай солҳои 2014-2015 аст ва дар он вақт вазъи дискҳо ва қобилияти онҳо дар як ҳост хеле беҳтар шуд. Мо тасмим гирифтем, ки чаро ин корро накунем.
Ва он гоҳ мо танҳо қисмати эҳтиётии худро мегирем ва онро ба таври ҷисмонӣ ба мошини алоҳида интиқол медиҳем.
Ҳамин тариқ, мо ин диаграммаро ба даст меорем. Мо ду мошин дорем, ки ҳамон як маҷмӯаи маълумотро нигоҳ медоранд. Онҳо якдигарро пурра нусхабардорӣ мекунанд ва маълумотро тавассути шабака тавассути як навбати асинхронӣ дар ҳамон MySQL ҳамоҳанг мекунанд.
Чаро ин хуб кор мекунад, зеро мо сабтҳои кам дорем. Онхое. агар навиштан бо хондан муқоисашаванда мебуд, шояд мо як навъ сарбории шабакавӣ ва мушкилот медоштем. Навиштан кам аст, бисёр хондан - ин усул хуб кор мекунад, яъне. Мо хеле кам аксҳоро байни ин ду сервер нусхабардорӣ мекунем.
Ин чӣ гуна кор мекунад, агар шумо каме муфассалтар назар кунед.
Бор кунед. Мувозинат танҳо ҳостҳои тасодуфиро бо як ҷуфт интихоб мекунад ва ба он бор мекунад. Дар баробари ин, табиист, ки саломатии худро тафтиш мекунад ва боварӣ ҳосил мекунад, ки мошин аз замин наафтад. Онхое. ӯ аксҳоро танҳо ба сервери зинда бор мекунад ва сипас тавассути навбати асинхронӣ ҳамааш ба ҳамсояи худ нусхабардорӣ мешавад. Ҳангоми боргузорӣ ҳама чиз хеле содда аст.
Вазифа каме душвортар аст.
Луа дар ин ҷо ба мо кӯмак кард, зеро сохтани чунин мантиқ дар ванили NGINX метавонад душвор бошад. Мо аввал ба сервери аввал дархост медиҳем, бубинем, ки акс дар он ҷо ҳаст, зеро эҳтимолан онро метавон, масалан, ба ҳамсоя бор кард, аммо ҳанӯз ба ин ҷо нарасидааст. Агар акс дар он ҷо бошад, ин хуб аст. Мо онро фавран ба муштарӣ медиҳем ва эҳтимолан онро кэш мекунем.
Агар он дар он ҷо набошад, мо танҳо ба ҳамсояамон муроҷиат мекунем ва кафолат медиҳем, ки онро аз он ҷо мегирем.
ки. боз мо метавонем бигӯем: дар иҷроиш мушкилот вуҷуд дошта метавонад, зеро сафарҳои доимӣ вуҷуд доранд - акс бор карда шудааст, он дар ин ҷо нест, мо ба ҷои як ду дархост мекунем, ин бояд оҳиста кор кунад.
Дар шароити мо ин кор суст кор намекунад.
Мо дар ин система як қатор метрика ҷамъоварӣ мекунем ва суръати шартии интеллектуалии чунин механизм тақрибан 95% -ро ташкил медиҳад. Онхое. Қафомонии ин нусхаи эҳтиётӣ хурд аст ва аз ин рӯ, мо қариб кафолат медиҳем, ки пас аз бор кардани акс мо онро бори аввал мегирем ва ду маротиба ба ҳеҷ куҷо рафтан лозим нест.
Пас, мо боз чӣ дорем, ки воқеан аҷиб аст?
Пештар, мо қисмати асосии эҳтиётӣ доштем ва мо аз онҳо пайдарпай мехондем. Онхое. Мо ҳамеша аввал дар асоси асосӣ ва баъд дар нусхабардорӣ ҷустуҷӯ мекардем. Ин як ҳаракат буд.
Ҳоло мо дар як вақт хонданро аз ду мошин истифода мебарем. Мо дархостҳоро бо истифода аз Round Robin паҳн мекунем. Дар фоизи ками ҳолатҳо мо ду дархост мекунем. Аммо дар маҷмӯъ, ҳоло мо нисбат ба пештара ду баробар зиёдтар захираи хониш дорем. Ва бори хам дар машинахои фиристодан ва хам бевосита ба дастгоххои захиракунанда, ки дар он вакт мо хам доштем, хеле кам шуд.
Бале, дар хакикат, бо мурури замон вазъият хеле тагьир ёфт ва холо ин усул бартарихои зиёде дорад. Аввалан, мо амалиёти хеле соддатар мегирем.
Сониян, он самараноктар аст, зеро мо ин контроллерҳои автоматӣ ё пайвастшавӣ ба рафҳои диск надорем.
Дар он ҷо миқдори зиёди техника мавҷуд аст ва ин танҳо чанд дискест, ки дар ин ҷо дар мошин ба рейд ҷамъ карда мешаванд.
Аммо камбудихо хам хастанд.
Ин назар ба истифодаи SANs ҳатто бо нархҳои имрӯза тақрибан 1,5 маротиба гаронтар аст. Аз ин рӯ, мо тасмим гирифтем, ки далерона тамоми кластери бузурги худро ба мошинҳои дорои дискҳои сахти маҳаллӣ табдил надиҳем ва тасмим гирифтем, ки ҳалли гибридиро тарк кунем.
Нисфи мошинҳои мо бо дискҳои сахт кор мекунанд (хуб, не нисфи - эҳтимол 30 фоиз). Ва боқимонда мошинҳои кӯҳнаанд, ки қаблан схемаи аввалини фармоишро доштанд. Мо онҳоро танҳо аз нав насб кардем, зеро ба мо маълумоти нав ё чизи дигар лозим набуд, мо танҳо насбҳоро аз як ҳости физикӣ ба ду кӯчонидем.
Ва мо холо захираи зиёди хониш дорем ва онро васеъ кардем. Агар пештар мо як анборро ба як мошин васл карда бошем, ҳоло мо чор, масалан, ба як ҷуфт васл мекунем. Ва он хуб кор мекунад.
Биёед як хулосаи мухтасарро дар бораи он ки мо ба чӣ ноил шудем, барои чӣ мубориза бурдем ва муваффақ шудем ё не.
Натиҷаҳо
Мо корбар дорем - то 33 миллион.
Мо се нуқтаи ҳузур дорем - Прага, Майами, Ҳонконг.
Онҳо як қабати кэшро дар бар мегиранд, ки аз мошинҳои дорои дискҳои зуд локалӣ (SSD) иборат аст, ки дар онҳо техникаи оддии NGINX, access.log ва демонҳои Python кор мекунанд, ки ҳамаи инро коркард мекунанд ва кэшро идора мекунанд.
Агар шумо хоҳед, шумо дар лоиҳаи худ ҳастед, агар аксҳо барои шумо он қадар муҳим набошанд, зеро онҳо барои мо ҳастанд ё агар назорати мубодила бо суръати рушд ва хароҷоти захираҳо барои шумо дар самти дигар бошад, шумо метавонед онро бехатар иваз кунед. бо CDN, CDN-ҳои муосир онҳо хуб кор мекунанд.
Минбаъд қабати нигаҳдорӣ меояд, ки дар он мо кластерҳои ҷуфтҳои мошинҳо дорем, ки якдигарро нусхабардорӣ мекунанд, файлҳо ҳангоми тағир додани онҳо асинхронӣ аз як ба дигар нусхабардорӣ карда мешаванд.
Ғайр аз он, баъзе аз ин мошинҳо бо дискҳои сахти маҳаллӣ кор мекунанд.
Баъзе аз ин мошинҳо ба SANs пайваст карда шудаанд.
Ва, аз як тараф, он барои истифода қулайтар ва каме самараноктар аст, аз тарафи дигар, он аз ҷиҳати зичии ҷойгиркунӣ ва нархи як гигабайт қулай аст.
Ин як шарҳи мухтасари меъмории он чизест, ки мо он чизеро ба даст овардем ва он чӣ гуна инкишоф ёфтааст.
Чанд маслиҳати дигар аз капитан, маслиҳатҳои хеле оддӣ.
Биёед ба шумо як мисол орам. Мо як кластери мошинҳо дорем, ки аксҳоро аз замимаҳо дар чатҳо мефиристанд ва ин схема аз соли 2009 инҷониб кор мекунад ва ҳеҷ кас аз он азоб намекашад. Ҳама хубанд, ҳама чиз ба ҳама маъқул аст.
Барои чен кардан, аввал як қатор ченакҳоро овезон кунед, ба онҳо нигоҳ кунед ва сипас қарор кунед, ки шумо аз чӣ норозӣед ва чиро беҳтар кардан лозим аст. Барои чен кардани ин, мо як асбоби олие дорем, ки Pinba ном дорад.
Он ба шумо имкон медиҳад, ки омори хеле муфассалро аз NGINX барои ҳар як коди дархост ва ҷавоб ва тақсимоти вақтҳо - ҳар чизе ки мехоҳед, ҷамъ кунед. Он ба ҳама гуна системаҳои гуногуни таҳлилӣ пайваст аст ва пас шумо метавонед ба ҳама зебо назар кунед.
Аввал онро чен кардем, баъд такмил додем.
Минбаъд. Мо хонданро бо кэш, навиштан бо sharding оптимизатсия мекунем, аммо ин як нуқтаи возеҳ аст.
Минбаъд. Агар шумо ҳоло ба сохтани системаи худ шурӯъ карда бошед, пас беҳтар аст, ки аксҳоро ҳамчун файлҳои тағирнопазир созед. Зеро шумо фавран як синфи тамоми мушкилотро бо беэътиборкунии кэш аз даст медиҳед, ки чӣ гуна мантиқ бояд версияи дурусти аксро пайдо кунад ва ғайра.
Фарз мекунем, ки шумо сад бор бор кардаед, баъд онро гардонед ва онро тавре созед, ки он файли аз ҷиҳати ҷисмонӣ дигар бошад. Онхое. фикр кардан лозим нест: ҳоло ман каме ҷойро сарфа мекунам, онро ба ҳамон файл менависам, версияро тағир медиҳам. Ин на ҳамеша хуб кор мекунад ва баъдтар боиси дарди сар мегардад.
Пештар, вақте ки корбарон акс бор карданд, мо фавран як қатор андозаҳоро барои ҳама ҳолатҳо, барои муштариёни гуногун бурида будем ва ҳама дар диск буданд. Акнун мо аз ин даст кашидаем.
Мо танҳо се андозаи асосӣ гузоштем: хурд, миёна ва калон. Мо ҳама чизи боқимондаро аз андозае, ки дар паси андозае, ки дар Uport ба мо дархост карда шудааст, кам мекунем, мо танҳо миқёсро коҳиш медиҳем ва ба корбар медиҳем.
CPU-и қабати кэш дар ин ҷо назар ба он вақте ки мо ин андозаҳоро дар ҳар як анбор доимо барқарор мекардем, хеле арзонтар мешавад. Биёед бигӯем, ки мо мехоҳем як наверо илова кунем, ин як моҳро мегирад - дар ҳама ҷо як скриптро иҷро кунед, ки ҳамаи ин корро бодиққат иҷро кунад ва кластерро вайрон кунад. Онхое. Агар шумо ҳоло имкони интихоб кардан дошта бошед, беҳтар аст, ки андозаи ҷисмониро то ҳадди имкон кам кунед, аммо ҳадди аққал як тақсимот, масалан, се бошад. Ва ҳама чизҳои боқимонда метавонанд бо истифода аз модулҳои тайёр ба таври оддӣ андозаи худро тағир диҳед. Ҳамааш ҳоло хеле осон ва дастрас аст.
Ин гузориш стенограммаи яке аз беҳтарин баромадҳо дар конфронси таҳиякунандагони системаҳои пурбор аст HighLoad++. То конфронси HighLoad++ 2017 камтар аз як моҳ мондааст.