标签:02 功能 服务 springboot 元素 构建 应用 架构
springboot学习02:什么是微服务架构
-
什么是微服务:
-
微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合,可以通过http的方式进行互通,要说微服务架构,先要明白什么是单体应用架构;
-
业务拆分成模块;
-
-
单体应用架构:
-
所谓单体应用架构:是指我们将一个应用中的所有应用服务都封装在一个应用中;
-
无论是ERP,CRM或者其他什么系统,你都把数据库访问,web访问,等等各个功能放到一个war包内;
-
优点:
-
易于开发和测试,也十分方便部署;当需要扩展时,只需要将war复制几份,然后放到多个服务器上,再做个负载均衡就可以了;
-
-
缺点:
-
哪怕我要修改一个非常小的地方,我都需要停掉整个服务,重新打包,部署这个应用war包,特别是对于一个大型应用;
-
不方便维护,难以分工;
-
-
-
微服务架构:
-
单体架构方式,是我们把所有的功能单元都放在一个应用里面,然后我们把整个应用部署到服务器上,如果负载能力不行,我们将整个应用进行水平复制,进行扩展,然后在负载均衡;
-
所谓微服务架构,就是打破之前的单体架构方式,把每个功能元素独立出来,把独立出来的功能元素动态组合,需要的功能元素才会去拿来组合,需要多一些时可以整合多个功能元素,所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制;
-
优点:
-
节省了调用资源;
-
每个功能元素的服务都是一个可替换的,可独立升级的软件代码;
-
-
缺点:
-
部署和运维复杂;
-
-
-
如何构建一个微服务:
-
一个大型系统的微服务架构,就像一个复杂交织的神经网络,每一个神经网络就是一个功能元素,它们各自完成自己的功能,然后通过http相互请求调用;
-
比如一个电商系统:查缓存,连数据库,浏览页面,结账,支付等服务都素一个个独立的功能服务,都被微化了,它们作为一个个微服务共同构建了庞大的系统;
-
如果修改其中一个功能,只需要更新升级其中一个功能服务单元即可;
-
但是这种庞大的系统架构给部署和运维带来很大的难度,于是,Spring为我们带来了构建大型分布式微服务的全套,全程产品:
-
构建一个个功能独立的微服务应用单元,可以使用Springboot,可以帮我们快速构建一个应用;
-
大型分布式服务的调用,这部分由Spring cloud来完成,实现分布式;
-
在分布式中间,进行流式数据计算,批处理,我们有spring cloud data flow;
-
spring为我们想清楚了整个从开始构建应用到大型分布式应用全流程方案;
-
-
-
面试:
-
你主导面试官;
-
面试官主导你;
-
标签:02,功能,服务,springboot,元素,构建,应用,架构 来源: https://www.cnblogs.com/gzs1024/p/16169357.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。