Spring Cloud介绍
一、Spring Cloud 是什么
Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和
集群状态)操作的开发工具
Spring Cloud 是一整套微服务的组件、工具集
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
二、Spring Cloud 组成
Spring Cloud的子项目,大致可分成两类:
一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;
第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。
对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
1. Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
2. Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
3. Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装
4. Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用
5. Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
三、Spring Cloud 特性
1. 是一套完整的分布式系统解决方案,它的子项目涵盖了所有实现布式系统所需要的基础软件设施
2. 基于Spring Boot, 使得开发部署极其简单(加依赖,加注解,就能运行了)
spring-boot 是一套完整的企业级应用的开发方案,天然集成分布式云架构 spring-cloud
四、Spring Cloud 优点
从框架的完整度来看,Dubbo只是实现了服务治理(注册 发现等),而Spring Cloud下面有很多个子项目覆盖了微服务架构下的方方面面,服务治理只是其中的一
个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。如果选择Spring Cloud,基本上每个环节都已经有了对应的组件支持,可能有些也不一定
能满足你所有的需求,但是其活跃的社区与快速的迭代更新也会让你没有后顾之忧。