Мегаобучалка Главная | О нас | Обратная связь


Достоинства микросервисов



2018-07-06 548 Обсуждений (0)
Достоинства микросервисов 0.00 из 5.00 0 оценок




В этом разделе рассматриваются преимущества микросервисов по сравнению с монолитами.

Первое преимущество – технологическая разнородность. Имею большую систему, состоящую из нескольких сервисов, можно прийти к выводу, что нужно использовать различные технологии для их реализации. Это позволит использовать самые различный стек технологий, не утруждаясь поиском компромиссной универсальной технологии, подходящей для реализации любых сервисов. Например, если какой либо части системы нужна более высокая производительность, то можно использовать необходимые стек, чтобы добиться приемлемого уровня производительности. Если нужен особый способ хранения данных в некоторых частях системы, то это тоже не проблема. Например, пользовательский обмен личными сообщениями в социальной сети можно хранить в графо-ориентированной базе данных, отражая тем самым присущую социальному графу высокую степень связности, а записи в блоге можно хранить в документо-ориентированной базе данных. Как это может выглядеть, изображено на рисунке 9. Микросервисы также довольно быстро позволяют внедрить технологии, которые могут понадобится. Так как одним из значительных барьеров к принятию новой технологии является риск её использования, то архитектура микросервисов позволит нам в случае непредвиденных проблем локализовать её до одного микросервиса. В случае монолитного приложения новая технология может значительно повлиять на функционал системы.

 

Рисунок 9 - Пример технологической разнородности микросервисов в системе социальной сети

 

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

Второе преимущество – устойчивость. В случае использования микросервисов в системе при отказе одного сервиса системы, не вызывающем череду связанных с ним отказов, проблему можно изолировать, сохранив работоспособность всей остальной системы. В монолитной системе обычно отказывает вся система целиком, и хотя в случае монолита, можно уменьшить вероятность отказа, запустив систему сразу на нескольких нодах, но, работая с микросервисами, можно свести риски полного отказа система к минимуму. Становится возможным локализовать ошибку в одном конкретном микросервисе и её последующее оперативное исправление.

Третье важное преимущество – масштабируемость. В больших монолитных сервисах масштабировать необходимо всю систему целиком. Одна часть монолита может иметь ограниченную производительность, однако же расширять приходится всю систему целиком. При работе же с множеством сервисов становится возможным расширение только тех микросервисов, которые действительно создают существенное снижение производительности системы в целом, ввиду их независимости.

Рисунок 10 дает наглядное представление о том, насколько удобно можно масштабировать систему, построенную на микросервисах.

Рисунок 10 - Масштабирование микросервисной системы социальной сети.

 

Четверное преимущество – простота развёртывания. Для внесения какого-либо изменения в монолитное приложение необходимо переразвернуть его заново целиком. Обычно рискованные изменения не вносят достаточно долгое время, и в результате со временем накапливаются в системе так называемые технические долги, который рано или поздно придется завершить. Рано или поздно выпускается версию приложения, которая содержит в себе целый комплекс подобных рискованных изменений, что может иметь негативные последствия. Этого можно избежать, если выпускать и развертывать новую версию сервиса как можно быстрее, так как гораздо лучше разрешивать возможные проблемы как можно раньше, чем позже пытаться разобрать весь их набор потом. Это соответствует концепции микросервисов тоже, так как разработчику гораздо проще совершить CodeReviewодного небольшого участка кода или внести одно небольшое, но рискованное изменение и разобраться с его возможными последствиями сейчас, чем потом пытаться разрешить их потом. При грамотной настройке CI (ContiniousIntegration) можно добиться не только достаточно быстрого и простого развертывания нового сервиса, но и грамотного мониторинга его текущего состояния. Это позволяет оперативно получать информацию о состоянии каждого микросервиса и всей инфраструктуры в целом.

Также немаловажное пятое преимущество – решение организационных вопросов. Микросервисная архитектура позволяет подобрать подходящую команду для разработки каждого микросервиса, и установить правильный баланс между количеством разработчиков и её продуктивностью. Также возможно использование одних и тех же разработчиков в разработке разных микросервисов, чего нельзя сказать о разработке систем, ориентированных на чистую SOA-концепцию.



2018-07-06 548 Обсуждений (0)
Достоинства микросервисов 0.00 из 5.00 0 оценок









Обсуждение в статье: Достоинства микросервисов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (548)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)