一、SpringCloud 简介
首先看看SpringCloud官方的介绍:
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致样板模式,并且使用Spring Cloud开发人员可以快速站起来实施这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。
————————————————
特性
Spring Cloud专注于为典型用例提供良好的开箱即用经验和扩展机制来涵盖他人。
1.分布式/版本化配置
2.服务注册和发现
3.路由
4.service - to - service调用
5.负载均衡
6.断路器
7.分布式消息传递
官方文档:http://projects.spring.io/spring-cloud/
中文文档:https://springcloud.cc/
二、SpringCloud常用组件成员
Spring Cloud Netflix
Netflix Eureka (服务注册及发现)
Netflix Hystrix (熔断器,容错管理工具)
Netflix Zuul (动态路由,监控,弹性,安全)
Netflix Archaius (配置管理)
Spring Cloud Config (配置中心,配置管理工具包)
Spring Cloud Bus (事件、消息总线)
三、SpringCloud与SpringBoot的关系
Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置。
SpringCloud是基于SpringBoot的,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。
四、为什么用SpringCloud
前几年,基本上都是使用Dubbo作为开发微服务的框架,毕竟是阿里巴巴出品,现如今主流开始慢慢变为SpringCloud,至于原因的话。
1. Dubbo团队之前不维护了,现在已经开始维护了,但是SpringCloud社区活跃,更新迭代快。
2. SpringCloud与Spring体系紧密,学习使用成本低。
3. SpringCloud功能更强大,Dubbo相当于SpringCloud的子集,虽然Dubbo也能与第三方集成实现SpringCloud的功能。