一、Spring Cloud的介绍
1.1、单体应用
说到Spring Cloud 笔者在这里就不得不Java Web的单体应用,下图是,Java Web 开发过程中的一个单体应用开发的架构:
1.2、单体应用的弊端
如上图所示,这样的单体应用是存在如下弊端的:
1、随着web应用的业务逻辑的日益复杂,这样的单体应用体量会越来越大,直观上讲,你打的war包会越来越大,整个项目就会显得很臃肿,项目启动时间变长、业务逻辑变得复杂,增加研发的成本,运营维护的成本会逐渐增高。
2、如果因为某个模块的代码出现,内存溢出,导致整个系统不可使用,对于互联网项目来说,互联网应用宕机一个小时的风险,是一般企业都不能承担和允许发生的。
1.3、SOA:单体应用的一种优化方式
1、SOA:它是一种面向服务的一种架构,我们现在不妨假设当前存在一个单体应用,这个单体应用下面有多个模块,例如:销售模块、报表模块、库存管理模块和会员管理模块等。如下所示,SOA的话,它会按照面向服务的原则,对单体应用进行切分;将原来四个模块作为一个整体打成一个war包的单体应用,切分成四个部分。这四个部分,也可以称为四个模块,它们是单独开发和部署的,如下图所示:
2、SOA的好处
按照上图所示,采用SOA的架构来优化单体应用,这样的好处是,即使其中的某一个模块因为内存溢出之类的问题,导致整个机器宕机,之影响当前模块,而不太影响其他模块,其他模块基本上,还可以正常对外提供服务。
3、SOA的缺点
1、SOA也会存在一定的问题,比如,各个模块之间,如果具有依赖关系的情况下,如果上面四个模块彼此相互调用,那么模块之间的关系就会变得比较复杂了,彼此之间的关系也会因此变得混乱。如何处理这个混乱情况呢,我们这里引入了ESB,即企业服务总线,如下图所示:
2、由上图所示,各个模块之间如果发生依赖关系,它就会直接调用ESB里边的soap风格的webservice,这样一来,整个应用下的各个模块之间的关系就变得协调了。
1.4、SOA和微服务架构的却别和联系
未完待续……
1.5、什么是Spring Cloud
1、Spring Cloud它不是一个具体的框架,它是一个工具箱,它提供了各类工具,可以帮助我们快速地构建分布式系统。
2、基于Spring Boot的基础上,封装了Netflix
3、它将Netflix与spring容器进行了整合
二、Spring Boot的搭建
2.1、如下图所示
2.2、添加pom依赖和项目启动类即可
2.3、Spring Boot默认会在四个地方读取配置文件application.properties
1、在项目的根目录下的config目录下找;
2、在项目的根目录下找;
3、在classpth下的config目录下找:即在src/main/resources下的config下找
4、会在classpath下的根目录里找
作者:爱我的程序人生
链接:https://www.jianshu.com/p/cf8be8da66eb