赞
踩
本文是博主本人在面临着即将毕业工作前,为了更深程度的早日融入社会企业文化中,而本人不太喜欢官方的一大堆专用名词听不太懂,一般来说,我都会学习完以后,转为自己的白话来理解,所以难免有失偏颇之处,请看官们取其精华即可。
在学习Spring Boot之前,不得不先学习一下它的大时代背景——微服务。
目前的开发模式就是:ALL IN ONE (单体应用)。
就是说,所有的功能模块,前后端都放在一个项目(应用)里面。
就是各种OA、CRM系统等,都是将所有的页面放在一个应用里,然后打包成war包,上传部署在tomcat的服务器里面,然后跟各种数据库交互。
图示:
开发过项目的人都知道,当项目需要部分更改的时候,需要重新打包,重新部署等等,牵一发动全身。再就是随着现在大数据的发展,很多应用逐渐发展为大项目,而不能全部把页面放在一个项目包中。
首先微服务是一种架构风(服务微化),一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署在单个或多个服务器上,各个微服务之间是松耦合的,每一个功能元素最终都是一个可独立替换和独立升级的软件单元;
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;
图示:实际上就是一个关键词:元素独立
也就是说,如果在修改其中某个模块的时候,其他的服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;
引用一句大佬的:
"让我们的系统尽可能快地响应变化" - Rebecca Parson
那么怎么来实现微服务的架构呢?
这里只说常用的Spring Boot 和Spring Cloud。
spring cloud就是微服务的一种的实现方式,spring cloud对微服务所需要的几点特性封装的比较好,如:零耦合,服务之间方便调用。
值得注意的是Spring Cloud是一个基于Spring Boot实现的云应用开发工具;
Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务;(下一篇文章重点讲。)
概括来说就是:
简化Spring应用开发的一个框架。
整个Spring技术栈的一个大整合。
J2EE开发的一站式解决方案。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。