Архитектура микросервиса - научите, изградите и примените микросервисе

Овај блог детаљно објашњава архитектуру Мицросервице. Такође укључује предности и недостатке и студију случаја која објашњава архитектуру УБЕР-а.

Архитектура микросервиса:

Из мог , морате имати основно разумевање архитектуре Мицросервице.Али, бити професионалац са захтеваће више од само основа. На овом блогу ћете ући у дубину архитектонских концепата и применити их помоћу студије случаја УБЕР.

На овом блогу ћете сазнати следеће:





  • Дефиниција архитектуре микросервиса
  • Кључни концепти архитектуре микросервиса
  • За и против архитектуре микросервиса
  • УБЕР - Студија случаја

Можете се позвати на , да би се разумеле основе и предности микросервиса.

Биће поштено само ако вам дам дефиницију микроуслуга.



Дефиниција микросервиса

Као таква, не постоји исправна дефиниција Мицросервицес ака Мицросервице Арцхитецтуре, али можете рећи да је то оквир који се састоји од малих, појединачно расположивих услуга које изводе различите операције.

Микросервиси се фокусирају на једну пословну домену која се може применити као потпуно неовисне услуге за распоређивање и применити их на различитим технолошким гомилама.

Разлике између монолитне архитектуре и микросервиса - архитектура микросервиса - Едурека



Слика 1: Разлика између монолитне и микросервисне архитектуре - микросервисна архитектура

Погледајте горњи дијаграм да бисте разумели разлику између монолитне и микросервисне архитектуре.Да бисте боље разумели разлике између обе архитектуре, можете се обратити мом претходном блогу

Да бисте боље разумели, дозволите ми да вам кажем неке кључне концепте архитектуре микро услуга.

Кључни концепти архитектуре микросервиса

Пре него што започнете са израдом властитих апликација користећи микросервисе, морате бити јасни у погледу обима и функционалности ваше апликације.

Следе неке смернице којих се треба придржавати током расправе о микросервисима.

како се штампа низ пхп

Смернице током дизајнирања микросервиса

  • Као програмер, када одлучите да направите апликацију, одвојите домене и будите јасни са функционалностима.
  • Свака микро услуга коју дизајнирате концентрираће се само на једну услугу апликације.
  • Уверите се да сте апликацију дизајнирали тако да се свака услуга може појединачно применити.
  • Обавезно се побрините да се комуникација између микро-услуга врши преко сервера без држављанства.
  • Свака услуга може се прерадити у мање услуге, које имају своје микросервисе.

Сада, када сте прочитали основне смернице током дизајнирања микро-услуга, схватимо архитектуру микро-услуга.

Како функционише архитектура Мицросервице?

Типична архитектура микросервиса (МСА) треба да се састоји од следећих компоненти:

  1. Клијенти
  2. Даваоци идентитета
  3. Гатеваи АПИ
  4. Формати порука
  5. Базе података
  6. Статични садржај
  7. Менаџмент
  8. Сервице Дисцовери

Погледајте доњи дијаграм.

Слика 2: Арцхитецтуре Оф Мицросервицес - Мицросервице Арцхитецтуре

Знам да архитектура изгледа помало сложено, али некаЈапоједноставите га за вас.

1. Клијенти

Архитектура започиње са различитим типовима клијената, од различитих уређаја који покушавају да изврше разне могућности управљања попут претраживања, израде, конфигурисања итд.

2. Даваоци идентитета

Ови захтеви од клијената се затим прослеђују добављачима идентитета који потврђују идентитет захтева клијената и преносе захтеве АПИ Гатеваи-у. Захтеви се затим достављају интерним службама путем добро дефинисаног АПИ мрежног пролаза.

3. АПИ приступник

Будући да клијенти не позивају услуге директно, АПИ мрежни пролаз делује као улазна тачка за клијенте да прослеђују захтеве одговарајућим микросервисима.

Предности употребе АПИ мрежног пролаза укључују:

  • Све услуге се могу ажурирати а да клијенти то не знају.
  • Услуге такође могу да користе протоколе за размену порука који нису прилагођени Интернету.
  • АПИ мрежни пролаз може да обавља унакрсне функције као што су обезбеђивање сигурности, уравнотежење оптерећења итд.

Након пријема захтева клијената, интерна архитектура се састоји од микросервиса који међусобно комуницирају путем порука за обраду захтева клијента.

4. Формати порука

Постоје две врсте порука путем којих комуницирају:

  • Синхроне поруке: У ситуацији када клијенти чекају одговоре услуге, Мицросервицес обично имају тенденцију да користе РЕСТ (Репрезентативни државни трансфер) јер се ослања на апатрид, клијент-сервер и ХТТП протокол . Овај протокол се користи јер је дистрибуирано окружење, а свака функционалност је представљена ресурсом за извршавање операција
  • Асинхроне поруке: У ситуацији када клијенти не чекају одговоре неке услуге, Мицросервицес обично користе протоколе попут АМКП, СТОМП, МКТТ . Ови протоколи се користе у овој врсти комуникације јер је природа порука дефинисана и те поруке морају бити интероперабилне између имплементација.

Следеће питање које ће вам можда пасти на памет је како апликације које користе Мицросервицес рукују својим подацима?

5. Руковање подацима

Па, свака Мицросервице поседује приватну базу података за прикупљање њихових података и примену одговарајуће пословне функционалности. Такође, базе података Мицросервицес се ажурирају само путем АПИ-ја њихових услуга. Погледајте доњи дијаграм:

Слика 3: Заступљеност микросервиса који рукују подацима - Архитектура микросервиса

Услуге које пружају Мицросервицес преносе се на било коју даљинску услугу која подржава међупроцесну комуникацију за различите технолошке пакете.

6. Статични садржај

Након што микросервиси међусобно комуницирају, распоређују статички садржај у услугу складиштења засновану на облаку која их може директно испоручити клијентима путем Мреже за испоруку садржаја (ЦДН) .

шта је цхарат у јави

Поред горе наведених компонената, постоје и неке друге компоненте које се појављују у типичној архитектури Мицросервицес:

7. Менаџмент

Ова компонента одговорна је за уравнотежење услуга на чворовима и препознавање кварова.

8. Откривање услуге

Делује као водич за Мицросервицес да пронађе пут комуникације између њих јер одржава листу услуга на којима се чворови налазе.

Претплатите се на наш иоутубе канал да бисте добијали нова ажурирања ..!

Сада, погледајмо предности и недостатке ове архитектуре како бисмо стекли боље разумевање када користити ову архитектуру.

За и против архитектуре микросервиса

Погледајте доњу табелу.

Прос архитектуре микросервиса Против Мицросервице-а Архитектура
Слобода употребе различитих технологијаПовећава изазове решавања проблема
Свака микро услуга усредсређена је на једну пословну способностПовећава кашњење због удаљених позива
Подржава појединачне јединице које се могу распоредитиПовећани напори за конфигурацију и друге операције
Омогућава честа издања софтвераТешко је одржати сигурност трансакција
Обезбеђује сигурност сваке услугеТешко пратити податке преко различитих граница услуге
Више паралелно се развија и примењује више услугаТешко премештање кода између услуга

Да разумемо више о микросервисима упоређивањем претходне УБЕР-ове архитектуре са садашњом.

ИСТРАЖИВАЊЕ СЛУЧАЈА УБЕР

Претходна архитектура УБЕР-а

Као и многи стартупи, УБЕР је започео своје путовање монолитном архитектуром изграђеном за једну понуду у једном граду. Имати једну базу кода у то време је изгледало очишћено и решило основне пословне проблеме УБЕР-а. Међутим, како се УБЕР почео ширити широм света, тако су се ригорозно суочавали са различитим проблемима у погледу скалабилности и континуиране интеграције.

Слика 4: Монолитна архитектура УБЕР - Мицросервице Арцхитецтуре

Горњи дијаграм приказује претходну архитектуру УБЕР-а.

  • Присутан је РЕСТ АПИ са којим се повезују путник и возач.
  • Три различита адаптера се користе са АПИ-јем у њима за обављање радњи попут наплате, плаћања, слања е-поште / порука које видимо када резервишемо такси.
  • МиСКЛ база података за чување свих њихових података.

Дакле, ако овде приметите да су све функције као што су управљање путницима, обрачун, функције обавештавања, плаћања, управљање путовањима и управљање возачем састављене у једном оквиру.

Изјава о проблему

Док је УБЕР почео да се шири широм света, оваква врста оквира довела је до различитих изазова. Следе неки од истакнутих изазова

  • Све функције су морале да се поново граде, постављају и поново тестирају да би се ажурирала једна карактеристика.
  • Исправљање грешака постало је изузетно тешко у једном спремишту, јер су програмери морали стално да мењају код.
  • Скалирање карактеристика истовремено са увођењем нових карактеристика широм света било је прилично тешко за руковање.

Решење

питхон __инит__ селф

Да би избегао такве проблеме, УБЕР је одлучио да промени своју архитектуру и прати друге компаније са хипер-растом попут Амазона, Нетфлика, Твиттера и многих других. Стога је УБЕР одлучио да своју монолитну архитектуру разбије на више база података да би формирао архитектуру микро-услуга.

Погледајте доњи дијаграм да бисте погледали УБЕР-ову архитектуру микро услуга.

Слика 5: Мицросервице Арцхитецтуре оф УБЕР - Мицросервице Арцхитецтуре

  • Главна промена коју овде примећујемо је увођење АПИ Гатеваи-а преко којег су повезани сви возачи и путници. Из АПИ мрежног пролаза повезане су све интерне тачке као што су управљање путницима, управљање возачима, управљање путовањима и друге.
  • Јединице су појединачне одвојене јединице за распоређивање које изводе засебне функционалности.
    • На пример: Ако желите да промените било шта у обрачуним микросервисима, тада морате само да примените само обрачунске микросервисе, а не морате да примените остале.
  • Све функције су сада појединачно скалиране, тј. Уклоњена је међузависност између сваке од обе функције.
    • На пример, сви знамо да је број људи који траже таксије сразмерно већи од оних који стварно резервишу такси и врше уплате. Ово нам даје закључак да је број процеса који раде на микросервису за управљање путницима већи од броја процеса који раде на плаћањима.

У овоначин, УБЕР је профитирао померањемњеговоархитектура од монолитне до микросервиса.

Надам се да сте уживали читајући овај чланак о Мицросервице Арцхитецтуре.Смислићу још блогова који ће такође садржати практичне радове.
Заинтересовани сте да сазнате више о микросервисима?

Ако желите да научите микросервисе и направите сопствене апликације, погледајте нашу која долази са обуком уживо коју воде инструктори и искуством у стварном животу. Овај тренинг ће вам помоћи да дубље разумете микросервисе и да вам помогне да савладате предмет.

Имате питање за нас? Молимо вас да то поменете у одељку за коментаре „ Мицросервице Арцхитецтуре ”И јавићу вам се.