一.微服务架构
javase:OOP
mysql:持久化
html+css+js+jquery+框架:视图
javaweb:独立开发MVC三层架构的网站
ssm框架:简化开发流程,但配置繁琐,在tomcat跑-打war包
spring再简化:SpringBoot,微服务架构,内嵌tomcat-打jar包
springcloud:处理服务越来越多的问题
1.什么是微服务?
参考论文链接:https://www.cnblogs.com/liuning8023/p/4493156.html
微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的租户;可以通过http的方式进行互通。要说微服务架构,先得说说过去我们的单体应用框架。
- 单体应用架构:所谓单体应用框架(all in one)是指,我们将一个应用中的所有应用服务都封装在一个应用中。
无论是ERP,CRM或是其他什么系统,全都将数据库访问,web访问等等各个功能放到一个war包内。
这样做的好处是,易于开发和测试;十分方便部署;当需要扩展时,只需要将war复制多份,然后放到多个服务器上,再做负载均衡即可。
单体应用框架的缺点是,哪怕需要修改一个非常小的地方,都需要停掉整个服务,重新打包、部署整个应用war包。特别是对于一个大型应用,我们不可能把所有内容都放在一个应用里面,这样维护,分工合作都是问题。 - 微服务架构:all in one的架构方式,将所有的功能单元放在一个应用中,再将整个应用部署到服务器上。如果负载能力不行,则将整个应用进行水平复制,进行扩展,再进行负载均衡。
所谓微服务架构,就是打破之前all in one的架构方式,把每个功能元素独立出来。把独立查出来的功能元素动态组合,需要的功能元素才去拿来组合,需要多一些的时候则可以整合多个功能元素。五哦一微服务架构是对功能元素进行复制,而没有对整个应用进行复制。
这样做的好处是:1.节省了调用资源;2.每个功能元素的服务都是一个可替换的、可独立升级的软件代码。
2. 如何构建微服务
一个大型系统的微服务架构就像一个复杂交织的神经网络, 每一个神经元就是一个功能元素,他们各自完成自己的功能,然后通过http相互请求调用。比如一个电商系统、查缓存、连数据库、浏览网页、结账、支付等服务都是一个个独立的功能服务,都被微化了,他们作为一个个微服务共同构建了一个庞大的系统。如果修改其中的一个功能,只需要更新升级其中一个功能服务单元即可。
但是这种庞大的系统架构给部署和运维带来很大的难度。于是,spring为我们带来了构建大型分布式微服务的全套、全程产品:
- 构建一个个功能独立的微服务应用单元,通过使用springboot,可以帮我们快速构建一个应用;
- 大型分布式网络服务的调用,这部分由spring cloud来完成,实现分布式;
- 在分布式中间,进行流式数据计算、批处理,我们有spring cloud data flow;
- spring为我们想清楚了整个从开始构建应用到大型分布式应用全流程方案。
二、快速构建SpringBoot项目
通过idea构建
先创建空一个工程
在工程中创建一个模块
点击下一步
查看该springboot项目结构
编写controller文件
运行Application
观察控制台
打开浏览器查看