Интихоби услуби меъморӣ (қисми 1)

Салом, хабр. Сабти ном барои ҷараёни курси нав ҳоло дар OTUS кушода аст "Архитектори нармафзор". Дар арафаи оғози курс ман мехоҳам мақолаи аслии худро бо шумо мубодила кунам.

Муқаддима

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

Якчанд таърих

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

Хулоса, хидматҳои микросервисҳо дар фаҳмиши кунунии мо ба таври зайл пайдо шуданд: дар соли 2011, Ҷеймс Льюис кори ширкатҳои гуногунро таҳлил карда, диққати худро ба пайдоиши як шакли нави "микро-барнома" ҷалб кард, ки SOA-ро дар робита ба суръат бахшидан ба густариши хизматрасонй. Чанде баъдтар, дар соли 2012, дар як саммити меъморӣ, намуна ба микросервис номида шуд. Ҳамин тариқ, ҳадафи ибтидоии ҷорӣ намудани хидматрасониҳои микроэлементҳо такмил додани маъруфият буд вақти бозор.

Микросервисҳо дар соли 2015 дар мавҷи шӯриш буданд. Тибқи баъзе тадқиқотҳо, ягон конфронс бидуни гузориш дар мавзӯи микросервисҳо анҷом наёфтааст. Гузашта аз ин, баъзе конфронсҳо танҳо ба хидматрасониҳои хурд бахшида шуда буданд. Имрӯзҳо, бисёр лоиҳаҳо ба истифодаи ин услуби меъморӣ шурӯъ мекунанд ва агар лоиҳа даҳҳо рамзи меросӣ дошта бошад, пас эҳтимолан муҳоҷират ба микросервисҳо фаъолона амалӣ карда мешавад.

Сарфи назар аз ҳамаи гуфтаҳои боло, шумораи хеле ками таҳиягарон то ҳол мафҳуми «микросервис»-ро муайян карда метавонанд. Аммо дар ин бора каме дертар сӯҳбат хоҳем кард...

Монолит

Услуби меъморие, ки ба микросервисҳо муқоиса мекунад, монолит (ё ҳама дар як) мебошад. Эҳтимол гуфтан маъно надорад, ки монолит чист, бинобар ин ман дарҳол нуқсонҳои ин услуби меъмориро номбар мекунам, ки ба рушди минбаъдаи услубҳои меъморӣ оғоз кардааст: андоза, пайвастшавӣ, ҷойгиркунӣ, миқёспазирӣ, эътимоднокӣ ва сахтгирӣ. Қуйида ҳар бир камчиликни алоҳида кўриб чиқишни таклиф қиламан.

андоза

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

Пайвастшавӣ

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

Ҷойгиршавӣ

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

Миқёспазирӣ

Модулҳои монолитӣ метавонанд эҳтиёҷоти ба ҳам мухолифи захираҳо дошта бошанд, ки созишро аз ҷиҳати сахтафзор талаб мекунанд. Тасаввур кунед, ки шумо як монолит доред, ки аз хидматҳои A ва B иборат аст. Хидмати A ба андозаи диски сахт талаб мекунад ва хидмати B барои RAM талаб мекунад. Дар ин ҳолат, ё мошине, ки дар он монолит насб шудааст, бояд талаботи ҳарду хидматро дастгирӣ кунад ё шумо бояд яке аз хидматҳоро дастӣ, сунъӣ хомӯш кунед.

Мисоли дигар (классикалықтар): хидмати A назар ба хидмати B хеле маъмултар аст, бинобар ин шумо мехоҳед, ки 100 хидмати А ва 10 хидмати B бошад. Боз ду вариант: мо 100 монолитҳои мукаммалро ҷойгир мекунем, ё дар баъзеи онҳо. хидматҳои B бояд дастӣ хомӯш карда шаванд.

Боварӣ

Азбаски ҳама хидматҳо якҷоя ҷойгиранд, агар монолит афтад, ҳама хидматҳо якбора меафтанд. Дар асл, ин метавонад он қадар бад набошад, ҳадди аққал дар системаи тақсимшуда ягон нокомии қисман вуҷуд надорад, аммо аз тарафи дигар, аз сабаби хатогие, ки аз ҷониби 0.001% корбарон истифода мешавад, шумо метавонед ҳамаи корбаронро аз даст диҳед. системаи шумо.

Инерция

Аз сабаби андозаи монолит ба технологияи нав гузаштан душвор аст. Дар натиҷа, нигоҳ доштани ҳамон пирон кори алоҳида аст. Стеки технологӣ, ки дар оғози лоиҳа интихоб шудааст, метавонад ба блоке табдил ёбад, ки ба рушди маҳсулот халал расонад.

хулоса

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

Интихоби услуби меъморӣ (қисми 1)

Бештар:

Манбаъ: will.com

Илова Эзоҳ