Микроуслуги: Рамки с отворен код и архитектура на софтуера

Микроуслуги: модерна софтуерна архитектура

Микроуслуги: модерна софтуерна архитектура

Продължавайки с темата за еволюцията и промените в парадигмите и методите на работа се случи в областта на разработването на софтуер, което наскоро засегнахме в статиите, наречени „Разработка на софтуер: Исторически преглед до наши дни“, „Оперативна съвместимост чрез облака: Как да го постигнем?“ y „XaaS: Облачни изчисления - всичко като услуга“, днес ще говорим за Микроуслуги.

Микроуслугите са модерна софтуерна архитектура, а не API (Приложен програмен интерфейс) или самата технология, която може да бъде инсталирана и използвана. Софтуерните архитектури, известни още като софтуерни модели, са напълно чужди на езиците за програмиране, тъй като те установяват само начина, по който трябва да работят технологиите, а не как те се прилагат.

Микроуслуги: Въведение

Въвеждане

Микроуслугите могат да се разглеждат като еволюция на архитектурата SOA (архитектура, ориентирана към услуги), което насочва разработчиците да създават по-модулни приложения, които са функционални и автономни, с голям капацитет за повторна употреба по ефективен начин, както се прави по подобен начин, когато оптимизираме използването на някои хардуер, в който Той се разгръща само това, което е наистина необходимо, вместо да разгърне ненужно целия му потенциал.

Архитектурата на микроуслугите, на практика той не е станал толкова широко разпространен, колкото на теория, т.е. тя е по-известна, отколкото използвана. Въпреки това, всеки ден повече, много разработчици го прилагат, защото това е модел за разработване на софтуер Подобрява времето, производителността и стабилността на променливите в проектите, където се прилага. Освен това неговата проста свързана мащабируемост го прави особено подходящ в разработки, при които съвместимостта на различни платформи (Web, Mobile, Wearables, IoT) е от съществено значение.

Микроуслуги: Работна схема

но, докато SOA е архитектура от по-високо ниво, тоест Архитектура, където се изграждат приложения, базирани на услуги, където услугата е най-малката и функционална единица работа в рамките на създадено приложение, Архитектура на микроуслуги Tambien ни позволява да създаваме услуги, но тези услуги са предназначени по много малък и специфичен начин така че да изпълняват много точна и точна функционалност, по такъв начин, че да могат да бъдат отделени от останалите приложения и да функционират напълно автономно от останалата част от приложението, където е създадено.

Микроуслуги: какви са те и какви са?

Какво представляват софтуерните архитектури (модели)?

За да разберете добре софтуерната архитектура на микроуслугите, е добре да знаете малко за всички най-известни съществуващи софтуерни архитектури. Съществуват много съществуващи, както може да се види на сайта на Одизайн или просто в Уикипедия, но според известната книга, наречена "Книга за дизайн на шаблони" (Книга за дизайнерски модели) съществуващите модели могат да бъдат класифицирани като:

Творчески

Тези, които се занимават с начини за създаване на екземпляри на обекти и чиято цел е да абстрахират процеса на създаване на инстанции и да скрият подробностите за това как обектите се създават или инициализират. В този клас са следните:

  • Абстрактна фабрика
  • Строител
  • Фабричен метод
  • Прототип
  • сек

Структурни

Тези, които описват как класовете и обектите (прости или сложни) могат да се комбинират, за да образуват големи структури и да предоставят нови функционалности. В този клас са следните:

  • Адаптер
  • Мост
  • Комбиниран
  • декоратор
  • Фасада
  • Муха
  • пълномощник

поведение

Тези, които ни помагат да определим комуникацията и итерацията между обектите на системата. Целта на този модел е да намали връзката между обектите. В този клас са следните:

  • Верига от отговорност
  • Команда
  • преводач
  • Итератор
  • посредник
  • Спомен
  • Наблюдател
  • Област
  • Стратегия
  • Шаблонен метод
  • Посетител

други

Предишните дизайнерски модели изразяват схеми, които определят дизайнерските структури, с които да се изграждат софтуерни системи. Но когато искаме да изразим по-добре фундаментална организационна и структурна схема за създадените софтуерни системи, обикновено намираме тази друга класификация:

  • Шиферна архитектура
  • DAO: Обект за достъп до данни
  • DTO: Обект за трансфер на данни
  • EDA: Архитектура, управлявана от събития
  • Неявно извикване
  • Голи предмети
  • Слоесто програмиране
  • Пеер към партньорската
  • Тръбопровод
  • SOA: Архитектура, ориентирана към услуги
  • Три нива

Има и „Модел на изгледа на контролера“ което е добре известно и използвано и се разделя на:

  • Модел / Изглед / Контролер
  • Модел / Изглед / Водещ
  • Модел / изглед / презентатор с модел презентатор
  • Модел / Изглед / Изглед-Модел
  • Модел / Изглед / Презентатор с пасивен изглед
  • Модел / изглед / презентатор с контролер за супервизор

същество „Controller View Model“ един от най-известните и внедрени днес, е недостатъчно да се осигурят необходимите функционалности на корпоративно приложение и това е една от основните причини, Архитектурата на Microservices заменя Model-View-Controller (MVC).

Микроуслуги: Предимства

Предимства на архитектурата на микроуслугите

Когато дадена уеб платформа използва архитектурата на Microservices, тя обикновено има следните предимства:

  • за преобразуване лесно всеки проблем или проблем, представен чрез адресиране на всяка малка микрослужба, участваща в конкретна ситуация.
  • За смекчаване Общи или глобални откази на услугите, тъй като когато дадена микрослужба се провали, това не засяга останалите, тъй като те са напълно независими.
  • Успокоявам стартирането и включването на пълни или специфични функционалности или услуги, тъй като всяка Microservice може да бъде добавена или премахната и актуализирана отделно и постепенно.
  • Да се ​​оправи достъп до приложения или услуги, създадени от всички видове устройства и платформи.
  • увеличаване гъвкавостта на платформата, тъй като Microservices могат да се разпространяват на различни сървъри и да се пишат на различни езици.

Микроуслуги: Рамки

Рамки с отворен код

има много опции с отворен код които разработчиците на софтуер могат да използват за разработване на решения, които са част от архитектурите на Microservices. По-специално за Java, която е широко използвана технология за това, има следното:

Микроуслуги: Мрежи

Мрежови примери с архитектури на Microservices

Сред големия брой уебсайтове, които предоставят широкомащабни услуги за приложения и постепенно са внедрили архитектурата на Microservices, за да подобрят поддръжката и мащабируемостта на платформата си за услуги и продукти, правейки я проста, ефективна и бърза, можем да споменем три основни в индустрията Какво са те:

  • Амазонка
  • Ebay
  • Netflix

Микроуслуги: Заключение

Заключение

Ясно е, че Микроуслугите допринасят много за модерната уеб-базирана разработка на софтуерНо те също така означават справяне с много нови предизвикателства, които трябва да бъдат решени. Проблеми, които са свързани не само с рамковото обучение и ефективна работа, но и с това как тези нови разработки се допълват и внедряват в ИТ отделите, които в крайна сметка са тези, които ги пускат онлайн и управляват и имат глас при окончателни решения за всяко развитие. Но Тази Архитектура е тук и е дошла да остане за дълго време.


Съдържанието на статията се придържа към нашите принципи на редакторска етика. За да съобщите за грешка, щракнете върху тук.

Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.