项目整个架构的构建和演进。(重点!)

系统(项目),网络,硬件运维

单体架构和微服务架构

|------|------------|----------------|
| 对比项 | 单体项目 | 微服务(多体) |
| 代码工程 | 1个工程 | 多个独立工程 |
| 部署 | 打1个jar包 | 每个服务各自打包 |
| 数据库 | 通常共用一个库 | 每个服务独立数据库 |
| 调用方式 | 本地方法调用 | 远程http/feign调用 |
| 修改上线 | 改一点,全部重新部署 | 只部署被修改的服务 |
| 本地启动 | 启动1次 | 要启动多个服务 |
| 学习难度 | 低,适合练手 | 高,需要学中间件 |
| 并发扩容 | 整体扩容 | 按需单独扩容某个服务 |

集群 vs 微服务(面试背诵,通俗版)

一、

集群:同一套程序,部署多份,多台机器一起跑【复制副本】

简单类比

• 单体集群:同一个饭店,雇2个一模一样的厨师,两个人都能做全套菜(副本扩容)

• 微服务:饭店拆分岗位,切菜的、炒菜的、收银的,各司其职;每个岗位还可以集群(切菜可以雇2个人)

✅ 重点:微服务里面每个服务本身,都可以做集群!两者不冲突,不是二选一

二、微服务架构优点(面试口述版)

1.服务解耦:各个业务互不影响。改订单代码,不用动用户服务。

2.独立开发、独立发布:单个服务可以单独上线、单独回滚,不用整体打包发布。

3.独立扩容:哪个模块压力大,单独扩容哪个。比如秒杀只有订单压力大,只扩容订单服务,不用扩容整个系统。

4.技术栈灵活:不同服务可以选合适技术(用户服务Java,搜索可以用Go)

5.故障隔离:订单服务崩了,用户、商品服务还能正常跑,不会整体宕机。

6.团队拆分:大团队可以按服务拆分小组,各司其职并行开发。

三、微服务缺点(面试官大概率追问,一起背)

1.架构复杂,引入很多组件:Nacos注册中心、网关、远程调用、分布式事务、链路追踪

2.运维成本高,服务多,部署监控麻烦

3.网络调用:服务之间远程调用,有网络延迟,要处理超时、重试

重点!

三种系统的具体分析

单体集群,分布式,微服务。

  1. 单体项目部署3台机器做负载均衡

👉 集群,不是分布式,不是微服务

  1. 一台电脑启动 order、storage、account三个服务,多进程,没有多实例副本(也可以有)

👉 分布式、微服务,无集群(也可以有)

  1. 你的cloud‑demo项目:order2个实例,storage2个实例,服务之间互相Feign调用

👉 同时具备:集群 + 分布式 + 微服务(只是提现每块服务具体拆分)

单体架构:

就是不拆分服务,把一整套系统部署到同一个服务器上(一般java只有一个启动类来同时启动三个服务模块)。(也可以集群)

分布式架构:

只是把每个服务拆开了(每个服务单独拆分,单独部署,单独发布等)三个启动器

微服务架构:

把每一个具体服务拆的更细了。(比如Java项目的ai模块想用Python做,就把用户中的登录和会员拆分出来了)。除了java中启动类其他启动类(根据不同语言来进行启动后端各个服务)。更加灵活了。

目前云原生(架构层面)

架构的演进过程:

相关推荐
孟健1 小时前
从单体失控到解耦管道:用 Unix 哲学重构 Anthropic 式多 Agent 动态工作流
人工智能·python·架构
这个DBA有点耶1 小时前
ELT 工具选型完整指南:从 ETL 差异分析到工程落地
数据库·架构·代码规范
Thomas.Sir2 小时前
第25课:Spring Cloud监控体系详解 & Actuator端点全解
spring cloud·actuator
147API2 小时前
AWS Priming 怎样用层级蒸馏,把 Transformer 改造成混合架构
深度学习·架构·transformer
loulanyue_3 小时前
芯片设计:从最底层讲起——读MatX CEO Reiner Pope激辩逻辑门、脉动阵列与GPU架构演进
架构
张彦峰ZYF3 小时前
一次触发、一把锁与一个号码:分布式基础组件的统一设计推演
架构·先立六条时间纪律·再拆解编号的位分配·节点编号分配与回拨四策·辨析互斥、租约与领导权三种语·调度拆成七个子问题·五层架构
码上上班3 小时前
基于 K3s 的微服务容器化与 GitOps 持续交付平台
微服务·云原生·架构
Dawson Zhu3 小时前
《Agentic Design Patterns》第 17 章导读:推理技术
人工智能·语言模型·架构·aigc·agi
今年下半年4 小时前
【Spring Cloud】Spring Cloud Gateway 防 XSS / 防 CSRF 实现
spring cloud·xss·csrf