921просмотров
23 октября 2023 г.
Score: 1.0K
https://dev.to/lovepreetsingh/microservices-vs-monolithic-architecture-a-practical-approach-4m06
Монолитную архитектуру, со всеми её недостатками, можно с уверенностью считать пережитком прошлого. Преимущества микросервисного подхода настолько перевешивают чашу весов в эту сторону, что сейчас даже при разработке самого просто приложения нет смысла отказываться от всех плюсов, которые даёт эта современная парадигма. Допустим, нам нужно разработать Калькулятор. Стоит ли рассматривать здесь монолитную архитектуру, в то время как разделение на микросервисы способно упростить нам жизнь. 🟣 При таком подходе мы выделим отдельные сервисы для всех операций, а начнем с простых: сложение, умножение, вычитание, деление. Очевидно, что нагрузка будет разделяться неравномерно. Скорее всего пользователи будут чаще складывать и умножать. Тут мы и масштабируем только эти два сервиса, не трогая остальные. Добавим им ресурсов, перенесём на отдельный сервер.
🟣 Захотим расширить набор действий, добавив тригонометрические операции - нам поможет паттерн Service Discovery. Сможем расширять наше приложение, не перезапуская его.
🟣 Конечно добавим Health Checks. Зачем нам слать запросы в сервис вычисления логарифмов, если он не работоспособен, а команда разработавших его php-программистов в отпуске?
И это далеко не все шаблоны, которыми мы можем здесь воспользоваться, упростив себе жизнь. В общем, даже на таком простом примере очевидно удобство, гибкость, надежность. А в более сложных системах всё это возрастает кратно.
Time: 5 min
Level: easy
Tags: #microservices