Введение в Spring Cloud
Spring Cloud - это библиотека с открытым исходным кодом, которая предоставляет инструменты для быстрой разработки приложений на основе JVM для облака. Позволяет приложениям подключаться к различным сервисам. Spring Cloud позволяет разработчикам быстро создавать различные приложения и сервисы, которые могут реализовывать общие схемы, такие как интеллектуальная маршрутизация, состояние кластера, распределенные сеансы, глобальные блокировки, управление конфигурацией шины управления и т. Д. В распределенных системах. Они могут легко работать в любой среде, от ваших обычных ПК до различных управляемых платформ. Таким образом, его можно распространить на любую другую облачную платформу.
Особенности Spring Cloud
Spring Cloud обеспечивает лучший опыт и расширяемый механизм, чем другие. Основные особенности Spring Cloud:
- Распределенная конфигурация
- Распределенный обмен сообщениями
- сервисные звонки
- Предохранители
- Глобальные замки
- Служба регистрации
- Сервис Discovery
- Балансировка нагрузки
- Состояние кластера
- Маршрутизация
Почему мы должны требовать Spring Cloud?
При разработке распределенных микросервисов с использованием Spring Boot мы сталкиваемся со следующими проблемами:
- Проблемы с производительностью . Различные эксплуатационные накладные расходы плохо влияют на производительность.
- Сложность в развертывании: требуются навыки DevOps.
- Резервирование. Распределенная система часто сталкивается с проблемами резервирования.
- Балансировка нагрузки: распределение нагрузки по различным вычислительным ресурсам улучшено с помощью балансировки нагрузки.
- Сложности распределенной системы. Сложности включают проблемы пропускной способности, проблемы сети, проблемы безопасности, задержки и т. Д.
- Инструменты каталогов служб. Эти инструменты позволяют процессам и службам в одном кластере взаимодействовать друг с другом.
Как это работает?
Ниже приведено объяснение того, как работает Spring Cloud:
- Конфигурация Spring Cloud предоставляет клиентскую и серверную поддержку для различных конфигураций в распределенных системах.
- Он предоставляет централизованную платформу для управления различными свойствами для всех приложений в разных средах.
- Концепция сервера и клиента одинаково сопоставляется с абстракциями Property Source и приложениями Spring.
- Они корректно работают с приложениями Spring и могут использоваться с различными приложениями на любом языке.
- Он позволяет вам управлять и настраивать все среды, когда приложения проходят через конвейеры развертывания от разработки до тестирования.
- Он также обеспечивает все потребности приложений при их переносе.
- Добавить и подключить альтернативные реализации с помощью Spring Cloud Config очень просто.
- Приложения Spring Boot
spring.cloud.config.uri ie http://localhost:8888/
значению по умолчаниюspring.cloud.config.uri ie http://localhost:8888/
пока Spring Config Client и Spring Boot Actuator не окажутся в пути к классам. - Вы можете изменить
value spring.cloud.config.uri
по умолчанию.value spring.cloud.config.uri
может быть установлено вbootstrap.(yml | properties)
или в системных свойствах.
Код:
@Configuration
@EnableAutoConfiguration
@RestController
public class DemoApplication (
@Value("$(config.name)")
String str = "Cloud";
@RequestMapping("/")
public String new() (
return "Spring " + str;
)
public static void main(String() args) (
SpringApplication.run(DemoApp.class, args);
)
)
- Локальная конфигурация или удаленный сервер конфигурации могут предоставить значение для имени.
- Вы можете попробовать запустить свой собственный сервер, используя spring-cloud-config-server.
- Чтобы запустить приложение через порт 8888, вы можете установить
spring.config.name=configserver
а затем данныеspring.config.name=configserver
из примеров репозиториев. - Чтобы найти необходимые данные конфигурации, вам может понадобиться
spring.cloud.config.server.git.uri
Настройка Spring Cloud
Ниже приведены следующие шаги:
Шаг 1. Откройте веб-сайт https://start.spring.io/ и выберите
Шаг 2: Выберите Spring Boot 1.4.X.
Шаг 3: Артефакты должны быть установлены в «config».
Шаг 4: Добавьте модуль сервера конфигурации из раздела зависимостей.
Шаг 5: Нажмите кнопку «Создать», чтобы загрузить предварительно настроенный проект, содержащий ZIP-файл.
Шаг 6: Вы также можете создать проект Spring Boot, добавив зависимости в файл POM вручную.
Шаг 7: Эти зависимости могут быть разделены между всеми проектами.
Код:
org.springframework.boot
spring-boot-starter-parent
1.4.0.RELEASE
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
Brixton.SR5
pom
import
org.springframework.boot
spring-boot-maven-plugin
Шаг 8: Зависимости для «config server» ниже:
Код:
org.springframework.cloud
spring-cloud-config-server
Шаг 9: Класс Application должен быть добавлен со следующим, чтобы включить Config Server, как упоминалось в предыдущем примере:
Код:
@SpringBootApplication
@EnableConfigServer
public class DemoApplication (
…
)
Шаг 10: «Свойства приложения» должны быть добавлены в src / main / resources.
Код:
server.port = 8888
spring.application.name = config
spring.cloud.config.server.git.uri = file://$(user.home)/application-config
Шаг 11: Параметр Uri является одним из наиболее важных параметров для «сервера конфигурации».
Шаг 12. В Windows параметр Uri обычно добавляется в относительный путь, который разрешается в C:\users\\. And on Linux, it is /users//.
C:\users\\. And on Linux, it is /users//.
Шаг 13: Все файлы свойств для различных приложений хранятся в указанном выше репозитории Git.
Шаг 14: Затем необходимо добавить папку «application-config» в папку cloud.config.server.git.uri.
Шаг 15: Перейдите в эту папку с помощью команды 'cd' и введите git init.
Шаг 16. Теперь будет запущен Git-репозиторий, который позволит вам хранить и отслеживать ваши файлы.
Шаг 17: Запустите сервер конфигурации, чтобы проверить, работает ли он.
Шаг 18: Введите mvn spring-boot: run в командной строке, чтобы запустить сервер.
Шаг 19: Следующий вывод будет рассматриваться как указание для успешного запуска сервера:
Tomcat started on port(s): 8888 (http)
Шаг 20: Сервер конфигурации управляет свойствами приложения на серверах.
Шаг 21. На серверах свойства каждого приложения должны быть настроены таким образом, чтобы они могли общаться с сервером.
Шаг 22: Этот процесс является процессом начальной загрузки. Каждое из приложений должно иметь файл с именем properties.
Шаг 23: Он содержит свойства, аналогичные свойствам приложения, с небольшими отличиями.
Шаг 24: Свойства изначально загружаются родительской пружиной, называемой Application Context.
Шаг 25. Как это важно, сервер конфигурации запустит управление свойствами свойств.
Шаг 26: Контекст приложения также расшифрует зашифрованные свойства.
Шаг 27: Эти свойства должны быть различны.
Шаг 28: Свойства запускают сервер конфигурации и готовят его.
Шаг 29: Свойства указывают свойства для вашего приложения.
Шаг 30: Технически свойства приложения также могут быть размещены в свойствах.
Шаг 31: Хотя серверы конфигурации отвечают за управление свойствами приложения, нам все равно понадобятся свойства, так как они доступны в качестве значений по умолчанию и недоступны на серверах конфигурации.
Вывод
Различные части Spring Cloud могут быть объединены в функциональное приложение Microservice. Это базовая платформа, которая позволяет создавать различные сложные приложения. Spring Cloud позволяет создавать мощные облачные приложения. Все проблемы, с которыми сталкиваются распределенные среды, решаются с помощью Spring Cloud.
Рекомендуемые статьи
Это руководство к Что такое Spring Cloud? Здесь мы обсуждаем особенности, его требования, как это работает и пошаговую настройку Spring Cloud. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-
- Что такое Spring Boot?
- Что такое Salesforce Sales Cloud?
- Что такое дефект?
- Что такое Git Branch?
- Компоненты Spring Cloud