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

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

Муқаддима

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

В бори охир мо бо монолит машгул шуда, ба хулосае омадем, ки монолит як катор проблемахо дорад: андоза, пайвастшавй, чойгиркунй, васеъшавй, эътимоднокй ва сахтгирй.

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

Архитектураи ба компонент нигаронидашуда

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

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

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

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

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

Архитектураи ба хидмат нигаронидашуда

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

Меъмории ба хидмат нигаронидашуда (SOA = меъмории ба хидмат нигаронидашуда) ҳамаи мушкилоти муайяншудаи монолитро ҳал мекунад: ҳангоми тағирот танҳо як хидмат таъсир мерасонад ва API-и дақиқ муайяншуда инкапсуляцияи хуби ҷузъҳоро дастгирӣ мекунад.

Аммо на ҳама чиз он қадар ҳамвор аст: SOA мушкилоти нав эҷод мекунад. Зангҳои дурдаст нисбат ба зангҳои маҳаллӣ гаронтаранд ва тақсими масъулиятҳо байни ҷузъҳо ба таври назаррас гаронтар шудааст.

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

Меъмории ба хидмат нигаронидашуда аз ҷониби ҷомеаи меъморӣ ва фурӯшандагон хуб дастгирӣ карда мешавад. Ин мавҷудияти курсҳо ва сертификатсияҳо, намунаҳои хуб таҳияшударо дар назар дорад. Охирин, масалан, автобуси маъруфи хидматрасонии корхонаро дар бар мегирад (ESB = автобуси хидматрасонии корхона). Ҳамзамон, ESB бағоҷи фурӯшандагон аст; он ҳатман набояд дар SOA истифода шавад.

Маъруфияти меъмории ба хидмат нигаронидашуда тақрибан дар соли 2008 ба авҷи аъло расид, ки пас аз он коҳишро оғоз кард, ки пас аз пайдоиши хидматҳои микросервисҳо (~ 2015) ба таври назаррас назаррастар шуд.

хулоса

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

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

Манбаъ: will.com

Илова Эзоҳ