Описание тега microservices
Архитектурный стиль микросервисов - это подход к разработке одного приложения как набора небольших сервисов, каждый из которых работает в своем собственном процессе и взаимодействует с облегченными механизмами, часто с API-интерфейсом HTTP-ресурсов. Эти сервисы построены на бизнес-возможностях и могут быть независимо развернуты с помощью полностью автоматизированного оборудования. Существует минимум централизованного управления этими службами, которые могут быть написаны на разных языках программирования и использовать разные технологии хранения данных.
Определение микросервисов Льюиса / Фаулера
Свойства:
- Услуги легко заменить.
- Услуги организованы по возможностям, например, пользовательский интерфейс, рекомендации, логистика, биллинг и т. Д.
- Услуги могут быть реализованы с использованием разных языков программирования, баз данных, аппаратной и программной среды, в зависимости от того, что подходит лучше всего.
- Архитектуры симметричны, а не иерархичны (производитель / потребитель).
Философия:
- Услуги небольшие - мелкие, чтобы выполнять одну функцию.
- Организационная культура должна включать автоматизацию развертывания и
тестирования. Это снижает нагрузку на руководство и операции. - Принципы культуры и дизайна должны охватывать отказы и ошибки, как и в случае с хрупкими системами.
- Сервисы эластичны, эластичны, компонуются, минимальны и полны.
Книги:
- Создание микросервисов для проектирования мелкозернистых систем - 2015
- Готовые микросервисы - 2016
- Поваренная книга по развертыванию микросервисов - 2017
- Микросервисы: создание масштабируемого программного обеспечения - 2017
- Дао микросервисов - 2017
Кроме того, существуют тысячи книг, в которых говорится о микросервисах, ориентированных на некоторые языки, такие как Python или Java, или на некоторые платформы, такие как Azure или AWS, которые легко найти.
Статьи
Ниже приводится отличная серия статей из блога NGINX.
- Введение в микросервисы
- Создание микросервисов: использование шлюза API
- Создание микросервисов: IPC в архитектуре микросервисов
- Обнаружение сервисов в архитектуре микросервисов
- Управление данными на основе событий для микросервисов
- Выбор стратегии развертывания микросервисов
- Реорганизация монолита в микросервисы