Адрес фактического проекта электронной коммерции SpringBoot (20k+star):GitHub.com/macro-positive/…
Что такое SpringCloud
Цель
Оркестрируйте любой сервис и упростите разработку распределенной системы.
Введение
Создание распределенной системы не должно быть сложным. SpringCloud предоставляет простую в использовании модель программирования для общих шаблонов распределенных систем, помогая разработчикам создавать гибкие, надежные и скоординированные приложения. SpringCloud построен на основе SpringBoot, что позволяет разработчикам легко начать работу и быстро повысить свою производительность. SpringCloud предоставляет разработчикам инструменты для быстрого создания архитектуры распределенных систем, такие как управление конфигурацией, обнаружение сервисов, автоматические выключатели, интеллектуальная маршрутизация, микропрокси, управляющая шина, одноразовые токены, глобальная блокировка, выбор лидера, распределенные сеансы, состояние кластеров и т. д. и Т. Д.
Общая структура
Связь версии SpringCloud
SpringCloud — это комплексный проект, состоящий из множества подпроектов, каждый из которых имеет разный ритм выпуска. Чтобы управлять зависимостями версий между SpringCloud и каждым подпроектом, выпускается список, который включает версию подпроекта, соответствующую версии SpringCloud. Чтобы избежать путаницы между номерами версий SpringCloud и номерами версий подпроектов, версии SpringCloud именуются именами, а не номерами версий.Имена этих версий используют названия станций лондонского метрополитена, а хронологический порядок версий соответствует порядку алфавита, например, «Ангел» — первая версия, «Брикстон» — вторая версия. Когда содержимое выпуска SpringCloud достигает критической точки или устраняется серьезная ошибка, будет выпущена версия «служебных выпусков», называемая версией SRX. Например, Greenwich.SR2 — это вторая версия SRX Greenwich. версия, выпущенная SpringCloud.
Соответствие версий SpringCloud и SpringBoot
SpringCloud Version | SpringBoot Version |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |
Соответствие между SpringCloud и каждой версией подпроекта
Component | Edgware.SR6 | Greenwich.SR2 |
---|---|---|
spring-cloud-bus | 1.3.4.RELEASE | 2.1.2.RELEASE |
spring-cloud-commons | 1.3.6.RELEASE | 2.1.2.RELEASE |
spring-cloud-config | 1.4.7.RELEASE | 2.1.3.RELEASE |
spring-cloud-netflix | 1.4.7.RELEASE | 2.1.2.RELEASE |
spring-cloud-security | 1.2.4.RELEASE | 2.1.3.RELEASE |
spring-cloud-consul | 1.3.6.RELEASE | 2.1.2.RELEASE |
spring-cloud-sleuth | 1.3.6.RELEASE | 2.1.1.RELEASE |
spring-cloud-stream | Ditmars.SR5 | Fishtown.SR3 |
spring-cloud-zookeeper | 1.2.3.RELEASE | 2.1.2.RELEASE |
spring-boot | 1.5.21.RELEASE | 2.1.5.RELEASE |
spring-cloud-task | 1.2.4.RELEASE | 2.1.2.RELEASE |
spring-cloud-gateway | 1.0.3.RELEASE | 2.1.2.RELEASE |
spring-cloud-openfeign | Нет | 2.1.2.RELEASE |
Примечание. Версия Greenwich создана на основе SpringBoot версии 2.1.x и не работает с версией 1.5.x. Поскольку версия SpringBoot 1.5.x не будет поддерживаться в августе 2019 года, версия Edgware также не будет поддерживаться.
Введение в подпроекты SpringCloud
Spring Cloud Config
Централизованный инструмент управления конфигурацией, унифицированное внешнее управление конфигурацией в распределенных системах, Git используется по умолчанию для хранения конфигурации и может поддерживать операции обновления, шифрования и расшифровки клиентской конфигурации.
Spring Cloud Netflix
Интеграция компонентов с открытым исходным кодом Netflix OSS, включая Eureka, Hystrix, Ribbon, Feign, Zuul и другие основные компоненты.
- Eureka: компонент управления службами, включая реестр на стороне сервера и механизм обнаружения службы на стороне клиента;
- Лента: компонент вызова службы балансировки нагрузки с несколькими стратегиями вызова балансировки нагрузки;
- Hystrix: сервисный отказоустойчивый компонент, реализующий режим автоматического выключателя и обеспечивающий отказоустойчивость к ошибкам и задержкам зависимых сервисов;
- Feign: компонент декларативного вызова службы на основе Ribbon и Hystrix;
- Zuul: компонент шлюза API, обеспечивающий функции маршрутизации и фильтрации запросов.
Spring Cloud Bus
Шина сообщений для распространения изменений состояния кластера с использованием облегченных брокеров сообщений для связывания узлов в распределенной системе и может использоваться для динамического обновления конфигураций служб в кластере.
Spring Cloud Consul
Компонент управления услугами на основе Hashicorp Consul.
Spring Cloud Security
Набор инструментов безопасности, который поддерживает балансировку нагрузки клиентов OAuth2 и аутентификацию при входе в прокси-сервер Zuul.
Spring Cloud Sleuth
Распределенная трассировка цепочки запросов для приложений SpringCloud, поддерживающая трассировку с использованием Zipkin, HTrace и на основе журналов (например, ELK).
Spring Cloud Stream
Облегченная среда микрослужб, управляемая событиями, которая может использовать простую декларативную модель для отправки и получения сообщений, в основном реализованная как Apache Kafka и RabbitMQ.
Spring Cloud Task
Платформа микросервисов для быстрого создания краткосрочных ограниченных задач обработки данных для добавления функциональных и нефункциональных функций в приложения.
Spring Cloud Zookeeper
Компонент управления сервисом на основе Apache Zookeeper.
Spring Cloud Gateway
Компонент шлюза API обеспечивает функции маршрутизации и фильтрации запросов.
Spring Cloud OpenFeign
Компоненты декларативного вызова службы, основанные на Ribbon и Hystrix, могут динамически создавать реализации интерфейса на основе аннотаций Spring MVC для вызова службы.В SpringCloud 2.0 Feign был заменен как первоклассный гражданин.
следовать за
Последующая серия руководств по SpringCloud будет объясняться с использованием последней версии SpringCloud, Greenwich.SR2, так что следите за обновлениями!
публика
проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на публичный аккаунтПолучите это прямо сейчас.