Spring Cloud 是一个基于 Spring Boot 实现的微服务架构开发工具,可以快速构建分布式系统中的某些常用模式,如配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式回话和集群状态管理等等。Spring Cloud致力于为典型的用例和扩展机制提供良好的开箱即用体验,以涵盖其他用例。
配置管理工具,支持使用 git 存储配置内容,可以使用它实现把配置存储在外部的远程服务器上,并支持客户端配置信息刷新、加密/解密配置内容等。方便统一管理、统一升级更新。
核心组件,对多个 Netflix OSS 开源套件进行整合。
事件、消息总线,用于传播集群中的状态变化或事件,以触发后续的处理,比如用来动态刷新配置等。
针对 Zookeeper, Redis, Hazelcast, Consul 等常见状态模式的抽象和实现。
通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul支持服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等特性。
数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
安全工具包,提供 Zuul 代理中对 OAuth2 客户端请求的中继器。
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。
提供云端计划任务管理、任务调度。
便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。
Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。
基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
更多......
为什么我们要选择使用 Spring Cloud?
1.全面性, Spring Cloud 提供了微服务架构实施的综合性解决框架,不像其他一些框架只解决微服务中的某一个问题。
2.可靠性,Spring 背景强大,Spring Cloud 整合了诸多被广泛实践和证明过的框架作为实施的基础部件,又在该体系基础上创建了一些非常优秀的边缘组件。
3.便捷性,轻轻松松几行代码就完成了熔断、均衡负载、服务治理等各种平台功能,且开箱即用。
4.活跃性,很多国内外的技术公司都在贡献着他们的智慧,如国内alibaba等。而且 Spring Cloud 作为当今热门,教程也是非常丰富,遇到问题也容易找到解决方案。
5.低成本性,对于很多中小型企业来说,如果自己去构建和维护一套微服务架构,需要考虑的设计和成本并不小,且不一定有这个实力,而 Spring Cloud 的一站式解决方案大大减少了这方面的成本。