Поделиться через


Общие сведения о примере приложения

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к: ✔️ Basic/Standard ✔️ Enterprise

В этом кратком руководстве мы используем известный пример приложения PetClinic , чтобы показать, как развернуть приложения в службе Azure Spring Apps. Приложение PetClinic позволяет продемонстрировать подход к архитектуре микрослужбы и разбивку служб. Вы узнаете, как развертывать службы в Azure с помощью возможностей Azure Spring Apps, таких как обнаружение служб, сервер конфигурации, журналы, метрики, распределенная трассировка и поддержка средств для разработчиков.

Для изучения примеров развертывания Azure Spring Apps требуется знать только расположение исходного кода, который предоставляется в случае необходимости.

На следующей схеме показана архитектура приложения PetClinic.

Схема, показывающая архитектуру приложения PetClinic.

Примечание.

Если приложение размещено в плане Azure Spring Apps Enterprise, управляемая служба конфигурации приложений для VMware Tanzu принимает роль сервера конфигурации Spring Cloud и управляемый реестр служб VMware Tanzu предполагает роль обнаружения служб Eureka без каких-либо изменений кода в приложении. Дополнительные сведения см. в разделе Службы инфраструктуры, размещенные в Azure Spring Apps далее в этой статье.

Функциональные службы для развертывания

Приложение PetClinic можно разделить на 4 основных приложения Spring. Все они являются независимо развертываемыми приложениями, упорядоченными по бизнес-доменам.

  • Обслуживание клиентов: содержит общую логику приема и проверки данных, вводимых пользователем, включая сведения о питомцах и их владельцах (имя, адрес, город, телефон).
  • Служба посещений: Хранит и отображает сведения о посещениях для комментариев каждого питомца.
  • Служба Vets (Ветеринары): хранит и отображает сведения о ветеринарах, включая имена и специализации.
  • Шлюз API: единая точка входа, используемая для обработки запросов и направления их соответствующей службе или для вызова нескольких служб, а также для статистической обработки результатов. Три основные службы предоставляют клиенту внешний API. В реальных системах количество функций может очень быстро увеличиваться по мере роста сложности самих систем. В отрисовке одной сложной веб-страницы могут участвовать сотни служб.

Службы инфраструктуры, размещенные в Azure Spring Apps

В распределенных системах применяется несколько распространенных схем обеспечения работы основных служб. Azure Spring Apps предоставляет инструменты, которые расширяют возможности приложений Spring Boot для реализации следующих возможностей:

  • Служба конфигурации: Конфигурация Azure Spring Apps — это горизонтально масштабируемая централизованная служба настройки для распределенных систем. Она использует подключаемый репозиторий, который сейчас поддерживает локальное хранилище, Git и Subversion.
  • Обнаружение служб: позволяет автоматически обнаруживать сетевые расположения для экземпляров служб, адреса которых могут назначаться динамически вследствие автоматического масштабирования, сбоев и обновлений.

Конфигурация базы данных

В конфигурации по умолчанию для приложения PetClinic используется база данных, выполняющаяся в памяти (HSQLDB), которая заполняется данными при запуске. Аналогичная схема доступна и для MySQL, если требуется конфигурация с постоянной базой данных. В файлы pom.xml уже включена зависимость для Connector/J, драйвера JDBC MySQL.

Пример использования PetClinic

Полные сведения о реализации см. в нашей версии PetClinic. При необходимости в образцах используются ссылки на исходный код.

Следующие шаги