前言
前段时间参与了公司的技术选型,一方面了解了微服务(戳微服务 Microservice),另一方面就是了解研究SpringCloud。小编对于SpringCloud的了解仅算是蜻蜓点水,学习也不是一朝一夕的事情,所以技术选型仅算是为自己以后更多的了解开了个头儿。
本篇对SpringCloud做简单介绍,最后附上整理来的SpringCloud相关技术栈,希望可以对读者有所帮助。
主要内容
微服务架构集大成者,云计算最佳业务实践。——这句话来自SpringCloud中文网。可见SpringCloud的地位还是蛮高的。概念
关于概念区分这里,可能大家都有听过Spring,也听过SpringBoot,再加上现在提到的SpringCloud,这名字里都带着Spring,是不是有点晕了,莫急莫急,理清思路,我们先看一张图。Spring是一个轻量级的Java开发框架,它能使用基本的JavaBean代替EJB。
SpringBoot是由Pivotal团队提供的全新框架,用来简化新Spring应用的初始搭建和开发过程。开发人员无需定义样板化配置。
SpringCloud是一系列框架的有序集合,它把好的东西集合到一起,这就是所谓的集大成者。同时它利用SpringBoot的开发便利性巧妙的简化了分布式系统基础设施的开发。
组成
参考英文官网列举的20个主要项目:
Spring Cloud Config 是配置管理工具包,让你可以把配置放到远程服务器,几种化管理集群配置,目前支持本地存储,Git以及Subversion。
Eureka 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
Hystrix 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
Spring Cloud Bus 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
Spring Cloud Data Flow 大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
优点
SpringCloud很有可能成为未来微服务架构的标准框架。约定优于配置
开箱即用、快速启动
适用于各种环境
轻量级的组件
组件支持丰富,功能齐全
选型中立