Loading...

Какво е "Microservice"?

avatar Георги Кацаров 2 минути 700
Какво е "Microservice"?

Микросървисите (или както е в оригинал "Microservices")  са в основата на техника за разработка на софтуер, която разглежда приложението като колекция от слабо свързани услуги. Когато разработваме микросървисни архитектури, отделните услуги, които внедряваме трябва да са изпипани, а протоколите за комуникация между тях - леки. Микросървисите са разновидност на т.нар. "Service-Oriented Architectures" (SOA).

Какво представляват Service-Oriented Architectures?

Сървисно-ориентирани архитектури наричаме стила на софтуерно проектиране, при който приложенията са разделени на различни „услуги“. Те се свързват помежду си с помощта на комуникационен протокол през мрежа. При SOA проектирането, "услуга" (или "service") наричаме отделна единица функционалност, която може да бъде достъпна дистанционно и която може да се обновява независимо от останалите компоненти на приложението. В контекста на сървисно-ориентираните архитектури, една услуга има следните четири свойства:

  • Логически тя трябва да представлява бизнес логика с ясно определен краен резултат;
  • Тя трябва да е самостоятелна;
  • Тя трябва да представлява "черна кутия" за другите компоненти. Това означава, че те не е необходимо да са наясно какво, как и защо се случва в нея;
  • Тя може да се състои от множество базови услуги.

Различни услуги могат да се комбинират заедно, за да се създадат пълноценните функционалности на голямо софтуерно приложение. Това е принцип, който е застъпен и в т.нар. модуларно програмиране (Modular Programming).

Какво представлява Microservice Architecture?

Mикросървисната архитектура (Microservice Architecture - MSA) е разновидност на SOA, като и за двете няма една стандартизирана дефиниция. Разбира се, през годините се е оформил някакъв консенсус, благодарение на който можем да посочим ключовите характеристики на MSA. Най-общо казано те включват:

  • Услугите в микросървисна архитектура са често пъти процеси, които комуникират през мрежа, за да изпълнят цел, използвайки технологично-агностични протоколи като HTTP;
  • Услугите в микросървисната архитектура трябва да могат да се поддържат независимо една от друга;
  • Услугите са организирани около конкретна бизнес логика;
  • Услугите могат да бъдат имплементирани чрез различни програмни езици, бази данни, хардуерна и софтуерна среда, в зависимост от това какво пасва най-добре за отделния проект;
  • Услугите са малки по размер, разработват се автономно, деплойват се независимо една от друга, дори на отделни физически или логически сървъри и се пускат чрез автоматизиран процес;

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

Ако вече имате основни познания в ASP.NET MVC, без значение дали е .NET Core или .NET Framework и искате да развиете своите архитектурни умения, спрямо различните видове сървърни приложения - запишете се на курса "Architecture of ASP.NET Core Microservices Applications - септември 2021". Не пропускайте този шанс, очакваме ви!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.