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等形式交互,需要考虑被调用方故障、过载、消息丢失等各种异常情况,代码逻辑更加复杂。

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

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

相关推荐
代码什么用1 小时前
Spring基础使用
java·后端·spring
代码什么用1 小时前
Spring对IoC的实现
数据库·spring
Su米苏1 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
java资料站4 小时前
二、Spring AI Alibaba · ChatModel
java·windows·spring
java资料站5 小时前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
for_ever_love__6 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
bst@微胖子10 小时前
Spring AI (5) : MCP 深度实战:从工具抽取到鉴权,SSE 与 STDIO
人工智能·spring·dubbo
Nebula_g10 小时前
JavaSE拓展:工具类Executors
java·开发语言·后端·spring·基础·javase
鱼宵10 小时前
Spring AI 可观测与透明化:traceId 串起全链路,思考过程实时直播给用户
java·人工智能·spring·链路追踪·springai
Raas10011 小时前
AI网关能做语义缓存吗?MAI Gateway(魔芋企业级AI网关)实战能力深度解读
java·后端·spring