SpringCloud组件体系更新至2018-9
2021-01-11 11:43:18 0 举报
AI智能生成
Spring cloud 组件体系详解图
作者其他创作
大纲/内容
Spring Cloud GCP
Spring Cloud GCP项目旨在使Spring Framework成为Google Cloud Platform(GCP)的一流公民。
目前,Spring Cloud GCP可以让您利用Spring框架的强大功能和简单性:
发布和订阅Google Cloud Pub / Sub主题
Spring Cloud Function是一个具有以下高级目标的项目:
通过功能促进业务逻辑的实现。
将业务逻辑的开发生命周期与任何特定运行时目标分离,以便相同的代码可以作为Web端点,流处理器或任务运行。
支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。
在无服务器提供商上启用Spring Boot功能(自动配置,依赖注入,指标)。
它抽象出所有传输细节和基础架构,允许开发人员保留所有熟悉的工具和流程,并专注于业务逻辑。
使用一些属性配置Spring JDBC以使用Google Cloud SQL
从Google Cloud Storage备份的Spring Resources写入和读取
使用Google Cloud Pub / Sub在后台与Spring Integration交换消息
使用Spring Cloud Sleuth和Google Stackdriver Trace跟踪应用程序的执行情况
使用由Google Runtime Configuration API备份的Spring Cloud Config配置您的应用程序
通过Spring Integration GCS渠道适配器消费和生成Google云端存储数据
Spring Cloud Function
Spring Cloud Task
Spring Cloud Task允许用户使用Spring Cloud开发和运行短期微服务,并在云中本地运行,甚至在Spring Cloud Data Flow上运行。
只需添加@EnableTask并运行您的应用程序作为Spring Boot应用程序(单个应用程序上下文)。
Spring Cloud Task App Starters
Spring Cloud Task Application Starters是Spring Boot 应用程序,可能是任何进程,包括 不能永久运行的Spring Batch作业,并且它们在某些时候结束/停止。
Spring Cloud Task Applications可与Spring Cloud Data Flow一起使用,以创建,部署和编排短期数据微服务。
Spring Cloud Zookeeper
Spring Cloud Zookeeper 通过自动配置和Spring环境以及其他Spring编程模型习惯用法为Spring Boot应用程序提供Apache Zookeeper集成。
通过一些简单的注释,您可以快速启用和配置应用程序内的公共模式,并使用Zookeeper构建大型分布式系统。提供的模式包括服务发现和分布式配置。
Spring Cloud for Amazon Web Services
Spring Cloud for Amazon Web Services是Spring Cloud伞形项目的一部分,可以简化与托管Amazon Web Services的集成。
它提供了一种使用众所周知的Spring习语和API(如消息传递或缓存API)与AWS提供的服务进行交互的便捷方式。开发人员可以围绕托管服务构建应用程序,而无需关心基础结构或维护。
Spring Cloud Connectors
Spring Cloud Connectors简化了云平台(如Cloud Foundry和Heroku)中连接服务和获取操作环境感知的过程,尤其是Spring应用程序。
它是为可扩展性而设计的:您可以使用提供的云连接器之一或为您的云平台编写一个,并且您可以使用内置支持常用服务(关系数据库,MongoDB,Redis,RabbitMQ)或扩展Spring云连接器可与您自己的服务配合使用。
Spring Cloud Starters
Spring Boot风格的入门项目可以简化Spring Cloud用户的依赖管理。(作为项目停产并在Angel.SR2之后与其他项目合并。)
Spring Cloud CLI
Spring Boot CLI 为Spring Cloud提供Spring Boot命令行功能。您可以编写Groovy脚本来运行Spring Cloud组件应用程序(例如)。
您还可以轻松执行加密和解密等操作,以支持具有秘密配置值的Spring Cloud Config客户端。
使用Launcher CLI,您可以从命令行方便地一次性启动Eureka,Zipkin,Config Server等服务(在开发时非常有用)。@EnableEurekaServer
Spring Cloud Contract
Spring Cloud Contract是一个总体项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。目前,Spring Cloud Contract包含Spring Cloud Contract Verifier项目。
Spring Cloud Contract Verifier是一个支持基于JVM的应用程序的消费者驱动合同(CDC)开发的工具。它附带了用Groovy或YAML编写的合同定义语言(DSL)。
Spring Cloud Gateway
该项目提供了一个用于在Spring MVC之上构建API网关的库。Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到API,并为他们提供横切关注点,例如:安全性,监控/指标和弹性。)
Spring Cloud OpenFeign
项目描述 Corpus callosum,该项目通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供Spring Boot应用程序的OpenFeign集成。
Spring Cloud Pipelines
Spring,Spring Boot和Spring Cloud是允许开发人员加快创建新业务功能的工具。然而,众所周知,该功能只有在生产中才有价值。这就是为什么公司花费大量时间和资源来构建自己的部署管道。
该项目试图解决以下问题:
创建公共部署管道
传播良好的测试和部署实践
加快将功能部署到生产所需的时间
运行,配置和部署应用程序的常用方法可以降低新开发人员在更改项目时融入的支持成本和时间。
目前,我们支持开箱即用的以下CI / CD系统
Concourse
Jenkins
Spring Cloud Vault
Spring Cloud Vault Config为分布式系统中的外部化配置提供客户端支持。
使用HashiCorp的Vault,您可以在所有环境中为应用程序管理外部机密属性。
Vault可以管理静态和动态机密,例如远程应用程序/资源的用户名/密码,并为外部服务提供凭据,如MySQL,PostgreSQL,Apache Cassandra,MongoDB,Consul,AWS等。
SpringCloud组件体系更新至2018-12
Spring Cloud Netflix
通过自动配置和Spring环境以及其他Spring编程模型习惯用法为Spring Boot应用程序提供Netflix OSS集成。
Eureka
服务发现
服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Netflix服务发现服务器和客户端是Eureka。可以将服务器配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。
Hystrix
Hystrix客户端
Netflix的创造了一个调用的库Hystrix实现了断路器图案。在微服务架构中,通常有多层服务调用。
Zuul
路由器和过滤器
路由在微服务体系结构的一个组成部分。例如,/可以映射到您的Web应用程序,/api/users映射到用户服务,/api/shop映射到商店服务。Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器。
Archaius
外部配置
Netflix客户端配置库是Archaius。它是所有Netflix OSS组件用于配置的库。Archaius是Apache Commons配置项目的扩展。它允许通过轮询源进行更改或将源更改推送到客户端来进行配置更新。Archaius使用Dynamic <Type> Property类作为属性的句柄。
Ribbon
客户端负载均衡器
Ribbon是一个客户端负载平衡器,它可以很好地控制HTTP和TCP客户端的行为。Feign已经使用Ribbon,所以如果你使用@FeignClient,那么这一节也适用。
Spring Cloud Config
Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。
Spring Cloud Bus
Spring Cloud Bus使用轻量级消息代理链接分布式系统的节点。然后,这可以用于广播状态改变(例如,配置改变)或其他管理指令。目前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(以及一些更多取决于传输)是其他传输的路线图。
Spring Cloud for Cloud Foundry
Spring Cloud for Cloudfoundry可以轻松地在Cloud Foundry(平台即服务)中运行Spring Cloud应用程序。Cloud Foundry具有“服务”的概念,即“绑定”到应用程序的middlware,实质上为其提供包含凭据的环境变量(例如,用于服务的位置和用户名)。
Spring Cloud Open Service Broker
该项目提供了一个框架,用于构建Spring Boot项目以快速实现Cloud Foundry的服务代理。
Spring Cloud Cluster
Spring Cloud Consul
Spring Cloud Consul 通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供Spring Boot应用程序的Consul集成。
通过一些简单的注释,您可以快速启用和配置应用程序内的常见模式,并使用Hashicorp的Consul构建大型分布式系统。
提供的模式包括服务发现,分布式配置和控制总线。
Spring Cloud Security
Spring Cloud Security提供了一组原语,用于构建安全的应用程序和服务,而且操作简便。
可以在外部(或集中)进行大量配置的声明性模型有助于实现大型协作的远程组件系统,通常具有中央身份管理服务。
它也非常易于在Cloud Foundry等服务平台中使用。在Spring Boot和Spring Security OAuth2的基础上,我们可以快速创建实现常见模式的系统,如单点登录,令牌中继和令牌交换。
Spring Cloud Sleuth
Spring Cloud Sleuth为Spring Cloud实施分布式跟踪解决方案,大量借用Dapper,Zipkin和HTrace。
对于大多数用户来说,侦探应该是隐形的,并且所有与外部系统的交互都应该自动进行检测。您可以简单地在日志中捕获数据,也可以将数据发送到远程收集器服务。
Spring Cloud Data Flow
Spring Cloud Data Flow是用于构建数据集成和实时数据处理管道的工具包。
管道由Spring Boot应用程序组成,使用Spring Cloud Stream或Spring Cloud Task微服务框架构建。
这使得Spring Cloud Data Flow适用于各种数据处理用例,从导入/导出到事件流和预测分析。
Spring Cloud Stream
Spring Cloud Stream是一个用于构建与共享消息传递系统相连的高度可扩展的事件驱动微服务的框架。
该框架提供了基于已经建立和熟悉的Spring习语和最佳实践的灵活编程模型,包括对持久性发布/子语义,使用者组和有状态分区的支持。
Spring Cloud Stream App Starters
Spring Cloud Stream Application Starters是 基于Spring Boot的Spring Integration应用程序,可提供与外部系统的集成。
Spring Cloud Stream应用程序可与Spring Cloud Data Flow一起使用,以创建,部署和编排消息驱动的微服务应用程序。
Spring Cloud - Cloud Foundry Service Broker
Spring Cloud Commons
Spring Cloud Commons提供两个库的功能:Spring Cloud Context和Spring Cloud Commons。Spring Cloud Context为Spring Cloud应用程序的ApplicationContext(引导上下文,加密,刷新范围和环境端点)提供实用程序和特殊服务。
Spring Cloud Commons是一组用于不同Spring Cloud实现的抽象和公共类(例如,Spring Cloud Netflix与Spring Cloud Consul)。
Spring Cloud Skipper
Skipper是一个工具,允许您发现Spring Boot应用程序并管理其在多个云平台上的生命周期。您可以单独使用Skipper或将其与Continuous Integration管道集成,以帮助实现应用程序的持续部署。
系统设计受到Kubernetes生态系统中执行资源模板和/或编排的大量项目的影响,因此受到航海启发的项目名称为Skipper。
Skipper中的应用程序捆绑为包,其中包含模板化配置文件和用于填充模板的默认值集。您可以在安装或升级软件包时覆盖这些默认值。Skipper提供了一种方法来协调不同版本之间的应用程序的升级/回滚过程,采取最小的操作集使系统进入所需状态。
0 条评论
回复 删除
下一页