Spring Cloud упрощает подключение к сервисам и получение возможностей окружения в облачных платформах,
таких как Cloud Foundry и Heroku. Особая поддержка Spring-приложений через Java и XML конфигурации делает
подключение к облачным сервисам тривиальной задачей. Вы можете использовать существующие облачные
коннекторы(Cloud Foundry и Heroku) или написать собственный для вашей облачной платформы. Пока что
"из коробки" поддерживаются наиболее популярные сервисы(реляционные СУБД, MongoDB, Redis, Rabbit),
но также возможно расширение для ваших сервисов. Ни один из сервисов не требует изменения самого
Spring Cloud, достаточно просто добавить необходимую вам jar-библиотеку в область видимости classpath.
Spring Cloud использует следующие основные концепции:
Cloud Connector: Интерфейс, через который можно реализовать облачный провайдер,
чтобы дать возможность библиотекам работать с облачной платформой
Service Connector: Объект, подобный javax.sql.DataSource, представляющий собой соединение как сервис
Service information: Информация о сервисе - хост, порт, параметры доступа
Application information: Информация о приложении и сведения о подключенных библиотеках
Возможности
Spring Cloud ориентирован на предоставлении необходимого функционала "из коробки" в большинстве случаев,
а также механизм раширений для других. Существуют два пути расширения:
Java и XML конфигурация для Spring-приложений: Простые пути создания бинов для сервисов в приложении
Расширение облачной платформы: Используя Cloud Connector, возможно расширение Spring Cloud
для других облачных платформ
Service Information и расширение Connector: Spring Cloud позволяет соединяться с различными
типами сервисов настолько долго, пока есть возможность получать информацию о соединении из
приложений операционной системы и, при неоходимостти, преоразовать в service connector
Проект состоит из:
Spring Cloud Core:
Основная библиотека, которая не зависит от облака и Spring
Spring Cloud Service Connector for Spring:
Библиотека, которая предоставляет коннекторы для создания javax.sql.DataSource объектов и различные "фабрики" для Spring-проектов
Рекомендованный путь для начального использования spring-cloud в вашем проекте
с использованием системы управления зависимостями – скопировать фрагмент кода ниже и вставить
в вашу конфигурацию сборки. Нужна помощь? Ознакомьтесь с нашими руководствами по созданию приложений
с использованием Maven и
Gradle.
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-spring-service-connector</artifactId> <version>1.0.0.RELEASE</version> </dependency> <!-- Если вы намерены развернуть приложение в Cloud Foundry, добавьте ниже приведенное --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-cloudfoundry-connector</artifactId> <version>1.0.0.RELEASE</version> </dependency> <!-- Если вы намерены развернуть приложение в Heroku, добавьте ниже приведенное --> <!-- Это нормально, если вы добавите несколько коннекторов, нужный будет выбран в процессе выполнения --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-heroku-connector</artifactId> <version>1.0.0.RELEASE</version> </dependency> </dependencies>
dependencies {
compile("org.springframework.cloud:spring-cloud-spring-service-connector:1.0.0.RELEASE")
//Если вы намерены развернуть приложение в Cloud Foundry, добавьте ниже приведенное
compile("org.springframework.cloud:spring-cloud-cloudfoundry-connector:1.0.0.RELEASE")
//Если вы намерены развернуть приложение в Heroku, добавьте ниже приведенное
compile("org.springframework.cloud:spring-cloud-heroku-connector:1.0.0.RELEASE")
//Это нормально, если вы добавите несколько коннекторов, нужный будет выбран в процессе выполнения
}