Архитектурный подход к разработке единого приложения в виде набора небольших индивидуальных развертываемых сервисов.

Архитектурный стиль микросервиса - это подход к разработке отдельного приложения в виде набора небольших сервисов, каждый из которых работает в своем собственном процессе и взаимодействует с легковесными механизмами, часто API-интерфейсом HTTP-ресурсов. Эти сервисы основаны на бизнес-возможностях и могут быть развернуты независимо с помощью полностью автоматизированного механизма развертывания. Существует минимальный уровень централизованного управления этими службами, которые могут быть написаны на разных языках программирования и использовать разные технологии хранения данных.

Определение микросервисов по Льюису/Фаулеру

Свойства:

  • Услуги легко заменить.
  • Услуги организованы вокруг возможностей, например, интерфейса пользователя, рекомендаций, логистики, выставления счетов и т.д.
  • Услуги могут быть реализованы с использованием разных языков программирования, баз данных, аппаратной и программной среды, в зависимости от того, что подходит лучше всего.
  • Архитектуры являются симметричными, а не иерархическими (производитель/потребитель).

Философия:

  • Услуги небольшие - мелкозернистые для выполнения одной функции.
  • Организационная культура должна включать автоматизацию развертывания и
    тестирование. Это облегчает нагрузку на управление и операции.
  • Культура и принципы дизайна должны включать отказы и недостатки, подобные антихрупким системам.
  • Услуги эластичны, эластичны, компонуемы, минимальны и полны.

Книги:

Кроме того, существуют тысячи книг, посвященных микросервисам, ориентированным на некоторый язык, например Python или Java, или на некоторые платформы, такие как Azure или AWS, которые легко найти.

статьи

Ниже приводится отличная серия статей из блога NGINX.

Места