转载

Spring Boot实战系列《一》:大白话说微服务架构

Spring Boot实战系列《一》:大白话说微服务架构

本文是博主本人在面临着即将毕业工作前,为了更深程度的早日融入社会企业文化中,而本人不太喜欢官方的一大堆专用名词听不太懂,一般来说,我都会学习完以后,转为自己的白话来理解,所以难免有失偏颇之处,请看官们取其精华即可。

在学习Spring Boot之前,不得不先学习一下它的大时代背景——微服务。


1.目前的开发模式

目前的开发模式就是:ALL IN ONE (单体应用)

就是说,所有的功能模块,前后端都放在一个项目(应用)里面。

就是各种OA、CRM系统等,都是将所有的页面放在一个应用里,然后打包成war包,上传部署在tomcat的服务器里面,然后跟各种数据库交互。

图示:
在这里插入图片描述

开发过项目的人都知道,当项目需要部分更改的时候,需要重新打包,重新部署等等,牵一发动全身。再就是随着现在大数据的发展,很多应用逐渐发展为大项目,而不能全部把页面放在一个项目包中。


2.什么是微服务?


首先微服务是一种架构风(服务微化),一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署在单个或多个服务器上,各个微服务之间是松耦合的,每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

图示:实际上就是一个关键词:元素独立在这里插入图片描述

也就是说,如果在修改其中某个模块的时候,其他的服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;


3.为什么采用微服务呢?


随着系统业务量的不断增多,单一的一套系统可能无法对应高并发,且系统变得越来越臃肿,后期难以维护。这种情况下会采用微服务架构设计。

引用一句大佬的:

"让我们的系统尽可能快地响应变化" - Rebecca Parson


4.微服务架构的开发框架

那么怎么来实现微服务的架构呢?
这里只说常用的Spring Boot 和Spring Cloud。

4.1、Spring cloud 框架

spring cloud就是微服务的一种的实现方式,spring cloud对微服务所需要的几点特性封装的比较好,如:零耦合,服务之间方便调用。

值得注意的是Spring Cloud是一个基于Spring Boot实现的云应用开发工具;

4.2、Spring boot 框架

Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务;(下一篇文章重点讲。)

概括来说就是:

	简化Spring应用开发的一个框架。
	整个Spring技术栈的一个大整合。
	J2EE开发的一站式解决方案。

4.3、spring boot与spring cloud的区别

  1. SpringBoot专注于快速方便的开发单个个体微服务,SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,
  2. Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;
  3. spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。
  4. Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

总结,在微服务的大背景下,更多开发风向开始趋于前后端分离,在前后端分离的需求下,让Spring Boot、spring cloud等更轻便的开发框架大放异彩。IT行业的更新快如闪电,作为程序员的我们,不得不时刻为自己充电。
正文到此结束
本文目录