Каб зразумець мікрасэрвісы, дапамагае спачатку зразумець, альтэрнатывай чаму яны з'яўляюцца: "маналіту".
Маналітнае прыкладанне пабудавана як адзіная, уніфікаваная кодавая база — уліковыя запісы, плацяжы, апавяшчэнні, пошук, усё ў адной адзінцы, якую можна разгарнуць. Простае на раннім этапе, але ўсё становіцца шчыльна звязаным па меры росту.
Некаторыя з найбуйнейшых тэхналагічных платформаў у свете выконваюць тысячы незалежных мікрасэрвісаў, якія працуюць разам, кожны падтрымліваецца іншай невялікай камандай.
З мікрасэрвісамі тое ж прыкладанне падзяляецца на асобныя, незалежна разгортваемыя сэрвісы, кожны са сваёй уласнай кодавай базай, якія зносяцца праз API. Кожны можа быць абноўлены ці маштабаваны незалежна.
Мікрасэрвісы вырашаюць рэальныя праблемы ў маштабе, але ўводзяць рэальную складанасць: больш рухомых частак для маніторынгу, больш сеткавых выклікаў, больш патрабуецца каардынацыі. Менавіта таму яны звычайна маюць сэнс для больш буйных, больш зрэлых прадуктаў.
NOXEL SEO, Forge і Nexus ужо працуюць як асобныя незалежныя прадукты, злучаныя праз чыстыя API — тая ж канцэпцыя, што стаіць за мікрасэрвісамі, прымяняемая на ўзроўні прадукту.
Пачынайце з добра арганізаванага маналіта. Вылучайце мікрасэрвіс толькі тады, калі ў вас ёсць дакладная, канкрэтная прычына — частка сістэмы, якую трэба маштабаваць незалежна.
Не. Мікрасэрвісы дадаюць рэальную аперацыйную складанасць. Для невялікіх прадуктаў добра арганізаваны маналіт часта хутчэй збудаваць і падтрымліваць.
Не абавязкова. Многія прадукты маштабуюцца да значнага памеру на маналіце перш чым мікрасэрвісы сапраўды становяцца неабходнымі.
Звычайна праз API — як правіла REST ці чэргі паведамленняў — тая ж асноўная канцэпцыя, што і знешнія API, прымяняемая ўнутрана.
Адзіная, уніфікаваная кодавая база прыкладання, дзе ўсе функцыі ствараюцца і разгортваюцца разам як адна адзінка.
Так — Netflix з'яўляецца адным з найбольш цытаваных прыкладаў маштабнай архітэктуры мікрасэрвісаў, якая выконвае сотні незалежных сэрвісаў.
Адзіная кропка ўваходу, якая накіроўвае ўваходныя запыты да правільнага мікрасэрвісу, часта таксама апрацоўваючы аўтэнтыфікацыю і абмежаванне хуткасці.
Гэта магчыма, але звычайна не рэкамендуецца — дададзеная складанасць мае тэндэнцыю запавольваць каманды на раннім этапе больш, чым дапамагае.
У ідэале пакутуе толькі гэтая канкрэтная функцыя, у той час як астатняя частка сістэмы працягвае працаваць — ключавая перавага ў параўнанні з цалкам няспраўным маналітам.
Паглядзіце незалежныя, злучаныя API прадукты ў дзеянні.
Даследуйце панэль кіравання NOXEL360 →