Сообщение администратору
Имя:
Почта:
Сообщение:
Вход на сайт
Логин:
Пароль:

Поддержка  •  Дневник  •  О сайте  •  Реклама  •  Поставить баннер  •  Прислать  •  Хроника  •  Translate  •  Рекомендованное  •  Написать администратору OpenToWork Гости: 102    Участники: 0 Авторизация Авторизация   Регистрация 
Метод Научного Тыка
RULVEN
Поиск  
Blackball iMag | интернет-журнал
RSS-лента
Поделиться ссылкой:
Каталог


Начало » Разработка ПО » Что такое микросервисная архитектура и когда ее применять

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


Добавлено: Пн 25.11.2019 • Sergeant
Источник: источник
Просмотров: 419
Комментарии: 0


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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

Недостатки

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


Мне нравится 0   Мне не нравится 0



Комментарии

Чтобы добавить видео с YouTube, нужно написать [@youtube=xxxxx] , где xxxxx – ID видео.


Комментарии: 0
Нет ни одного комментария.

Новое
PNGPlug: вредоносный код, сокрытый в невинных изображениях 00:17
PNGPlug: вредоносный код, сокрытый в невинных изображениях
DDoS-угроза №1: ChatGPT может обрушить любой веб-сайт за секунды 00:16
DDoS-угроза №1: ChatGPT может обрушить любой веб-сайт за секунды
вчера, 15:05
О феномене бесполезных работ
2 дня назад, 09:02
Когда устроился на работу, и тебя уволили в тот же день
3 дня назад, 16:34
Прогрев аудиоаппаратуры — «за» и «против»
Электрический BMW M3 на платформе Neue Klasse снова сфотографировали 3 дня назад, 15:11
Электрический BMW M3 на платформе Neue Klasse снова сфотографировали
Салат с жареной курицей Сб 18.01.2025
Салат с жареной курицей
CES 2025: 7 революционных гаджетов, которые изменят нашу повседневную жизнь Пт 17.01.2025
CES 2025: 7 революционных гаджетов, которые изменят нашу повседневную жизнь
«Sign in with Google»: инструмент быстрой аутентификации раскрывает данные компаний-призраков Вт 14.01.2025
«Sign in with Google»: инструмент быстрой аутентификации раскрывает данные компаний-призраков
Чек-лист по запуску нового сайта: что нужно учесть? Вт 14.01.2025
Чек-лист по запуску нового сайта: что нужно учесть?
Книги
Рецепты TypeScript вчера, 10:13
Рецепты TypeScript
Год: 2025
Изучаем Python, 3-е издание Вт 17.12.2024
Изучаем Python, 3-е издание
Год: 2020
Docker Compose для разработчика Вт 10.12.2024
Docker Compose для разработчика
Год: 2023
Blazor in Action Вт 04.06.2024
Blazor in Action
Год: 2022
Security for Containers and Kubernetes Вт 28.05.2024
Security for Containers and Kubernetes
Год: 2023
Разработано на основе BlackNight CMS
Release v.2025-01-06
© 2000–2025 Blackball
Дизайн & программирование:
О сайтеРеклама
Visitors
Web-site performed by Sergey Drozdov
BlackballРекламаСтатистикаПоддержка
МузыкаПлейлистыКиноВидеоИгрыАудиоПрограммыСтатьиКартинкиЮморФорумДневник сайтаПрислать контентРекомендованное