一、架构本质与角色定位
架构 = 系统的骨架
✅ 核心作用:
- 决定系统的健壮性、生命周期、扩展性
- 衔接需求与实现,保障早期质量
👨💻 架构师核心能力:
能力维度 具体要求 技术掌控力 精通基础技术,洞悉局部瓶颈 决策设计力 搭建核心架构,制定开发规范 风险管理力 预判技术难点,分配资源风险
二、核心架构风格对比(重点考点❗)
架构类型 | 特点 | 适用场景 | 典型考题切入点 |
---|---|---|---|
分层架构 | 四层分离(表现/业务/持久/DB) | 传统企业应用 | 层间通信约束 |
微服务架构 | 独立部署+远程通信(REST等) | 高并发互联网系统 | 服务拆分原则 vs 分布式事务 |
事件驱动架构 | 事件队列→分发→处理器链式触发 | 实时响应系统(如交易) | 事件丢失处理方案 |
云架构 | 内存数据单元+弹性处理单元 | 需动态扩展的系统 | 数据同步机制设计 |
微核架构 | 核心+可插拔插件 | 工具型软件(如IDE) | 插件通信隔离要求 |
🏗️ 架构风格组件详解表(含考试重点标注⭐)
架构类型 | 核心组件 | 组件功能说明 | 技术实现案例 | 考试常见坑点 |
---|---|---|---|---|
分层架构 | ① 表现层组件 ⭐ | 处理用户交互(UI渲染、输入验证) | Spring MVC, React | 层间严禁跨层调用(如表现层直接访问数据库) |
② 业务层组件 ⭐ | 实现核心业务逻辑(订单计算、风控规则) | Spring @Service | 业务异常必须在本层捕获处理 | |
③ 持久层组件 | 封装数据库操作(SQL生成、事务管理) | MyBatis, JPA | ORM框架需解决N+1查询问题 ⭐ | |
④ 数据源组件 | 管理数据库连接池(连接复用、失效检测) | Druid, HikariCP | 连接泄漏导致系统崩溃 ⭐ | |
微服务架构 | ① API网关 ⭐ | 统一入口(路由转发、认证限流) | Spring Cloud Gateway, Kong | 网关单点故障需集群部署 |
② 服务注册中心 ⭐ | 管理服务地址(服务上线/下线通知) | Nacos, Consul, Zookeeper | CAP理论中注册中心必须选择CP模型 ⭐ | |
③ 配置中心 | 动态下发配置(避免服务重启) | Apollo, Config Server | 配置变更需广播到所有实例 | |
④ 熔断器 ⭐ | 故障隔离(快速失败防止雪崩) | Hystrix, Sentinel | 熔断阈值设置不当引发误判 | |
事件驱动架构 | ① 事件生产者 | 发布状态变更事件(如订单创建) | Kafka Producer, RabbitMQ Publisher | 事件需包含唯一ID防重复消费 ⭐ |
② 消息代理 ⭐ | 持久化事件(保证可靠传输) | Kafka, RocketMQ | 消息堆积需监控消费者滞后量 | |
③ 事件处理器 | 执行业务逻辑(如库存扣减) | Spring @KafkaListener | 处理幂等性设计 ⭐ | |
云架构 | ① 处理单元( PU) ⭐ | 无状态业务计算(弹性扩缩容基础) | Kubernetes Pod | 必须通过共享存储实现状态持久化 |
② 数据网格(Data Grid) | 分布式内存缓存(如库存数据) | Redis Cluster, Hazelcast | 缓存击穿/雪崩防护策略 ⭐ | |
③ 部署管理器 | 动态调度PU(根据CPU/内存扩缩) | Kubernetes HPA | 扩缩容响应延迟导致系统过载 | |
微核架构 | ① 核心引擎 ⭐ | 生命周期管理(插件加载/卸载) | OSGi, Eclipse RCP | 插件接口需保持向后兼容 |
② 插件容器 | 隔离插件运行环境(类加载隔离) | Java SPI, OSGi Bundle | 插件间通信必须通过核心中转 ⭐ |
🔍 组件关联图(以微服务为例)
🎯 架构组件实战口诀
分层架构:层间隔离,严禁跨层调用
微服务:网关拦路虎,注册中心是地图
事件驱动:事件ID保幂等,死信队列救难民
云架构:无状态易伸缩,缓存分片防雪崩
微内核:插件像积木,接口定乾坤
三、高频面试/考题库
💡 概念辨析
-
模块化 vs 组件化
🔹 模块化:逻辑分离,同进程运行(如Java包)
🔹 组件化:物理隔离,跨进程通信(如Docker容器)
🎯 考题:为何组件化更适合大型系统?(答:独立部署+技术异构性支持) -
三次软件危机与架构演进
- 1960s危机 → 诞生软件工程
- 1990s危机 → 组件化革命
- 现代危机 → 微服务/云原生破局
🛠️ 场景设计题
例题:设计一个日活千万的电商系统,如何选择架构?
✅ 答题框架:
- 前端用微服务拆分订单/支付/库存服务
- 订单流水用事件驱动保障最终一致性
- 商品查询用云架构内存数据库抗高并发
- 运维层采用微核架构实现插件式监控
四、架构发展核心路线
🚀 终极备考提示:
- 大题必考架构风格对比(表格重点背)
- 案例分析题牢记分层/微服务应用场景
- 论文准备方向:云架构数据同步机制或微服务事务一致性方案