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

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

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

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


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


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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

Недостатки

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


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



Сейчас читают:
Участников (0) и гостей (0)




Комментарии: 0
Нет ни одного комментария.
Новое
Нашли, кого уволить. Microsoft массово избавляется от программистов – разработку Windows доверили искусственному интеллекту 3 дня назад, 12:16
Нашли, кого уволить. Microsoft массово избавляется от программистов – разработку Windows доверили искусственному интеллекту
ИИ прошёл Тьюринга, а ты — нет. Добро пожаловать в XXI век Вс 11.05.2025
ИИ прошёл Тьюринга, а ты — нет. Добро пожаловать в XXI век
Продуктивность растёт, а уважение падает — новая ловушка для фанатов ИИ Сб 10.05.2025
Продуктивность растёт, а уважение падает — новая ловушка для фанатов ИИ
Пт 09.05.2025
EA увольняет сотни сотрудников и отменяет игру Titanfall
Ваша современная Windows 11 по-прежнему содержит файл, созданный для запуска MS-DOS программ в 1993 году — и никто не знает, зачем Пт 09.05.2025
Ваша современная Windows 11 по-прежнему содержит файл, созданный для запуска MS-DOS программ в 1993 году — и никто не знает, зачем
Обзор внешней звуковой карты Creative Sound Blaster G8 Ср 07.05.2025
Обзор внешней звуковой карты Creative Sound Blaster G8
«Алло, это ИТ-отдел. Поставьте AnyDesk, сейчас быстренько вам кое-что поправим» Вт 06.05.2025
«Алло, это ИТ-отдел. Поставьте AnyDesk, сейчас быстренько вам кое-что поправим»
Бабл-ти: 16 простых и вкусных рецептов в домашних условиях Сб 03.05.2025
Бабл-ти: 16 простых и вкусных рецептов в домашних условиях
Как свойства древесины влияют на качество виски? Сб 03.05.2025
Как свойства древесины влияют на качество виски?
Сб 03.05.2025
Калорийность водки: что нужно знать
Книги
Web API Development with ASP.NET Core 8 Вт 25.03.2025
Web API Development with ASP.NET Core 8
Год: 2024
Azure Adventures with C# Вт 18.03.2025
Azure Adventures with C#
Год: 2024
Fundamentals of Enterprise Architecture Вт 11.03.2025
Fundamentals of Enterprise Architecture
Год: 2024
Pro .NET Memory Management, Second Edition Вт 04.03.2025
Pro .NET Memory Management, Second Edition
Год: 2024
Разработано на основе BlackNight CMS
Release v.2025-05-17
© 2000–2025 Blackball
Дизайн & программирование:
О сайтеРеклама
PULS.LV Professional rating system
Visitors
Web-site performed by Sergey Drozdov
BlackballРекламаСтатистикаПоддержка
МузыкаПлейлистыКиноВидеоИгрыАудиоПрограммыСтатьиКартинкиЮморФорумДневник сайтаПрислать контентРекомендованное
ЧасыLava LampWazeНастройка WindowsFleshlight
Complete your gift to make an impact
Buy Me A Coffee
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете купить мне кофе. Спасибо!