Спрятать панель проектов Показать панель проектов
Donation Пожертвование  |  Дневник  |  Без рекламы  |  О сайте  |  Реклама  |  Создать баннер  |  Fleshlight     Прислать Гости: 3    Участники: 0  Авторизация   Регистрация 
Метод Научного Тыка
Поиск  
iMag | интернет-журнал
Разделы
Начало » Разработка ПО » Что такое микросервисная архитектура и когда ее применять

Что такое микросервисная архитектура и когда ее применять

 

Добавлено: 4 месяца назад, 09:04 (Sergeant)
Источник: https://proglib.io/p/microservices/

Задумывались над тем, как в одном проекте могут совмещаться части на разных языках? Рассмотрим, что такое микросервисная архитектура.

Множество приложений, с которыми мы регулярно пересекаемся (интернет-банки, развлекательные сервисы вроде YouTube и так далее), часто созданы с использованием множества технологий, которые как-то уживаются под одной крышей и не выглядят разрозненно.

Что такое микросервисная архитектура

Микросервисы – это архитектурный шаблон. Все сервисы в этом шаблоне:

  1. Маленькие
    Сервис не должен требовать множества людей для разработки. Одна команда может разрабатывать несколько сервисов.
  2. Сфокусированные
    Один сервис – одна задача.
  3. Слабосвязанные
    Изменения в одном сервисе не влияют на другой.
  4. Высокосогласованные
    Компонент или класс создаются с учетом всех методов решения бизнес-задачи.

Классическое монолитное приложение обычно имеет стандартную структуру Интерфейс -> Бизнес-логика -> Данные.

 

Микросервисы же отталкиваются от бизнес-логики:

 

Один сервис должен решать одну задачу и эти задачи определяются частями ответственности приложения. Например, могут существовать разные сервисы для команд, работающих в рамках одного проекта (допустим, онлайн-магазина).

Когда применяется

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

  • Sharding («разбиение» или просто «шардинг») – данные и инструменты для доступа к ним размещаются на разных узлах.
  • Mirroring (создание зеркал) – дублирование всех данных по множеству одинаковых узлов.
  • Собственно, микросервисы – функциональность разбита по бизнес-задачам, каждый сервис может быть создан своими средствами разработки.

Плюсы и минусы микросервисов

Микросервисный подход к проектированию приложений – не лучший выбор и не худший, а один из. Решать, строить ли приложение из множества несвязанных частей, нужно учитывая плюсы и минусы этого подхода.

Положительные стороны

  • Четкое деление по модулям. Всегда будет понятно, как работает та или иная часть кода. Просто добавлять новые функции.
  • Высокая доступность. Если какая-то часть монолита сломается – сломается все приложение. С микросервисами иначе: сервисы могут работать не все (не критические, вроде авторизации), но приложение при этом останется доступным.
  • Разнообразные технологии. При разработке каждого сервиса вы вольны выбирать инструменты, которые лучше всего подойдут для конкретной бизнес-логики в этом сервисе. Например, выбрать оптимальную базу данных и удобные инструменты для работы с ней. Микросервисная архитектура также позволяет попробовать какую-то новую технологию на отдельном сервисе, не переписывая при этом все приложение.
  • Относительная простота развертывания. Каждый сервис поднимается самостоятельно, что делает процесс развертывания и отладки более чистым.

Недостатки

  • Сложность разработки. Если вам нужно быстрое решение (прототип, небольшое приложение, сжатые сроки), то микросервисы вам не подойдут. Скорость разработки – высокая плата за доступность и модульность.
  • Сложность поддержки. Каждый микросервис нуждается в отдельном обслуживании, поэтому нужен постоянный автоматический мониторинг.

 

Мне нравится
?
Мне не нравится
Похожее


Комментарии

Писать комментарии могут только авторизованные пользователи.


Комментарии (0)
Нет ни одного комментария.
Поделиться ссылкой:
Новое
Пн 09.03.2020
14 вопросов об индексах в SQL Server, которые вы стеснялись задать
Вс 08.03.2020
10 способов применения анальной пробки
Пт 06.03.2020
Коктейли с бурбоном: 15 рецептов с фото
Ср 04.03.2020
10 фактов о небоскрёбах мира
Топ-10 самых дорогих машин в миреВт 03.03.2020
Топ-10 самых дорогих машин в мире
Get Programming with JavaScriptВт 03.03.2020
Get Programming with JavaScript
Год: 2016
Безопасен ли анальный секс во время беременности?Вс 01.03.2020
Безопасен ли анальный секс во время беременности?
Сб 29.02.2020
С языком
Какие вина подходят к мясу кроме КабернеПт 28.02.2020
Какие вина подходят к мясу кроме Каберне
JavaScript Application DesignВт 25.02.2020
JavaScript Application Design
Год: 2015
Анальный секс для начинающихВс 23.02.2020
Анальный секс для начинающих
Сб 22.02.2020
Красивая старинная легенда
Обзор пяти марок золотого ромаПт 21.02.2020
Обзор пяти марок золотого рома
CSS in DepthВт 18.02.2020
CSS in Depth
Год: 2018
Пн 17.02.2020
Первый рабочий день: инструкция по выживанию — 4 совета, как с комфортом выйти на новую работу
Разработано на основе BlackNight CMS
Release v.2020-03-06
© 2000–2020 Blackball
Дизайн & программирование:
Sergeant Центр Связи с Админом Skeleton
О сайтеРеклама
Яндекс.Метрика
Web-site performed by Sergey Drozdov