Современная разработка нацелена на ускорение работы разработчиков и оптимизацию бизнес-процессов. Раньше приложения делали монолитными (большой цельный кусок, который разработчики всех мастей делали вместе в одном репозитории), а сейчас один проект дробят на много разных и независимых друг от друга кусочков, которые могут взаимодействовать друг с другом по определённой логике.
Ты спросишь, зачем же это нужно, ведь тогда придётся нанимать узкоспециализированных высокоплачиваемых специалистов, чтобы вести разработку. Это аргумент, но с течением времени эти затраты окупаются, потому что не нужно тратиться на поддержку целого монолита, разработка ведётся легче, а специалисты могут быть легко заменены.
Условимся, что монолит/микросервисная архитектуране являются панацеей, стандартом, гомеопатическим средством. Это всего лишь разные подходы к разработке. Давай же скорее посмотрим, как работают микросервисы, мой нетерпеливый друг!
При таком подходе, как я уже говорил, приложение состоит из