Вы находитесь на странице: 1из 2

Технические науки

УДК 69
DOI 10.21661/r-556565

Кравченко Д.А.
Микросервисная архитектура
Аннотация
Статья посвящена понятию микросервисов, как подходу к разработке программного обеспечения. Приве-
дены и описаны такие понятия как, микросервисы, монолитная архитектура, микросервисная архитектура.
Приведены характеристики и преимущества микросервисной архитектуры.

Ключевые слова: микросервисы, микросервисная архитектура, монолитная архитектура, характеристики микросер-


висов, преимущества микросервисов, разработка программного обеспечения.

М
икросервисы – это архитектурный и ор- В архитектуре микросервисов приложение строит-
ганизационный подход к разработке про- ся как независимые компоненты, которые запускают
граммного обеспечения, при котором каждый процесс приложения как службу. Эти сервисы
программное обеспечение состоит из небольших не- взаимодействуют через четко определенный интерфейс
зависимых сервисов, взаимодействующих через четко с использованием облегченных API. Службы созданы
определенные API. Эти сервисы принадлежат неболь- для бизнес-возможностей, и каждая служба выполняет
шим автономным командам. одну функцию. Поскольку они запускаются независимо,
Архитектуры микросервисов упрощают масштаби- каждую службу можно обновлять, развертывать и мас-
рование и ускоряют разработку приложений, позволяя штабировать в соответствии со спросом на определен-
внедрять инновации и ускоряя вывод новых функций ные функции приложения.
на рынок. Характеристики микросервисов:
Монолитная и микросервисная архитектура – Автономный
В монолитных архитектурах все процессы тесно Каждую компонентную службу в архитектуре ми-
связаны и работают как единая служба. Это означает, кросервисов можно разрабатывать, развертывать, экс-
что если один процесс приложения испытывает всплеск плуатировать и масштабировать, не влияя на работу
спроса, необходимо масштабировать всю архитекту- других служб. Сервисам не нужно делиться своим ко-
ру. Добавление или улучшение функций монолитно- дом или реализацией с другими сервисами. Любая связь
го приложения усложняется по мере роста базы кода. между отдельными компонентами происходит через
Эта сложность ограничивает экспериментирование и четко определенные API.
затрудняет реализацию новых идей. Монолитные ар- – Специализированный
хитектуры повышают риск доступности приложений, Каждая услуга рассчитана на набор возможностей
поскольку множество зависимых и тесно связанных и ориентирована на решение конкретной задачи. Если
процессов увеличивают влияние сбоя одного процесса. разработчики со временем вносят в службу больше кода

Рис. 1. Монолитная и микросервисная архитектура

Интерактивная наука | 4 (69) • 2022 43


Технические науки
и служба становится сложной, ее можно разбить на бо- мость отказа позволяет экспериментировать, упрощает об-
лее мелкие службы. новление кода и ускоряет вывод новых функций на рынок.
Преимущества микросервисов: – Технологическая свобода
– Ловкость Архитектуры микросервисов не следуют универ-
Микросервисы способствуют организации неболь- сальному подходу. Команды могут свободно выбирать
ших независимых команд, которые берут на себя ответ- лучший инструмент для решения своих конкретных за-
ственность за свои сервисы. Команды действуют в рам- дач. Как следствие, команды, создающие микросервисы,
ках небольшого и хорошо понятного контекста и имеют могут выбрать лучший инструмент для каждой задачи.
возможность работать более независимо и быстрее. Это – Многоразовый код
сокращает время цикла разработки. Вы получаете зна- Разделение программного обеспечения на неболь-
чительную выгоду от совокупной пропускной способ- шие четко определенные модули позволяет командам
ности организации. использовать функции для различных целей. Служба,
– Гибкое масштабирование– написанная для определенной функции, может исполь-
Микросервисы позволяют независимо масштаби- зоваться в качестве строительного блока для другой
ровать каждую службу в соответствии со спросом на функции. Это позволяет приложению самопроизвольно
поддерживаемую ею функцию приложения. Это по- загружаться, поскольку разработчики могут создавать
зволяет командам правильно определять потребности в новые возможности без написания кода с нуля.
инфраструктуре, точно измерять стоимость функции и – Устойчивость
поддерживать доступность, если спрос на услугу резко Независимость от службы повышает устойчивость
возрастает. приложения к сбоям. В монолитной архитектуре отказ
– Простое развертывание одного компонента может привести к отказу всего при-
Микросервисы обеспечивают непрерывную инте- ложения. При использовании микросервисов приложе-
грацию и непрерывную доставку, упрощая опробование ния справляются с полным отказом службы за счет сни-
новых идей и откат, если что-то не работает. Низкая стои- жения функциональности, а не сбоя всего приложения.

Литература
1. Микросервисы (Microservices) [Электронный ресурс]. – Режим доступа: https://habr.com/ru/post/249183/
2. Микросервисы и микросервисная архитектура [Электронный ресурс]. – Режим доступа: https://www.atlassian.
com/ru/continuous-delivery/microservices
3. Микрослужбы.NET: Архитектура контейнерных приложений.NET [Электронный ресурс]. – https://docs.
microsoft.com/ru-ru/dotnet/architecture/microservices/
4. Ричардсон Крис, Микросервисы. Паттерны разработки и рефакторинга/ Ричардсон Крис. – СПб, 2020. –
С. 26–57.

44 Интерактивная наука | 4 (69) • 2022

Вам также может понравиться