Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо

Салом ҳамкорон.

Имрӯз мо ба баррасии шумо тарҷумаи мақолаи Тугберк Угурлуро пешниҳод менамоем, ки ӯ ӯҳдадор шудааст, ки дар ҳаҷми нисбатан хурд принсипҳои тарҳрезии системаҳои нармафзори муосирро шарҳ диҳад. Ин аст он чизе ки муаллиф дар бораи худ ба таври мухтасар мегӯяд:

Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо
Азбаски аз соли 2019 дар як мақолаи хабро инъикос кардани чунин як мавзӯи азим ба мисли намунаҳои меъморӣ + намунаҳои тарроҳӣ комилан ғайриимкон аст, мо на танҳо матни худи ҷаноби Уруглу, балки истинодҳои сершумореро, ки ӯ бо меҳрубонӣ ба он дохил кардааст, тавсия медиҳем. Агар ба шумо писанд ояд, мо дар бораи тарҳрезии системаҳои тақсимшуда як матни махсусгардонидашуда нашр хоҳем кард.

Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо

Суратгир Исҳоқ Смит аз Unsplash

Агар шумо ҳеҷ гоҳ ба чунин мушкилот дучор нашавед, ба монанди тарҳрезии системаи нармафзор аз сифр, пас ҳангоми оғоз кардани чунин кор, баъзан ҳатто маълум нест, ки аз куҷо оғоз кунед. Ман боварӣ дорам, ки шумо аввал бояд сарҳадҳоро кашед, то дар бораи он ки шумо маҳз чӣ тарроҳӣ карданӣ ҳастед, тасаввуроти кам ё боварӣ дошта бошед ва сипас остинҳоро печонед ва дар дохили он сарҳад кор кунед. Ҳамчун нуқтаи ибтидоӣ, шумо метавонед маҳсулот ё хидматеро (бештар он чизе, ки ба шумо воқеан маъқул аст) бигиред ва бифаҳмед, ки чӣ гуна онро амалӣ кардан лозим аст. Шумо шояд ҳайрон шавед, ки ин маҳсулот то чӣ андоза содда менамояд ва он чӣ қадар мураккабиро дар бар мегирад. Фаромӯш накун: оддӣ - одатан мураккаб, ва ин хуб аст.

Ман фикр мекунам беҳтарин маслиҳате, ки ман метавонам ба ҳар касе, ки ба тарҳрезии система дода метавонам, ин аст: ҳеҷ гуна тахмин накунед! Аз худи аввал шумо бояд далелҳои маълумро дар бораи ин система ва интизориҳои бо он алоқамандро нишон диҳед. Инҳоянд чанд саволҳои хубе, ки ба шумо дар оғоз кардани тарроҳии худ кӯмак мекунанд:

  • Мо кадом масъаларо ҳал карданӣ ҳастем?
  • Шумораи зиёди корбароне, ки бо системаи мо ҳамкорӣ мекунанд, чанд аст?
  • Мо кадом шаклҳои навиштан ва хондани маълумотро истифода хоҳем бурд?
  • Ҳодисаҳои нокомии интизоршуда кадомҳоянд, мо онҳоро чӣ гуна ҳал хоҳем кард?
  • Интизориҳо барои мувофиқат ва дастрасии система чист?
  • Оё шумо бояд ҳангоми кор ягон талаботи марбут ба санҷиш ва танзими берунаро ба назар гиред?
  • Мо кадом намуди маълумоти ҳассосро нигоҳ медорем?

Инҳо танҳо чанд саволе ҳастанд, ки ҳам барои ман ва ҳам барои дастаҳое, ки дар тӯли солҳои фаъолияти касбӣ дар онҳо иштирок доштам, муфид буданд. Агар шумо ҷавобҳоро ба ин саволҳо (ва дигар саволҳое, ки ба контекст, ки дар он шумо бояд кор кунед) мувофиқанд, донед, пас шумо метавонед тадриҷан ба ҷузъиёти техникии мушкилот омӯзед.

Сатҳи ибтидоиро таъин кунед

Ман дар ин ҷо “базавӣ” чиро дар назар дорам? Воқеан, дар замони мо аксари мушкилот дар соҳаи нармафзорро бо истифода аз усулҳо ва технологияҳои мавҷуда "ҳалли" кардан мумкин аст. Ҳамин тариқ, бо паймоиши ин манзара, шумо ҳангоми рӯ ба рӯ шудан бо мушкилоте, ки каси дигар бояд пеш аз шумо ҳал кунад, як оғози муайян ба даст меоред. Фаромӯш накунед, ки барномаҳо барои ҳалли мушкилоти тиҷорӣ ва корбарон навишта шудаанд, аз ин рӯ, мо мекӯшем, ки мушкилотро бо соддатарин ва соддатарин (аз нуқтаи назари корбар) ҳал кунем. Чаро инро дар хотир доштан муҳим аст? Шояд дар системаи координатаи худ ба шумо дӯст медоред, ки роҳҳои ҳалли беназири ҳама мушкилотро ҷустуҷӯ кунед, зеро шумо фикр мекунед, ки "агар ман дар ҳама ҷо намунаҳоро риоя кунам, ман чӣ гуна барномасоз ҳастам"? Дар асл, санъат дар ин ҷо қарор қабул мекунад, ки дар куҷо ва чӣ кор кардан лозим аст. Албатта, ҳар яки мо бояд гоҳ-гоҳ бо мушкилоти нотакрор рӯ ба рӯ шавем, ки ҳар кадоми онҳо як мушкили воқеӣ аст. Аммо, агар сатҳи ибтидоии мо равшан муайян карда шуда бошад, пас мо медонем, ки қувваи худро ба чӣ сарф кунем: ҷустуҷӯи вариантҳои омодаи ҳалли мушкилоти дар назди мо гузошташуда ё омӯзиши минбаъдаи он ва ба даст овардани фаҳмиши амиқтар.

Ба фикрам, ман тавонистам шуморо бовар кунонам, ки агар мутахассис дилпурона дарк кунад, ки ҷузъи меъмории баъзе системаҳои нармафзори аҷиб чист, пас ин дониш барои азхудкунии ҳунари меъморӣ ва таҳияи заминаи мустаҳкам дар ин соҳа ҳатмӣ хоҳад буд.

Хуб, пас аз куҷо оғоз кардан лозим аст? У Донна Мартина Дар GitHub як репозиторий мавҷуд аст, ки номида мешавад тарҳрезии система, ки аз он шумо метавонед тарҳрезии системаҳои калонҳаҷмро омӯзед ва инчунин барои мусоҳибаҳо дар ин мавзӯъ омода шавед. Дар анбор як қисм бо мисолҳо мавҷуд аст меъмории воқеӣ, ки дар он, аз ҷумла, баррасӣ карда мешавад, ки онҳо ба тарҳрезии системаҳои худ чӣ гуна муносибат мекунанд баъзе ширкатҳои маъруфмасалан, Twitter, Uber ва ғайра.

Вале пеш аз он ки ба ин материал гузарем, биёед ба проблемахои мухимтарини меъморй, ки мо дар амал дучор меоем, муфассалтар дида бароем. Ин муҳим аст, зеро шумо бояд БИСЁР ҷанбаҳои мушкилоти якрав ва бисёрҷанбаро муайян кунед ва сипас онро дар доираи қоидаҳои амалкунанда дар системаи додашуда ҳал кунед. Ҷексон Габбард, як корманди собиқи Facebook навиштааст Видеои 50-дақиқаӣ дар бораи мусоҳибаҳои тарҳрезии системаҳо, ки дар он аз тачрибаи худ оид ба тафтиши садхо довталабон накл кард. Гарчанде ки видео ба тарҳрезии системаҳои калон ва меъёрҳои муваффақият, ки ҳангоми ҷустуҷӯи номзад ба чунин мавқеъ муҳиманд, тамаркуз мекунад, он ҳанӯз ҳам ҳамчун манбаи ҳамаҷониба дар бораи чизҳои муҳимтарин ҳангоми тарҳрезии системаҳо хидмат хоҳад кард. Ман ҳам пешниҳод мекунам мухтасар ин видео.

Эҷоди дониш дар бораи нигоҳдорӣ ва дарёфти маълумот

Одатан, қарори шумо дар бораи чӣ гуна нигоҳ доштан ва гирифтани маълумоти шумо дар тӯли дарозмуддат ба кори система таъсири ҷиддӣ мерасонад. Аз ин рӯ, шумо бояд аввал хусусиятҳои навиштан ва хондани системаи шуморо дарк кунед. Пас шумо бояд ин нишондиҳандаҳоро арзёбӣ карда, дар асоси баҳодиҳии додашуда интихоб кунед. Аммо, шумо метавонед бо ин кор самаранок мубориза баред, агар шумо намунаҳои нигоҳдории маълумотро дарк кунед. Дар асл, ин маънои дониши устувори марбут ба интихоби базаи маълумот.

Пойгоҳҳои додаҳоро метавон ҳамчун сохторҳои додаҳо баррасӣ кард, ки хеле миқёспазир ва устуворанд. Аз ин рӯ, ҳангоми интихоби пойгоҳи додаҳо дониш дар бораи сохторҳои додаҳо бояд барои шумо хеле муфид бошад. Барои намуна, Redis сервери сохтори додаҳост, ки намудҳои гуногуни арзишҳоро дастгирӣ мекунад. Он ба шумо имкон медиҳад, ки бо сохторҳои додаҳо ба монанди рӯйхатҳо ва маҷмӯаҳо кор кунед ва маълумотро бо истифода аз алгоритмҳои маъруф хонед, масалан, ЛРУ, чунин корро бо услуби устувор ва хеле дастрас ташкил кардан.

Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо

Суратгир Самуэл Зеллер аз Unsplash

Пас аз он ки шумо дар бораи шаклҳои гуногуни нигоҳдории додаҳо фаҳмиши кофӣ доред, ба омӯзиши мувофиқат ва дастрасии додаҳо гузаред. Пеш аз ҳама, шумо бояд фаҳмед Теоремаи CAP ҳадди аққал дар маҷмӯъ, ва он гоҳ ин донишро бо дидани бодиққат ба намунаҳои муқарраршуда сайқал диҳед мувофиқат и дастрасӣ. Бо ин роҳ, шумо фаҳмиши ин соҳаро инкишоф медиҳед ва мефаҳмед, ки хондан ва навиштани маълумот воқеан ду мушкилоти хеле гуногун мебошанд, ки ҳар кадоми онҳо мушкилоти беназири худро доранд. Бо якчанд намунаҳои мувофиқ ва мавҷудият муҷаҳҳаз шуда, шумо метавонед кори системаро ба таври назаррас баланд бардоред ва ҳамзамон ҷараёни ҳамвори додаҳоро ба барномаҳои худ таъмин кунед.

Ниҳоят, сӯҳбатро дар бораи масъалаҳои нигоҳдории маълумот ҷамъбаст намуда, мо бояд кэшро низ зикр кунем. Оё он бояд дар як вақт дар мизоҷ ва сервер кор кунад? Кадом маълумот дар кэши шумо хоҳад буд? Ва чаро? Беэътиборкунии кэшро чӣ гуна ташкил мекунед? Оё он мунтазам, дар фосилаҳои муайян анҷом дода мешавад? Агар ҳа, чанд вақт? Ман тавсия медиҳам, ки ба омӯзиши ин мавзӯъҳо шурӯъ кунед фасли оянда ибтидоии тарҳрезии системаи дар боло зикршуда.

Намунаҳои коммуникатсия

Системаҳо аз ҷузъҳои гуногун иборатанд; инҳо метавонанд равандҳои гуногуне бошанд, ки дар як гиреҳи физикӣ кор мекунанд ё мошинҳои гуногуне, ки дар қисмҳои гуногуни шабакаи шумо кор мекунанд. Баъзе аз ин захираҳо дар дохили шабакаи шумо метавонанд хусусӣ бошанд, аммо дигарон бояд ҷамъиятӣ бошанд ва барои истеъмолкунандагоне, ки аз берун ба онҳо дастрасӣ доранд, кушода бошанд.

Алокаи ин ресурсхоро бо хамдигар, инчунин мубодилаи ахбороти байни тамоми система ва чахони беруна таъмин кардан лозим аст. Дар заминаи тарҳрезии системаҳо, дар ин ҷо боз мо бо як қатор мушкилоти нав ва беназир дучор мешавем. Биёед бубинем, ки онҳо чӣ гуна метавонанд муфид бошанд ҷараёни вазифаҳои асинхронӣ, ва чӣ саҳШаклҳои гуногуни муошират мавҷуданд.

Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо

Суратгир Тони Стоддард аз Unsplash

Ҳангоми ташкили муошират бо ҷаҳони беруна, он ҳамеша хеле муҳим аст амният, ки таъмини онро низ чиддй ва фаъолона пеш гирифтан лозим аст.

Тақсимоти пайвастшавӣ

Ман боварӣ надорам, ки гузоштани ин мавзӯъ ба як бахши алоҳида барои ҳама асоснок хоҳад буд. Бо вуҷуди ин, ман ин мафҳумро дар ин ҷо ба таври муфассал пешниҳод мекунам ва боварӣ дорам, ки маводи ин бахш бо истилоҳи "тақсимоти пайвастшавӣ" дақиқтар тавсиф шудааст.

Системаҳо тавассути пайвасти дурусти бисёр ҷузъҳо ташаккул меёбанд ва иртиботи онҳо бо ҳамдигар аксар вақт дар асоси протоколҳои муқарраршуда, масалан, TCP ва UDP ташкил карда мешаванд. Бо вуҷуди ин, ин протоколҳо одатан барои қонеъ кардани тамоми ниёзҳои системаҳои муосир, ки аксар вақт дар зери сарбории баланд кор мекунанд ва инчунин аз ниёзҳои корбарон хеле вобастаанд, нокифоя мебошанд. Аксар вақт зарур аст, ки роҳҳои тақсими пайвастҳо барои мубориза бо чунин сарбориҳои баланд дар система пайдо шаванд.

Ин тақсимот ба ҳама маълум асос ёфтааст системаи номи домен (DNS). Чунин система имкон медиҳад, ки табдили номи домейнҳо ба монанди робини даврии вазншуда ва усулҳои ба таъхир асосёфта барои тақсими сарборӣ кӯмак расонад.

Мувозинати сарборӣ ба таври куллӣ муҳим аст ва амалан ҳар як системаи бузурги интернетии мо имрӯз дар паси як ё якчанд тавозуни сарборӣ ҷойгир аст. Тавозуни сарборӣ ба паҳн кардани дархостҳои муштарӣ дар якчанд мисолҳои дастрас кӯмак мерасонад. Тавозуни сарборӣ ҳам дар сахтафзор ва ҳам нармафзор мавҷуданд, аммо дар амал, шумо бояд бештар бо нармафзорҳо мубориза баред, масалан HAProxy и ЭЛБ. Проксиҳои баръакс консептуал низ хеле монанд ба тавозуни сарборӣ, гарчанде ки як қатор байни якум ва дуюм вуҷуд дорад фарқиятҳои мушаххас. Ҳангоми тарҳрезии система дар асоси ниёзҳои шумо ин фарқиятҳо бояд ба назар гирифта шаванд.

Шумо инчунин бояд дар бораи шабакаҳои интиқоли мундариҷа (CDN). CDN як шабакаи ҷаҳонии тақсимшудаи серверҳои прокси мебошад, ки маълумотро аз гиреҳҳое, ки аз ҷиҳати ҷуғрофӣ ба корбари мушаххас наздиктар ҷойгир шудаанд, интиқол медиҳад. Агар шумо бо файлҳои статикӣ, ки дар JavaScript, CSS ва HTML навишта шудаанд, кор кунед, CDN-ҳоро истифода бурдан афзалтар аст. Илова бар ин, хидматҳои абрӣ, ки менеҷерҳои трафикро таъмин мекунанд, имрӯз маъмуланд, масалан, Менеҷери трафики Azure, ба шумо тақсимоти глобалӣ ва кам кардани таъхир ҳангоми кор бо мундариҷаи динамикӣ медиҳад. Аммо, чунин хидматҳо одатан дар ҳолатҳое муфиданд, ки шумо бояд бо хидматҳои веби бешаҳрвандӣ кор кунед.

Биёед дар бораи мантиқи тиҷорат сӯҳбат кунем. Сохтори мантиқи тиҷорат, ҷараёнҳои вазифаҳо ва ҷузъҳо

Ҳамин тариқ, мо тавонистем ҷанбаҳои гуногуни инфрасохтори системаро муҳокима кунем. Эҳтимол, корбар ҳатто дар бораи ҳамаи ин унсурҳои системаи шумо фикр намекунад ва, рости гап, дар бораи онҳо тамоман парвое надорад. Истифодабаранда ба он таваҷҷӯҳ дорад, ки муошират бо системаи шумо чӣ гуна аст, бо ин кор чӣ ба даст овардан мумкин аст ва инчунин система чӣ гуна фармонҳои корбарро иҷро мекунад, бо маълумоти корбар чӣ ва чӣ гуна кор мекунад.

Тавре ки аз унвони ин мақола бармеояд, ман мехостам дар бораи меъмории нармафзор ва тарҳрезии система сӯҳбат кунам. Мувофиқи он, ман нақша надоштам, ки намунаҳои тарҳрезии нармафзорро, ки чӣ гуна сохтани ҷузъҳои нармафзорро тавсиф мекунанд, фаро гирам. Аммо, ҳар қадар ки ман дар ин бора фикр мекунам, ҳамон қадар ба ман чунин менамояд, ки хатти байни намунаҳои тарҳрезии нармафзор ва намунаҳои меъморӣ хеле норавшан аст ва ин ду мафҳум бо ҳам зич алоқаманданд. Барои мисол гирем бақайдгирии ҳодиса (манбаи ҳодиса). Вақте ки шумо ин намунаи меъмориро қабул мекунед, он тақрибан ба ҳама ҷанбаҳои системаи шумо таъсир мерасонад: нигоҳдории дарозмуддати маълумот, сатҳи мувофиқати дар системаи шумо қабулшуда, шакли ҷузъҳои он ва ғайра. Аз ин рӯ, ман тасмим гирифтам, ки баъзе намунаҳои меъмориро зикр намоям, ки бевосита ба мантиқи тиҷорат алоқаманданд. Гарчанде ки ин мақола бояд бо як рӯйхати оддӣ маҳдуд шавад, ман шуморо ташвиқ мекунам, ки бо он шинос шавед ва дар бораи ғояҳои марбут ба ин намунаҳо фикр кунед. Инҷо шумо ҳастед:

Равишҳои муштарак

Аз эҳтимол дур нест, ки шумо худро дар лоиҳа ҳамчун иштирокчӣ пайдо кунед, ки танҳо барои раванди тарҳрезии система масъул аст. Баръакс, шумо эҳтимолан бояд бо ҳамкасбоне, ки ҳам дар дохили вазифаи шумо ва ҳам берун аз он кор мекунанд, муошират кунед. Дар ин ҳолат, ба шумо лозим меояд, ки ҳалли технологияҳои интихобшударо бо ҳамкорон арзёбӣ кунед, эҳтиёҷоти тиҷоратро муайян кунед ва фаҳмед, ки чӣ тавр беҳтарин параллелизатсия кардани вазифаҳо.

Архитектураи нармафзор ва тарҳрезии системаҳо: Роҳнамои тасвири калон ва захираҳо

Суратгир Калейдико аз Unsplash

Қадами аввал ин таҳияи фаҳмиши дақиқ ва муштарак дар бораи он аст, ки ҳадафи тиҷорате, ки шумо ба даст овардан мехоҳед ва бо кадом қисмҳои ҳаракаткунанда шумо бояд мубориза баред. Усулҳои моделсозии гурӯҳӣ, аз ҷумла ҳодисаҳои ҳамла (тӯфони ҳодиса) барои ба таври назаррас суръат бахшидан ба ин раванд ва баланд бардоштани шанси муваффақияти шумо кӯмак мекунад. Ин кор метавонад пеш аз он ё баъд аз он анҷом дода шавад сарҳадҳои хидматҳои шумо, ва баъд онро дар баробари пухта расидани махсулот чукуртар кунед. Дар асоси сатҳи мувофиқате, ки дар ин ҷо ба даст оварда мешавад, шумо инчунин метавонед таҳия кунед забони умумӣ барои контексти маҳдуде, ки шумо дар он кор мекунед. Вақте ки шумо бояд дар бораи меъмории системаи худ сӯҳбат кунед, шумо метавонед онро муфид ёбед модели C4, таклиф намуд Саймон Браун, махсусан вақте ки шумо бояд фаҳмед, ки чӣ қадар ба шумо лозим меояд, ки ба ҷузъиёти мушкилот ворид шавед ва чизҳоеро, ки мехоҳед муошират кунед, тасаввур кунед.

Эҳтимол дар ин мавзӯъ боз як технологияи баркамол мавҷуд аст, ки на камтар аз тарроҳии Domain Driven муфид аст. Бо вуҷуди ин, мо гӯё ба фаҳмиши мавзӯи мавзӯъ бармегардем, аз ин рӯ дониш ва таҷриба дар ин соҳа Тарҳрезии ба домен асосёфта бояд ба шумо муфид бошад.

Манбаъ: will.com

Илова Эзоҳ