Spring Cloud微服务入门(一)

微服务的演变过程

复制代码
//controller 视图交互层 前端数据处理传给service
//1.DAO @RequestBody userDAO
String id;String type;
{"id":"lcs",
"type":"lcs"}
//2.GET请求 findUserById?id=1&type=lcs
            @RequestParam String id
            @RequestParam String type
//3.POST请求 findUserById/{id}/{type}
            @Pathvariable String id
            @Pathvariable String type

单体架构

定义:功能、业务集中在一个发布包(war、jar)里,部署运行在同一个容器(tomcat)中。

在单体架构中,系统通常采用分层架构模式,按技术维度对系统进行划分,比如持久化层、业务逻辑层、表示层。

1.单体架构的优点:

2.系统的架构简单。

系统在开发、测试、部署时更方便。

单体架构存在的问题:

1.系统内通常以API的形式互相访问,耦合紧密导致难以维护。

2.各业务领域需要采用相同的技术栈,难以快速应用新技术。

3.对系统的任何修改都导致整个系统必须一起重新部署、升级,运维成本高。

4.在系统负载增加时,难以进行水平扩展。 当系统中一处出现问题,会影响整个系统。

垂直架构

第一个是为了业务之间互不影响

第二个是在研发团队的壮大后为了提高效率,减少组件之间的依赖。

优点:

项目拆分流量做了分流,解决了并发问题,同时可以对模块进行针对性优化

一个子项目出问题不会影响到其他子项目,提高容错率

缺点:

子项目间相互独立, 无法进行相互调用

子项目间相互独立, 存在重复造轮子问题

SOA架构

优点:

使用注册中心解决了服务间调用关系的自动调节

缺点:

服务间会有依赖关系,一旦某个环节出错会影响较大( 服务雪崩 )

服务关系复杂,运维、测试部署困难

微服务架构

微服务,又叫微服务架构。微服务架构是一种架构风格,它将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过松耦合的形式交互。

微服务特性:

每个微服务可独立运行在自己的容器里。

一系列独立运行的微服务共同构建起整个系统。

每个服务为独立的业务开发,一个微服务只关注某个特定的功能,例如内容管理、用户管理等。

可使用不同的语言与数据存储技术。

微服务之间通过轻量的通信机制进行通信,例如通过REST API进行调用。

全自动的部署机制。

微服务优点:

单个服务更易于开发、维护。

单个微服务启动比较快。

局部修改容易部署。

技术栈不受限。

按需伸缩。

微服务缺点:

复杂度高 微服务间通过REST、RPC等形式交互,需要考虑被调用方故障、过载、消息丢失等各种异常情况,代码逻辑更加复杂。

运维复杂 系统由多个独立运行的微服务构成,运维人员需要对系统有细致的了解才能够更好的运维系统。

影响性能 微服务之间进行交互过程中通信的延时,会对服务间的访问引起较大的影响。

相关推荐
上官浩仁9 小时前
springboot synchronized 本地锁入门与实战
java·spring boot·spring
阿里云云原生10 小时前
稳定支撑大规模模型调用,携程旅游的 AI 网关实践
微服务
不会聊天真君64710 小时前
ES(springcloud笔记第五期)
笔记·elasticsearch·spring cloud
叫我阿柒啊12 小时前
从Java全栈到前端框架的实战之路
java·数据库·微服务·typescript·前端框架·vue3·springboot
蒋星熠12 小时前
WebSocket网络编程深度实践:从协议原理到生产级应用
网络·数据库·redis·python·websocket·网络协议·微服务
草履虫建模12 小时前
在 RuoYi 中接入 3D「园区驾驶舱」:Vue2 + Three.js + Nginx
运维·开发语言·javascript·spring boot·nginx·spring cloud·微服务
remaindertime12 小时前
(九)Spring Cloud Alibaba 2023.x:微服务接口文档统一管理与聚合
后端·spring cloud·微服务
Barcke13 小时前
📘 初识 WebFlux
spring boot·后端·spring
橘子在努力13 小时前
【橘子SpringCloud】OpenFegin源码分析
java·spring boot·spring·spring cloud
喂完待续13 小时前
【序列晋升】31 Spring Cloud App Broker 微服务时代的云服务代理框架
spring·spring cloud·微服务·云原生·架构·big data·序列晋升