Many of those features are covered by Spring Boot, on which Spring Cloud builds. Some more features are delivered by Spring Cloud as two libraries: Spring Cloud Context and Spring Cloud Commons. Spring Cloud Context provides utilities and special services for the ApplicationContext of a Spring Cloud application (bootstrap context, encryption, refresh scope, and environment endpoints). Spring Cloud Commons is a set of abstractions and common classes used in different Spring Cloud implementations (such as Spring Cloud Netflix and Spring Cloud Consul).
笔者翻译:
这些功能(就是上面列举的功能)大部分是由Spring Boot覆盖的,而Spring Cloud基于Spring Boot构建。Spring Cloud作为两个libraries提供了更多的功能。这两个libraries分别是,Spring Cloud Context和Spring Cloud Commons。
其中Spring Cloud Context提供了一些工具,以及一个Spring Cloud应用的ApplicationContext的特殊服务,比如bootstrap上下文(关于这个家伙,后面有机会笔者会详细介绍)、加密、刷新、环境端点这些功能。
而Spring Cloud Commons则是一组抽象和在不同Spring Cloud实现(比如Spring Cloud Netflix和Spring Cloud Consul)中使用的通用类。
可以看出,Spring Cloud其实是一套规范,而不是一个可以拿来即用的框架,而Spring Cloud Netflix以及Spring Cloud Consul,才是Spring Cloud规范的实现。
当然了,从今天开始,Spring Cloud的实现又多了一种,Spring Cloud Alibaba,-_-。
那么,接下来,咱们就来谈谈Spring Cloud Alibaba。
让微服务领域变天的Spring Cloud Alibaba
文章的标题起的有点欠抽,不过笔者本人始终信奉一句话,管它三七二十一,先吹了再说,-_-。
看过前面内容的同学,应该已经非常清楚的知道,Spring Cloud Alibaba和Spring Cloud的关系,Spring Cloud Alibaba(以下简称SCA)和Spring Cloud Netflix(以下简称SCN)一样,都是Spring Cloud规范的一套实现。
为什么笔者要扯上SCN?
因为所谓的“变天”,其实就和SCN有关。
虽然这句话说出来可能火药味有点浓,但笔者还是要说,SCA的宗旨,就是要替代SCN,成为Spring Cloud规范的默认实现方案,有种宫廷剧嫔妃争宠的既视感,-_-。
为什么笔者会有如此信心?这其实并不是盲目的自信,而是有据可依的。
首先,不得不承认的是,目前绝大多数的Spring Cloud开发者,使用的都是SCN,但这些开发者大部分都有一个特点,那就是规模和流量都较小,一般能有20个微服务左右的规模,已经算是比较大的了。
但是SCA中的组件,基本都是由阿里内部中间件转化而来,经历过多次双十一的考验,这也就意味着,SCA有着充足的场景,验证了它对于高并发的抗压能力。
当然了,SCN或许也有这样的客户,只是笔者不知道而已,但这并不妨碍SCA的强大,因为十几亿人口的大国,全世界都没有几个,而中国是其中一个,因此,双十一所面对的流量高峰,足以让全世界颤抖。
此外,仅从国内来说,SCA在地域和语言上也有着绝对的优势,毕竟,SCA有中文文档,而相信绝大多数没有自虐倾向的程序员,还是更倾向于看中文文档,而不是英文吧,-_-。
最后,从各个组件上来说,SCA也有很多优势,不过因为内容太多,此处不再详表,后续笔者会专门写文章去逐个组件对比介绍。
因此,笔者对SCA的未来还是非常看好的。
不过说了这么多,有的同学可能要抱怨了,“我信你个鬼,你这个死作者坏得很,只顾吹牛,SCA到底都有啥啊?到现在都没说。”
咳咳,接下来,笔者就简单罗列下,当前SCA版本所支持的功能列表。
开源组件(spring-cloud-alibaba开头):
服务发现(Service Discovery)
配置管理(Configuration Management)
高可用防护
商业服务(spring-cloud-alicloud开头):
服务发现(ANS——Application Naming Service)
配置管理(ACM——Application Configuration Management)
对象存储服务(OSS——Object Storage Service)
同时,接下来的时间里,SCA还会以最快的速度支持以下功能。
开源组件(spring-cloud-alibaba开头):
消息队列(RocketMQ)
商业服务(spring-cloud-alicloud开头):
任务调度(SchedulerX)
日志服务(SLS)
结语
写到这里,笔者该吹的基本上都吹完了。