Рубрики
Без рубрики

Микронавт против Пружинного каркаса

В этом посте мы: Узнаем, в чем проблема холодного запуска и почему это плохо, как micronaut решает t… Помеченный как бессерверный, микросервисы, java, облако.

В этом посте мы будем:

  1. Узнайте, в чем проблема холодного запуска и почему это плохо
  2. Как micronaut решает эту проблему?
  3. Создайте простой сервис в micronaut.
  4. Сравните весенний сервис с сервисом micronaut с точки зрения
    • Использование памяти
    • Время запуска

Проблема с холодным Запуском

Когда приложению spring boot требуется много времени для обработки запросов, когда служба используется по истечении длительного времени.

Пример: Предположим, что существует служба, запущенная на N разных узлах. В настоящее время служба работает бесперебойно, и все узлы выдают результаты за очень короткое время. Это известно как Теплый старт. Теперь мы используем другую службу по истечении длительного времени или нагрузка на текущую запущенную службу увеличивается. Мы испытываем резкий скачок времени отклика.

Почему этот всплеск?

В бессерверной архитектуре, такой как AWS Lambda, сервис управляется облачным провайдером. Это также предоставляет вам такие преимущества, как автоматическое масштабирование, доступность. Кроме того, стоимость использования бессерверных сервисов очень детализирована (за 100 мс времени обработки). Когда услуга не используется, счет за нее не выставляется. Таким образом, существует высокая вероятность того, что служба может быть удалена и ее придется снова инициализировать, прежде чем ее можно будет использовать снова. Аналогично, когда нагрузка на службу, которая масштабируется автоматически, увеличилась. Ему присваивается новый узел. Но новый узел доступен не сразу, его необходимо инициализировать, прежде чем он будет готов к использованию. Любой новый запрос, поступающий на этот узел, должен будет подождать некоторое время (время инициализации), прежде чем он сможет быть обработан. Время инициализации: Это время, необходимое для загрузки сборки и конфигураций, настройки контейнера и развертывания кода в контейнере. В случае приложения spring boot это время часто занимает много времени, потому что сборки часто бывают тяжелыми и их развертывание занимает много времени.

Почему Micronaut хорош?

Micronaut создает легкие сборки, развертывание которых занимает гораздо меньше времени. Он создает сборки небольшого размера. Таким образом, его можно загрузить за меньшее время. Он также создает сборку, которая может быть развернута за меньшее время.

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

Создайте простую службу микронавтов

Шаг 1: ПЕРЕЙДИТЕ на этот веб-сайт https://micronaut.io/launch/ Этот веб-сайт похож на https://start.spring.io/ в пружинном ботинке Заполните данные, необходимые для создания нового веб-приложения, и нажмите кнопку Создать.

Шаг 2: Теперь импортируйте загруженный проект в вашу среду разработки, такую как Eclipse, IntelliJ.

Шаг 3: Структура приложения Micronaut такая же, как и у приложения Spring Boot, и создание веб-службы также почти такое же. Создайте новый класс HelloController. Затем напишите в нем следующий код. Это похоже на код, написанный для создания веб-сервиса в приложении spring. Шаг 4: Теперь создайте сборку для этого примера приложения с помощью Run as —-> Maven Install.

Шаг 5: Теперь проверьте целевую папку, размер созданной сборки невелик. Теперь, если мы запустим приложение с помощью команды java -jar {war name}. Он запускает веб-приложение практически в кратчайшие сроки. Это быстрое время запуска предотвращает задержку в бессерверном приложении в рабочей среде. Время запуска и размер сборки приложения micronaut меньше по сравнению с приложением spring. Эта разница продолжает увеличиваться по мере того, как вы продолжаете включать новые зависимости в файл pom.

Действительно ли холодный запуск является проблемой?

В большинстве случаев холодный запуск на самом деле не является проблемой. Холодный запуск влияет только на первый запрос, который выполняется по истечении длительного времени. На все остальные последующие запросы, отправленные на сервер, холодный запуск не влияет. Если вы создаете приложение, где каждый запрос и каждая секунда имеют значение, или если ваше приложение испытывает колебания трафика, то холодный запуск может быть проблемой. Таким образом, важно знать, в чем причина этой проблемы и как ее можно решить.

Кроме того, spring boot намного более зрелый, чем платформа micronaut. Это позволяет вносить серьезные изменения в приложение простым изменением конфигурации. Micronaut, являющийся новым фреймворком, не очень зрелый и предоставляет меньше возможностей, чем spring.

Загляните на мой веб-сайт: https://technicalknowledgehub.com/

Оригинал: “https://dev.to/javaknowledgeh1/micronaut-vs-spring-framework-14mb”