文章目录
- 简介
- 什么是微服务?
- SpringCloud 技术维度
- Spring Cloud Config
- Spring Cloud Netflix
- Spring Cloud Bus
- Eureka
- Hystrix
- Zuul
- Archaius
- Consul
- Spring Cloud Sleuth
- Spring Cloud Data Flow
- Spring Cloud Security
- Spring Cloud Zookeeper
- Spring Cloud Stream
- Spring Cloud CLI
- Ribbon
- Feign
- Spring Cloud Task
- Spring Cloud Connectors
- Spring Cloud Cluster
- Spring Cloud Starters
- Spring Cloud for Cloud Foundry
- Turbine
- SpringCloud 技术栈
简介
什么是微服务?
微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于 HTTP 协议的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制。对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建
SpringCloud == 分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶
SpringCloud 技术维度
Spring Cloud Config
由 git 存储库支持的集中式外部配置管理。 配置资源直接映射到 Spring Environment,但是如果需要,可以由非 Spring 应用程序使用
Spring Cloud Netflix
与各种Netflix OSS组件(Eureka,Hystrix,Zuul,Archaius等)集成
Spring Cloud Bus
事件总线,用于将服务和服务实例与分布式消息传递链接在一起。 对于在整个群集中传播状态更改(例如配置更改事件)很有用
Eureka
云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移
Hystrix
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力
Zuul
Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门
Archaius
配置管理 API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能
Consul
封装了 Consul 操作,Consul 是一个服务发现与配置工具,与 Docker 容器可以无缝集成
Spring Cloud Sleuth
日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为SpringCloud 应用实现了一种分布式追踪解决方案
Spring Cloud Data Flow
大数据操作工具,作为 Spring XD 的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式
Spring Cloud Security
基于 Spring Security 的安全工具包,为你的应用程序添加安全控制
Spring Cloud Zookeeper
操作Zookeeper的工具包,用于使用 Zookeeper 方式的服务发现和配置管理
Spring Cloud Stream
数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息
Spring Cloud CLI
基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件
Ribbon
提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
Feign
Feign 是一种声明式、模板化的 HTTP 客户端
Spring Cloud Task
提供云端计划任务管理、任务调度
Spring Cloud Connectors
便于云端应用程序在各种 PaaS 平台连接到后端,如:数据库和消息代理服务
Spring Cloud Cluster
提供 Leadership 选举,如:Zookeeper、Redis、 Hazelcast、 Consul 等常见状态模式的抽象和实现
Spring Cloud Starters
SpringBoot 式的启动项目,为 SpringCloud 提供开箱即用的依赖管理
Spring Cloud for Cloud Foundry
通过 Oauth2 协议绑定服务到 CloudFoundry,CloudFoundry 是 VMware 推出的开源 PaaS 云平台
Turbine
Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下 Hystrix 的 Metrics 情况
SpringCloud 技术栈