истиқлолияти рушд: мо метавонем ин микросервисро ба як даста/таҳиягар ва онро ба дастаи дигар диҳем, ба шарофати он мо метавонем тезтар рушд кунем;
боэътимоднокии бештар: агар қисман таназзул ба амал ояд (аз 20 хидмати як микросервис афтода бошад), танҳо як тугма кор намекунад ва система дар маҷмӯъ корашро идома медиҳад.
Намуна вуҷуд дорад "пораи калони лой", ва дар ин ҷо он як пораи тақсимшуда буд. Барои тасдиқи ин, дар ин ҷо тасвири тахминии чӣ гуна сурат гирифтани дархостҳо оварда шудааст:
Истиқлолияти истиқлолият ...
Аз ҷиҳати техникӣ, он ба даст омад: мо метавонем ҳар як микросервисро алоҳида паҳн кунем. Аммо дар амал шумо бояд ба назар гирифт, ки он ҳамеша меғелонад бисёр микросервисҳо, ва мо бояд ба назар гирем тартиби ба кор андохтани онхо. Ба таври хуб, мо одатан бояд дар як схемаи алоҳида санҷем, ки оё мо нашрияро бо тартиби дуруст паҳн мекунем.
Озодии интихоби технология...
Ӯ. Фақат дар хотир доред, ки озодӣ аксар вақт бо қонуншиканӣ сарҳад дорад. Дар ин ҷо хеле муҳим аст, ки технологияҳоро танҳо барои "бозӣ кардан" бо онҳо интихоб накунед.
Истиқлолияти рушди...
Чӣ тавр ҳалқаи санҷиширо барои тамоми барнома сохтан мумкин аст (бо ин қадар ҷузъҳо)? Аммо шумо ба ҳар ҳол лозим аст, ки онро навсозӣ кунед. Хамаи ин ба он оварда мерасонад, ки шумораи воқеии схемаҳои санҷишӣ, ки мо онро асосан дар бар гирифта метавонем, минималӣ мегардад.
Бале, аммо он дар соҳаи DBMS истифодашаванда маҳдуд аст. Дар мисоли меъмории додашуда, Кассандра мушкилот нахоҳад дошт, аммо MySQL ва PostgreSQL.
Боэътимоди бештар ...
На танҳо нокомии як микросервис дар асл аксар вақт кори дурусти тамоми системаро вайрон мекунад, балки мушкилоти нав низ вуҷуд дорад: ба хатогиҳо тобовар кардани ҳар як хидматрасонии хурд хеле душвор аст. Азбаски микросервисҳо технологияҳои гуногунро истифода мебаранд (memcache, Redis ва ғайра), барои ҳар як шумо бояд ҳама чизро фикр кунед ва онро амалӣ кунед, ки ин албатта имконпазир аст, аммо захираҳои бузургро талаб мекунад.
Андозагирии бор...
Ин дар ҳақиқат хуб аст.
"Сабукӣ" -и хидматрасониҳои микро ...
Мо на танхо бузург дорем сарбории шабака (дархостҳо барои DNS зиёд мешаванд ва ғ.), балки инчунин аз сабаби зерпурсишҳои зиёде, ки мо оғоз кардем маълумотро такрор кунед (кэшҳои мағоза), ки ба миқдори зиёди нигоҳдорӣ оварда расонд.
Бо як барномаи монолитӣ оғоз кунед. Таҷрибаи Фоулер мегӯяд ки қариб ҳама барномаҳои бомуваффақияти микросервис ҳамчун як монолит оғоз ёфтанд, ки хеле калон шуданд ва сипас шикастанд. Дар баробари ин, қариб ҳама системаҳое, ки ҳамчун микросервис сохта шудаанд, дер ё зуд мушкилоти ҷиддиро аз сар мебурданд.
Боз як андешаи пурарзиш ин аст, ки барои муваффақ шудани лоиҳа бо меъмории микросервис, шумо бояд хеле хуб донед ва соҳаи мавзӯъ ва чӣ гуна сохтани хидматҳои хурд. Ва беҳтарин роҳи омӯхтани як мавзӯъ ин сохтани монолит мебошад.
Аммо чӣ мешавад, агар мо аллакай дар ин вазъият бошем?
Қадами аввалини ҳалли ҳар як мушкилот ин аст, ки бо он розӣ шавем ва фаҳмем, ки ин мушкилот аст, мо дигар азоб кашидан намехоҳем.
Агар, дар ҳолати монолити аз ҳад зиёд калоншуда (вақте ки мо имкони харидани захираҳои иловагӣ барои он тамом шудем), мо онро буридаем, пас дар ин ҳолат воқеаи баръакс рӯй медиҳад: вақте ки микросервисҳои аз ҳад зиёд дигар кӯмак намекунанд, балки халал мерасонанд - зиёдатиро бурида ва калон кардан!
Масалан, барои тасвири коллективӣ, ки дар боло баррасӣ шуд ...
Аз микросервисҳои шубҳанок халос шавед:
Ҳама хидматҳои хурдеро, ки барои тавлиди фронт масъуланд, муттаҳид кунед:
... ба як хидматрасонии хурд, ки дар як забон/чаҳорчӯба (муосир ва муқаррарӣ, тавре ки шумо фикр мекунед) навишта шудааст:
Он дорои як ORM (як DBMS) ва аввал якчанд барномаҳо хоҳад буд:
... аммо дар маҷмӯъ шумо метавонед ба он ҷо бештар интиқол диҳед ва натиҷаи зеринро ба даст оред:
Ғайр аз он, мо дар Кубернетес ҳамаи инҳоро дар ҳолатҳои алоҳида иҷро мекунем, ки ин маънои онро дорад, ки мо ҳоло ҳам сарбориро чен карда, онҳоро алоҳида чен карда метавонем.
Барои чамъбаст кардан
Ба расми калонтар нигаред. Аксар вақт, ҳамаи ин мушкилот бо микросервисҳо аз он сабаб ба миён меоянд, ки касе вазифаи онҳоро ба ӯҳда гирифт, аммо мехост "бо микросервисҳо бозӣ кунад".
Дар калимаи "микросервисҳо" қисми "микро" зиёдатист.. Онҳо "микро" ҳастанд, зеро онҳо аз монолитҳои азим хурдтаранд. Аммо онҳоро ҳамчун чизи хурд фикр накунед.
Ва барои андешаи ниҳоӣ, биёед ба диаграммаи аслӣ баргардем:
Дар он ёддошт навишта шудааст (аз рости боло) ба он далолат мекунад, ки малакаҳои гурӯҳе, ки лоиҳаи шуморо месозад ҳамеша аввалиндараҷа аст - онҳо дар интихоби шумо байни хидматрасонии микросервис ва монолит нақши калидӣ хоҳанд дошт. Агар даста малакаҳои кофӣ надошта бошад, аммо он ба сохтани микросервисҳо шурӯъ кунад, ҳикоя бешубҳа марговар хоҳад буд.
Видеоҳо ва слайдҳо
Видео аз суханронӣ (~50 дақиқа; мутаассифона, он эҳсосоти сершумори меҳмононро ифода намекунад, ки асосан рӯҳияи гузоришро муайян мекунад, аммо ин тавр аст):