Микросервис простым языком?

Правильно ли я понимаю что микросервис это несколько приложений(модулей) каждое из которых выполняет 1 конкретную задачу и никак не зависит от другого, общаясь при этом между собой, являясь 1 приложением в целом?
  • Вопрос задан
  • 780 просмотров
Решения вопроса 2
Комментировать
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Понятие позволяющее разбить проект на людей, которые каждый пишут на своем языке.
Смысл сводится к тому, что программы обмениваются данными через интернет, а не запускаются в рамках одного компьютера - соответственно пропадает понятие классы-интерфейсы-неймспейсы, появляется понятие "запрос-ответ-косяк" :)

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

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

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

Преимущества безусловно есть. Когда ты можешь увеличить производительность на конкретной задачи скопировав её одну на еще 10 компьютеров, это менее болезненно чем копировать гигантский проект и вырезать из него часть функционала. Но и гемора хватит с головой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы