SpringBoot(十四):SpringCloud初步認識

SpringCloud是一個基於SpringBoot實現的雲應用開發工具,它爲開發人員提供了一些工具來快速構建分佈式系統中的一些常見模式(例如配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領導層選舉,分佈式會話,羣集狀態等)。分佈式系統的協調致使了鍋爐板模式,使用Spring Cloud開發人員能夠快速創建實現這些模式的服務和應用程序。它們在任何分佈式環境中都能很好地工做,包括開發人員本身的筆記本電腦、裸機數據中心和雲計算(Cloud Foundry)等託管平臺。git

特性

Spring Cloud致力於爲典型用例提供良好的開箱即用體驗,並提供覆蓋其餘用例的擴展機制。spring

Distributed/versioned configuration(分佈式/版本化配置)數據庫

Service registration and discovery(服務註冊和發現)apache

Routing(路由)編程

Service-to-service calls(服務到服務呼叫)後端

Load balancing(負載均衡)api

Circuit Breakers(斷路器)緩存

Global locks(全局鎖)服務器

Leadership election and cluster state(領導選舉與集羣狀態管理)app

Distributed messaging(分佈式消息傳遞)

Spring Cloud採用了一種很是聲明性的方法,一般您只需更改類路徑和/或註釋就能夠得到不少特性。

主要項目

SpringCloud包含多個子系統(針對分佈式系統中涉及的多個不一樣的開源產品),好比:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等項目。

 

Spring Cloud Config 

Centralized external configuration management backed by a git repository. The configuration resources map directly to Spring Environment but could be used by non-Spring applications if desired.

由git存儲庫支持的集中式外部配置管理。配置資源直接映射到spring環境,但若是須要,能夠由非spring應用程序使用。

 

Spring Cloud Netflix

 Integration with various Netflix OSS components (Eureka, Hystrix, Zuul, Archaius, etc.).

集成各類Netflix OSS組件(Eureka、Hystrix、Zuul、Archaius等)。

 

Spring Cloud Bus

An event bus for linking services and service instances together with distributed messaging. Useful for propagating state changes across a cluster (e.g. config change events).

用於將服務和服務實例與分佈式消息傳遞連接在一塊兒的事件總線。用於在羣集上傳播狀態更改(例如配置更改事件)。

 

Spring Cloud Cloudfoundry

Integrates your application with Pivotal Cloud Foundry. Provides a service discovery implementation and also makes it easy to implement SSO and OAuth2 protected resources.

將應用程序與Pivotal Cloud Foundry集成。提供服務發現實現,並使實現sso和oauth2保護的資源變得容易。

 

Spring Cloud Open Service Broker

Provides a starting point for building a service broker that implements the Open Service Broker API.

提供構建實現開放式Service Broker API的Service Broker的起點。

 

Spring Cloud Cluster

Leadership election and common stateful patterns with an abstraction and implementation for Zookeeper, Redis, Hazelcast, Consul.

領導選舉和公共狀態模式,具備ZooKeeper、Redis、Hazelcast、Consul的抽象和實現。

 

Spring Cloud Consul

Service discovery and configuration management with Hashicorp Consul.

使用Hashicorp Consul進行服務發現和配置管理。

 

Spring Cloud Security

Provides support for load-balanced OAuth2 rest client and authentication header relays in a Zuul proxy.

提供對zuul代理中負載平衡的oauth2 rest客戶端和身份驗證頭中繼的支持。

 

Spring Cloud Sleuth

Distributed tracing for Spring Cloud applications, compatible with Zipkin, HTrace and log-based (e.g. ELK) tracing.

spring雲應用程序的分佈式跟蹤,與Zipkin、HTrace和基於日誌(例如ELK)的跟蹤兼容。

 

Spring Cloud Data Flow

A cloud-native orchestration service for composable microservice applications on modern runtimes. Easy-to-use DSL, drag-and-drop GUI, and REST-APIs together simplifies the overall orchestration of microservice based data pipelines.

現代運行時上可組合微服務應用程序的雲本機編排服務。易於使用的dsl、拖放GUI和restapi一塊兒簡化了基於微服務的數據管道的整體編排。

 

Spring Cloud Stream

A lightweight event-driven microservices framework to quickly build applications that can connect to external systems. Simple declarative model to send and receive messages using Apache Kafka or RabbitMQ between Spring Boot apps.

一個輕量級事件驅動的微服務框架,用於快速構建能夠鏈接到外部系統的應用程序。使用Apache Kafka或RabbitMQ在SpringBoot應用程序之間發送和接收消息的簡單聲明模型。

Spring雲流應用程序啓動程序

 

Spring Cloud Stream App Starters

Spring Cloud Stream App Starters are Spring Boot based Spring Integration applications that provide integration with external systems.

Spring Cloud Stream App Starters是基於spring boot的spring集成應用程序,提供與外部系統的集成。

 

Spring Cloud Task

A short-lived microservices framework to quickly build applications that perform finite amounts of data processing. Simple declarative for adding both functional and non-functional features to Spring Boot apps.

一個短命的微服務框架,用於快速構建執行有限數據處理的應用程序。用於向Spring Boot應用程序添加功能性和非功能性功能的簡單聲明式。

 

Spring Cloud Task App Starters

Spring Cloud Task App Starters are Spring Boot applications that may be any process including Spring Batch jobs that do not run forever, and they end/stop after a finite period of data processing.

Spring Cloud Task App Starters是spring boot應用程序,能夠是任何進程,包括不會永遠運行的spring batch做業,它們在有限的數據處理週期後結束/中止。

 

Spring Cloud Zookeeper

Service discovery and configuration management with Apache Zookeeper.

使用apache zookeeper進行服務發現和配置管理。

 

Spring Cloud AWS

Easy integration with hosted Amazon Web Services. It offers a convenient way to interact with AWS provided services using well-known Spring idioms and APIs, such as the messaging or caching API. Developers can build their application around the hosted services without having to care about infrastructure or maintenance.

與託管的Amazon Web服務輕鬆集成。它提供了一種使用衆所周知的spring習慣用法和api(好比消息傳遞或緩存api)與aws提供的服務交互的便捷方式。開發人員能夠圍繞託管服務構建應用程序,而沒必要關心基礎設施或維護。

 

Spring Cloud Connectors

Makes it easy for PaaS applications in a variety of platforms to connect to backend services like databases and message brokers (the project formerly known as "Spring Cloud").

使各類平臺中的paas應用程序很容易鏈接到後端服務,如數據庫和消息代理(之前稱爲「spring cloud」的項目)。

 

Spring Cloud Starters

Spring Boot-style starter projects to ease dependency management for consumers of Spring Cloud. (Discontinued as a project and merged with the other projects after Angel.SR2.)

spring boot風格的starter項目能夠簡化spring cloud用戶的依賴管理。(做爲項目停止,並在Angel.SR2以後與其餘項目合併。)

 

Spring Cloud CLI

Spring Boot CLI plugin for creating Spring Cloud component applications quickly in Groovy

用於在groovy中快速建立spring cloud組件應用程序的spring boot cli插件

 

Spring Cloud Contract

Spring Cloud Contract is an umbrella project holding solutions that help users in successfully implementing the Consumer Driven Contracts approach.

Spring Cloud Contract是一個傘形項目,它擁有幫助用戶成功實現消費者驅動的合同方法的解決方案。

 

Spring Cloud Gateway

Spring Cloud Gateway is an intelligent and programmable router based on Project Reactor.

Spring Cloud Gateway是一種基於Project Reactor的智能可編程路由器。

 

Spring Cloud OpenFeign

Spring Cloud OpenFeign provides integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.

Spring Cloud OpenFeign經過自動配置、綁定到spring環境和其餘spring編程模型習慣用法,爲spring啓動應用程序提供集成。

 

Spring Cloud Pipelines

Spring Cloud Pipelines provides an opinionated deployment pipeline with steps to ensure that your application can be deployed in zero downtime fashion and easilly rolled back of something goes wrong.

Spring Cloud Pipelines提供了一個執拗己見的部署管道,其中包含了一些步驟,以確保您的應用程序可以以零停機時間的方式部署,而且能夠輕鬆地回滾錯誤。

 

Spring Cloud Function

Spring Cloud Function promotes the implementation of business logic via functions. It supports a uniform programming model across serverless providers, as well as the ability to run standalone (locally or in a PaaS).

Spring Cloud Function經過函數來促進業務邏輯的實現。它支持跨無服務器提供者的統一編程模型,以及獨立運行(本地或在paas中)的能力。

 

目前這麼多項目怎麼用還不清楚,暫時先只瞭解他們的一個大概功能,後邊再逐個瞭解掌握。

相關文章
相關標籤/搜索