Jump to content

Монолитное приложение

Монолитные приложения можно сравнить с монолитами , такими как Улуру , Австралия : большой одиночный (моно) камень (лит).

В разработке программного обеспечения монолитное приложение — это единое унифицированное программное приложение , которое является автономным и независимым от других приложений, но обычно не обладает гибкостью. [1] Существуют преимущества и недостатки создания приложений в монолитном стиле программной архитектуры в зависимости от требований. [2] Монолитные приложения относительно просты и имеют низкую стоимость, но их недостатками являются отсутствие гибкости , отказоустойчивости и масштабируемости . [3] Альтернативные стили монолитным приложениям включают многоуровневые архитектуры , распределенные вычисления и микросервисы . [2] Несмотря на свою популярность в последние годы, монолитные приложения по-прежнему являются хорошим выбором для приложений с небольшой командой и небольшой сложностью. Однако, как только он станет слишком сложным, вы можете рассмотреть возможность его рефакторинга в микросервисы или распределенное приложение. Обратите внимание, что монолитное приложение, развернутое на одной машине, может быть достаточно производительным для вашей текущей рабочей нагрузки, но оно менее доступно, менее долговечно, менее изменяемо, менее точно настраиваемо и менее масштабируемо, чем хорошо спроектированная распределенная система . [4]

Философия дизайна заключается в том, что приложение отвечает не только за конкретную задачу, но может выполнять каждый шаг, необходимый для выполнения определенной функции. [5] Некоторые приложения для личных финансов являются монолитными в том смысле, что они помогают пользователю выполнять всю задачу, от начала до конца, и представляют собой частные хранилища данных , а не части более крупной системы приложений, которые работают вместе. Некоторые текстовые процессоры представляют собой монолитные приложения. [6] Эти приложения иногда связаны с мейнфреймами .

В разработке программного обеспечения монолитное приложение описывает программное приложение, спроектированное как единый сервис. [7] В определенных сценариях может оказаться желательным наличие нескольких услуг, поскольку они могут облегчить обслуживание, позволяя ремонтировать или заменять части приложения без необходимости полной замены.

Модульность достигается в различной степени с помощью различных подходов к модульному программированию . Модульность на основе кода позволяет разработчикам повторно использовать и восстанавливать части приложения, но для выполнения этих функций обслуживания требуются инструменты разработки (например, может потребоваться перекомпиляция приложения). Модульность на основе объектов представляет собой набор отдельных исполняемых файлов, которые можно независимо обслуживать и заменять без повторного развертывания всего приложения (например, библиотека динамической компоновки Sun/UNIX ). Microsoft (DLL); общие объектные файлы [8] Некоторые возможности обмена объектными сообщениями позволяют распределять объектно-ориентированные приложения по нескольким компьютерам (например, модель компонентных объектов Microsoft (COM)). Сервис-ориентированные архитектуры используют определенные стандарты/протоколы связи для связи между модулями. [ нужна ссылка ]

В своем первоначальном использовании термин «монолитный» описывал огромные приложения для мэйнфреймов без полезной модульности. [9] Это, в сочетании с быстрым увеличением вычислительной мощности и, следовательно, быстрым увеличением сложности проблем, которые можно было решить с помощью программного обеспечения, привело к необслуживаемости систем и « кризису программного обеспечения ».

Узоры [ править ]

Вот распространенные архитектурные шаблоны, используемые для монолитных приложений, каждый из которых имеет свои компромиссы: [3]

Ссылки [ править ]

  1. ^ Мишра, Маянк; Кунде, Шрути; Намбияр, Манодж (2018). «Взлом монолита: проблемы при переходе данных на облачную архитектуру». Материалы 12-й Европейской конференции по архитектуре программного обеспечения: сопутствующие материалы . Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники (ACM). стр. 1–4. дои : 10.1145/3241403.3241440 . ISBN  9781450364836 . S2CID   52295004 .
  2. ^ Jump up to: Перейти обратно: а б Харрис, Чендлер (2022). «Микросервисы против монолитной архитектуры: когда монолиты становятся слишком большими, возможно, пришло время перейти на микросервисы» . atlassian.com .
  3. ^ Jump up to: Перейти обратно: а б Основы архитектуры программного обеспечения: инженерный подход . О'Рейли Медиа. 2020. ISBN  978-1492043454 .
  4. ^ От монолита к микросервисам. Эволюционные закономерности для преобразования вашего монолита . О'Рейли Медиа. 2019. ISBN  9781492047810 .
  5. ^ Information Technology Services. Монолитное приложение Архивировано 2 сентября 2007 г. на Wayback Machine. Проверено 28 ноября 2019 г.
  6. ^ Microsoft Трехуровневое приложение , получено 3 августа 2007 г.
  7. ^ «Внедрение облачных технологий как часть пути цифровой трансформации» . kumaran.com . 2 марта 2022 г.
  8. ^ Луткевич, Бен. «динамически подключаемая библиотека (DLL)» . techtarget.com .
  9. ^ Раймонд, Эрик С. (2003). Искусство программирования для Unix . Аддисон-Уэсли Профессионал.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 37e6911b83a2a1f00b44bf4915ecffd1__1718204340
URL1:https://arc.ask3.ru/arc/aa/37/d1/37e6911b83a2a1f00b44bf4915ecffd1.html
Заголовок, (Title) документа по адресу, URL1:
Monolithic application - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)