Упражнение. Правила автомасштабирования
В этом упражнении мы рассмотрим упражнения по настройке и активации автомасштабирования примера приложения.
Упражнение на применение правила
В примере приложения Azure Spring Apps приложение активировало горизонтальное масштабирование микрослужбы службы клиентов при его создании.
Приложение службы клиентов масштабируется , когда число запросов tomcat превышает 10 сеансов в минуту в среднем. После активации автомасштабирования оно масштабируется в том случае, если число запросов меньше или равно 10 сеансам в минуту.
Просмотр настройки автомасштабирования на портал Azure
- В новой вкладке веб-браузера откройте портал Azure.
- В поле поиска вверху введите Azure Spring Apps.
- На странице "Обзор Azure Spring Apps" выберите экземпляр Azure Spring Apps в списке результатов.
- В разделе Параметры выберите вкладку Приложения в меню в области навигации слева.
- Выберите приложение службы по работе с клиентами. После этого отобразится страница обзора приложения.
- Перейдите на вкладку Горизонтальное увеличение масштаба в разделе «Параметры» в меню в левой части страницы.
Существует два параметра для управления потребностями автомасштабирования:
- Масштабирование вручную: поддерживает число фиксированных экземпляров. На уровне "Стандартный" можно горизонтально увеличивать масштаб не более чем до 500 экземпляров. Это значение изменяет количество отдельных работающих экземпляров приложений для микрослужб.
- Настраиваемое автомасштабирование: масштабирование по любому расписанию на основе любых метрик.
В портал Azure просмотрите предварительную конфигурацию приложения. На следующем рисунке показана настраиваемая автоматическая шкала, настроенная для масштабирования по количеству запросов tomcat.
Просмотр завершенных событий автомасштабирования
На экране параметров горизонтального масштабирования перейдите на вкладку "Журнал выполнения", чтобы просмотреть последние действия масштабирования. На вкладке приведено графическое представление изменения наблюдаемой емкости в динамике, а также журнал для каждого действия автомасштабирования.
Запуск действия масштабирования с помощью сценария
Вы также можете активировать автоматическое масштабирование вручную с помощью веб-браузера или скрипта оболочки.
Чтобы проверить правила автомасштабирования, мы создадим некоторую нагрузку на экземпляры. В результате моделирования нагрузки правила автомасштабирования горизонтально увеличивают масштаб и число экземпляров. После того как моделирование нагрузки прекращено, правила автомасштабирования горизонтально уменьшат масштаб и сократят количество экземпляров.
Чтобы разрешить активировать автомасштабирование, мы предоставили скрипт оболочки в том же репозитории GIT, который использовался для создания приложения Azure Spring Apps.
Задайте имя экземпляра службы Spring Apps, выполнив следующую команду в https://shell.azure.com окне bash. Используйте то же имя службы Azure Spring Apps, которое вы использовали в предыдущем упражнении:
export SPRING_APPS_SERVICE=<spring-apps-instance-name>
Затем в окне bash выполните следующие команды, чтобы выполнить транзакции с микрослужбой Spring Apps:
cd mslearn-autoscale-java sh loadTest.sh
Вы увидите выходные данные нагрузочного теста службы клиентов , отправляющего 100 запросов в экземпляр.
Запуск действия горизонтального увеличения масштаба вручную через веб-браузер (необязательно)
Чтобы вручную активировать условие горизонтального масштабирования в созданном параметре автомасштабирования, микрослужба обслуживания клиентов должна содержать более 10 запросов менее чем за одну минуту.
Откройте новое окно браузера и перейдите к микрослужбе службы клиентов:
https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/owners
Быстро перезагрузите страницу больше 10 раз.
Просмотр действия горизонтального увеличения масштаба
Вернитесь в исходное окно браузера в параметре автомасштабирования, выберите вкладку "Журнал выполнения".
Должна отобразиться диаграмма, отражающую число экземпляров.
Через несколько минут число экземпляров должно увеличиваться с 1 до 2.
На диаграмме должны быть записи журнала действий для каждого действия масштабирования, выполняемого этим параметром автомасштабирования.
Действие горизонтального уменьшения масштаба
Условие масштабирования в параметре автомасштабирования активирует, если в течение одной минуты меньше или равно 10 запросов микрослужбе службы клиентов .
Убедитесь, что запросы не отправляются в микрослужбу службы клиентов, а окно браузера в приложение или службу закрыто.
Просмотрите количество экземпляров. Через несколько минут число экземпляров может упасть от 2 до 1 (см. следующую важную точку).
Внимание
Azure Spring Apps может не масштабироваться, так как автомасштабирование попытается оценить окончательное состояние после масштабирования. То есть, при автомасштабировании потребуется еще раз выполнить масштабирование, если среднее число запросов Tomcat остается неизменным или даже немного уменьшается.