Рубрики
Uncategorized

Монолит против микросима, что вы выбираете?

Я уже работал разработку программного обеспечения, и мой репозиторий является инженером Devops. У моей компании есть Devlopm … Помечено софт-воображением, архитектуру, дежопами.

Я уже работал разработку программного обеспечения, и мой репозиторий является инженером Devops. У моей компании есть процесс разработки — это Agile, развлеченная культура и микросервис для разработки заявления в компании.

У меня есть вопрос, который вы выбираете монолиту или микросервис для разработки программного приложения.

Спасибо за книгу моделей микровиссов ( https://www.amazon.com/microservices-patterns-example-chris-richarson/dp/1617294543 ) В главе один в книге принять хорошее решение для моего результата, и у многих рекомендаций о реализации, тестировании и развертывании для вас начнут разработать приложение Microsvice.

Монолитная архитектура

Монолитная архитектура является традиционной единой моделью для проектирования программной программы и составляют приложение для бизнес-логики для одного исходного кода и одного сервиса. ( https://whatis.techtarget.com/definition/monolithic-architecture )

Преимущество монолитной архитектуры

  • Просто для развития IDES и другие инструменты разработчика ориентированы на создание единого приложения.
  • Легко сделать радикальные изменения в приложении Вы можете изменить код и схему базы данных, сборки и развертывание.
  • Простое, чтобы проверить Разработчики писали модульный тест, концевые тесты, которые запустили приложение в одном исходном коде.
  • Простое для развертывания Имейте один исходный код для сборки и развертывания привести к легкому развертыванию (для небольшого приложения, я люблю его.)
  • Легко масштабировать Может управлять несколькими экземплярами приложения за балансировщиком нагрузки (приложение Sohuld BE без гражданства. О беззвененном/штате -> https://www.redhat.com/en/topics/Cloud-native-apps/stateful-vs-vscateless Несомненно

Недостаток монолитной архитектуры

  • Трудный процесс развивается для большой команды Представьте себе, у вас есть 100 разработчиков в проекте. У вас есть 50 или более коммит, слияние или потяните запрос каждый день. Они делают верхний процесс для вас.
  • Медленное развертывание, когда большой исходный код Verilog для сборки, компиляции, развертывания и тестирования.
  • Трудно для Mange Resource Некоторые Bussiness Logic Code используют множество таких ресурсов, как функция генерации отчета. Вы не можете отделить ресурс, потому что вся бизнес-логика хранится в том же исходном коде
  • Влияние скомпилированного кода сломана Некоторые Devloper делают какой-то код брокера в исходном коде, приведя во внимание все скомпилированные код.
  • Технологический стек блокировки пример У вас есть приложение Java и получите новую функцию. Вы пробуете внедрение приложения с Golang для новой функции и приложения Golang имеют производительность и управлять ресурсом больше, чем приложение Java, но вы не можете адаптироваться к основной заявке, потому что ваше главное приложение скомпилировано с Java.

Производительность в области программного обеспечения

( https://martinfowler.com/bliki/microservicePremium.html )

На рисунке вы можете увидеть, когда вы реализуете программное обеспечение с помощью монолита, такие как Добавить функцию или код Refactor, когда исходный код большой, у вас есть много времени, чтобы скомпилировать тестовый тест на единицу и построить код исходного кода, приводящих к тому, что одна из которых используется для медленного производства, но вы реализуете программное обеспечение с помощью программного обеспечения микропроводящий так же, как. Время COMPILE и сосредоточить фокус в новом коде функции или код рефакторов, а не влиять на другой результат услуг, и о управлении GIT вы можете отделить исходный код, а команды разработчиков помогут вам снизить управление GIT, такими как многие Compartion и Pull Proke.

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

Архитектура микросервиса

Микросервисы — это архитектурный стиль, который структурирует приложение как коллекцию услуг которые

  • Высокогодные и тестируемые
  • Слабо связанный
  • Независимо развернут
  • Организовано вокруг бизнес-возможностей
  • Принадлежит небольшой команде

( https://microservices.io/ )

Преимущество микро архитектуры

  • Он включает непрерывную доставку и развертывание Включить для инструментов CI/CD для развертывания
  • Сервис маленький легко поддерживается
  • Сервис развертывает независимость О развертывании вы не должны перекомпилировать все услуги.
  • Услуги независимо от масштабируемой Когда одна масштаб обслуживания все услуги не нужно масштабировать.
  • Включить для отдельной команды Вы можете отделить большую команду для многих маленьких команд для реализации и управлять каждой услугой.
  • Разрешить простое эксперименты и принятие новых технологий Вы можете отделить услугу и команду для реализации новой кадры или нового языка программирования.
  • Увеличьте надежность Когда какой-то сервис снизится, но другой сервис все еще может работать.

Недостаток микро архитектуры

  • Поиск правильного набора услуг сложно
  • Увеличить комплекс Распределенные системы являются сложными, что делает развитие, тестирование и развертывание сложно
  • Увеличить сетевой трафик Complex Развертывание функций, которые охватывают несколько услуг, требуют тщательной координации.
  • Принять архитектуру микросервиса сложно Micro Service поможет вашему решению, у вас есть большой исходный код и разработчик большой команды, но о многих процессах Suach в качестве процесса тестирования, надежный процесс создания кислотной транзакции, процесс развертывания и уборщиков изменится от монолита.

Вывод

Когда у вас есть небольшой проект, демонстрационный проект и монолитная архитектура небольшой команды — это хороший способ использовать в devlop вашу программную архитектуру. Когда ваш проект растет, придет много функций, или у вас будет большая команда. Microsevice Architect — это одно из хороших способов разработки вашей архитектуры программного обеспечения, но когда ваш ADAOPT у вас новый процесс разработки и сохранения вашего приложения и закономерности книги ( https://www.amazon.com/microservices-Patterns -Ексексуалы-Chris-Richardson/DP/1617294543 ) — один из хороших ресурсов для того, чтобы помочь вам разработать приложение с микросервисом.

Оригинал: «https://dev.to/panupongdeve/monolithic-vs-microservice-what-do-you-choose-5bkf»