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

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

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

相关推荐
史呆芬34 分钟前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
niaiheni1 小时前
红队实战:记一次Spring Cloud Gateway SpEL表达式注入到哥斯拉内存马(CVE-2022-22947)
web安全·spring cloud·网络安全
乐启国际旅行社有限公司7 小时前
微服务高可用实战:Resilience4j熔断降级解决文旅节假日流量雪崩问题
微服务·云原生·架构
VortMall8 小时前
出海引流运维双升级|VortMall微服务商城系统v1.3.12 升级更新
运维·微服务·facebook
zzzll11118 小时前
Spring Cloud 微服务:从入门到实践
spring·spring cloud·微服务
Devin~Y9 小时前
从本地生活电商到 AI RAG:互联网大厂 Java 面试场景完整实战
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
都叫我大帅哥20 小时前
Spring Data JPA 查询之道:方法命名与示例查询完全指南
java·后端·spring
重庆小透明1 天前
带你从不同视角了解三大MQ
java·学习·spring·kafka·rabbitmq·rocketmq
lemon_sjdk1 天前
Spring WebFlux 响应式编程深度解析:从架构选型到核心抽象
java·spring·架构
summer_west_fish1 天前
企业架构的概念方法与实践
微服务·云原生·架构