SpringCloud组件体系简介

简介    

       摘自SpringCloud官网:http://spring.io/projects/spring-cloud

       Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。

核心组件

  1、nginx:负责客户端所有请求的负载均衡
  2、zuul gateway:实现服务请求路由管理,网关管理,鉴权管理
  3、Hystrix:熔断器,实现断路器、服务降级功能。能够在高并发环境中,保护服务的高可用性,健壮性
  4、Robbin:微服务客户端负载均衡组件,根据服务注册列表,采用多种方式请求访问微服务
  5、eureka:spring cloud 微服务注册中心,实现心跳、自动发现和注册,支持微服务无限扩展。
  6、zipkin:微服务监控,能够实时监控请求链路,跟踪链路响应时间,快速找到问题。
  7、stream:结合rabbitmq,实现消息总线功能,屏蔽各种消息队列借口,采用统一的方式实现消息队列。
  8、feign:调用http微服务框架
  9、config:实现微服务配置集中化管理,所有工程配置文件集中在git或svn上进行管理,配合消息总线,可以实时修改微服务    配置。
  10、redis:分布式缓存,支持集群环境下主从配置,高并发环境下,极大减少请求对数据库的压力。
  11、fastdfs:分布式文件存储,提供高性能高可用的文件存储功能。
  12、elk:日志系统,包括elasticsearch、logcat、kibana。elasticsearch是准实时的搜索引擎,logcat是分布式的日志收集    器,kibana是提供日志展示的UI模块。

 

一、特征

Spring Cloud专注于为典型用例提供良好的开箱即用体验,并为其他用户提供可扩展性机制。

  • 分布式/版本化配置

  • 服务注册和发现

  • 路由

  • 服务到服务电话

  • 负载均衡

  • 断路器

  • 全球锁

  • 领导选举和集群国家

  • 分布式消息

Spring Cloud采用了一种非常具有声明性的方法,通常只需更改类路径和/或注释即可获得大量的内容。作为发现客户端的示例应用程序:

@SpringBootApplication
@EnableDiscoveryClient
public class Application {
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

二、主要项目

Spring Cloud Config

由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring,Environment但如果需要,可以由非Spring应用程序使用。

Spring Cloud Netflix

与各种Netflix OSS组件集成(Eureka,Hystrix,Zuul,Archaius等)。

Spring Cloud Bus

用于将服务和服务实例与分布式消息传递链接在一起的事件总线 用于在群集中传播状态更改(例如,配置更改事件)。

Spring Cloud Cloudfoundry

将您的应用程序与Pivotal Cloud Foundry集成。提供服务发现实现,还可以轻松实现受SSO和OAuth2保护的资源。

Spring Cloud Open Service Broker

提供构建实现Open Service Broker API的服务代理的起点。

Spring Cloud Cluster

领导者选举和共同的有状态模式与Zookeeper,Redis,Hazelcast,Consul的抽象和实现。

Spring Cloud Consul

封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Spring Cloud Security

为Zuul代理中的负载平衡OAuth2 rest客户端和身份验证头中继提供支持。

Spring Cloud Sleuth

Spring Cloud应用程序的分布式跟踪,兼容Zipkin,HTrace和基于日志(例如ELK)的跟踪。

Spring Cloud数据流

适用于现代运行时的可组合微服务应用程序的云本机编排服务。易于使用的DSL,拖放式GUI和REST-API共同简化了基于微服务的数据管道的整体编排。

Spring Cloud Data Flow

轻量级事件驱动的微服务框架,可快速构建可连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明模型。

Spring Cloud Stream应用程序启动器

Spring Cloud Stream App Starters是基于Spring Boot的Spring Integration应用程序,可提供与外部系统的集成。

Spring Cloud任务

一种短命的微服务框架,用于快速构建执行有限数据处理的应用程序。用于向Spring Boot应用程序添加功能和非功能功能的简单声明。

Spring Cloud Task App Starters

Spring Cloud Task App Starters是Spring Boot应用程序,可能是任何进程,包括不能永久运行的Spring Batch作业,它们在有限的数据处理期后结束/停止。

Spring Cloud Zookeeper

使用Apache Zookeeper进行服务发现和配置管理。

Spring Cloud AWS

与托管的Amazon Web Services轻松集成。它提供了一种使用众所周知的Spring习语和API(如消息传递或缓存API)与AWS提供的服务进行交互的便捷方式。开发人员可以围绕托管服务构建应用程序,而无需关心基础结构或维护。

Spring云连接器

使各种平台中的PaaS应用程序可以轻松连接到数据库和消息代理(该项目以前称为“Spring Cloud”)等后端服务。

Spring Cloud Starters

Spring Boot风格的入门项目,可以简化Spring Cloud用户的依赖管理。(作为项目停产并在Angel.SR2之后与其他项目合并。)

Spring Cloud CLI

Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序

Spring Cloud Contract

Spring Cloud Contract是一个总体项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。

Spring Cloud Gateway

Spring Cloud Gateway是一款基于Project Reactor的智能可编程路由器。

Spring Cloud OpenFeign

Spring Cloud OpenFeign通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供Spring Boot应用程序的集成。

Spring Cloud Pipelines

Spring Cloud Pipelines提供了一个固定意见的部署管道,其中包含确保您的应用程序可以零停机方式部署并轻松回滚出错的步骤。

Spring Cloud功能

Spring Cloud Function通过函数促进业务逻辑的实现。它支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。

三.Spring Cloud 和 Dubbo比较

è¿éåå¾çæè¿°

Thinkingcao CSDN认证博客专家 Java Spring Boot 架构
CSDN2019年度博客之星、博客专家,专注架构、Java、SpringBoot、SpringCloud、Spring、微服务、分布式等领域
微信搜索公众号:「Thinking曹」,一个执着于架构的JAVA基层码农。
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值