springBoot和springCloud
见名知意,二者都是以spring框架为基础一个延伸。springBoot是搭建spring框架的快速的脚手架,用springBoot来搭建spring框架,只需要选择出我们所需要的依赖,无需手动配置就可以在项目里直接用。而springCloud是在springBoot基础之上,对框架进行了又一次的升级,原理还是以spring为基础,只是springCloud真正实现了‘’云‘’;
**二者区别**
通俗的说,springBoot能做的事情springCloud都可以做。但是springCloud用来完成的方式有所提升。
## 区别一
springBoot里的MVC三层架构,springCloud为了避免项目巨量的数据和繁琐的业务写在一起而造成的的麻烦,可以把三层架构分成N个项目来做,这样在公司里,就可以有专门面对实体类POJO的团队,可以有专门面对业务层的团队,到时候只需要包名一致,在想调用的时候用springCloud里的五大神兽之一的feigh来完成不同项目之间的方法的调用和数据的传递。
## 区别二
与springBoot不同的是,springCloud更适合面对业务量比较繁忙的情况,因为五大神兽之一的网关“zuul”可以帮我们解决路由的分配,可以在接收到请求的时候对请求的类型进行过滤,然后根据不同的请求分配到不同的方法或端口,这样避免了如果某一个线程数据本来就多,还有很多不匹配的请求进入到线程里,动态解决了多并发的问题。
## 区别三
在处理异常上,springCloud有熔断器来解决异常的请求,而且比传统的异常接口要快。相对于传统得请求的流程,当被检查到了该请求在之后流程里某一步或几部有异常,会直接打断流程,跳到自定义的页面上,这样速度就提高了很多。
## 区别四
在程序开发上,不需要再每建一个新项目改一次配置文件xxx.yml,可以用git在阿里云上自己的仓库里导入,而我们需要做的就是在自己的阿里云仓库中导入几个常用的配置文件,在我们开发时需要哪个导入就行。真正的实现了项目开的的“云”;
##区别五
springCloud的中心配置----网关也是springBoot不具备的。我们通常会首先创建一个网关,然后把客户端注册到网关上。网关有独特的机制:心跳,可以每30秒进行一次检查,也可以进行缓存以便更方便地开发和更快速地运行,进一步缓解了高并发。