核心考点一:系统架构演进与集成策略
1. 遗留系统策略
- 淘汰策略:当遗留系统技术含量低、业务价值低、维护成本高或无法适应新业务时,采用全面重新开发的方式。
- 继承策略:当遗留系统技术含量低但业务价值高,且新系统需完全兼容其功能模型和数据模型时采用。
- 高频考点:题目常要求根据业务场景选择策略并说明理由。关键在于分析业务价值与技术兼容性的平衡。
2. 数据迁移
- 准备工作:
- 数据源分析:明确数据存放方式、数据量和时间跨度。
- 数据字典与质量分析:建立新旧系统数据字典,分析数据质量和结构差异。
- 代码差异分析:对比新旧系统代码体系。
- 映射关系建立:定义表级和字段级映射,处理无法直接映射的字段。
- ETL工具准备:开发或部署数据抽取、转换、加载工具。
- 测试与校验:编写测试计划和校验程序。
- 应急措施:制定迁移失败时的回滚方案。
- 为什么这么考:数据迁移是系统替换的核心风险点,考查考生对数据完整性和迁移过程可控性的理解。
3. 架构风格:REST vs. RPC
- 核心区别:
- REST:轻量级,基于HTTP协议,通过资源(URI)和标准方法(GET, POST等)操作,无状态,跨平台性好。
- RPC:接口依赖强,通常需要特定的IDL(接口定义语言),耦合度高,性能可能更优但灵活性差。
- REST设计原则:
- 所有事物抽象为资源。
- 每个资源有唯一标识(URI)。
- 通过通用接口(HTTP方法)操作资源。
- 操作不改变资源标识。
- 无状态通信。
- 智能拓展:REST更适用于互联网开放API,而RPC更适合内部高性能服务调用。选择REST通常是为了解耦和跨平台兼容性。
核心考点二:分布式系统与微服务
1. 微服务通信
- RPC:
- 特点:调用方与服务方接口紧耦合,需要定义严格的接口(如gRPC的.proto文件),性能高。
- 适用场景:内部服务间高性能调用。
- REST:
- 特点:基于HTTP,松耦合,使用JSON/XML,易于跨语言调用。
- 适用场景:对外暴露的API,或对性能要求不高的内部调用。
- 对比表格(高频考点):
| 特性 | RPC | REST |
|---|
| 耦合度 | 高(依赖接口定义) | 低(基于HTTP标准) |
| 协议 | TCP(如gRPC)或HTTP/2 | HTTP/1.1或HTTPS |
| 数据格式 | 二进制(如Protobuf) | 文本(JSON/XML) |
| 性能 | 高 | 相对较低 |
| 适用场景 | 内部微服务调用 | 开放API、跨平台集成 |
2. 企业服务总线(ESB)
- 定义:传统中间件与XML、Web服务结合的产物,支持异构系统集成,提供消息路由、协议转换、格式转换等功能。
- 主要功能:
- 服务位置透明性:屏蔽服务物理位置。
- 传输协议转换:如HTTP到JMS。
- 消息格式转换:如XML到JSON。
- 消息路由:基于内容路由到目标服务。
- 安全与监控:提供认证、授权和日志监控。
- 为什么这么考:ESB是SOA架构的核心,考查考生对服务解耦和异构系统集成的理解。
3. 数据一致性模型
- CAP理论:
- 一致性:所有节点同时看到相同数据。
- 可用性:每个请求都能收到响应(非失败)。
- 分区容错性:系统在网络分区的情况下仍能运行。
- 核心思想:分布式系统必须牺牲C或A来保证P。
- ACID vs. BASE:
- ACID(关系数据库):强一致性,事务原子性。
- BASE(NoSQL):基本可用、软状态、最终一致性。
- 智能拓展:在微服务架构中,通常采用最终一致性(如通过事件驱动补偿事务),而不是分布式强一致事务(如2PC),因为后者性能差且容错能力弱。
核心考点三:嵌入式系统与实时性
1. 嵌入式系统特点
- 专用性强:软硬件结合紧密,针对特定应用。
- 实时性要求高:分为硬实时(如飞行控制)和软实时(如多媒体播放)。
- 资源受限:CPU、内存、功耗受限。
- 高可靠性:尤其在宇航、工业控制领域。
- 为什么这么考:嵌入式系统是架构师在物联网和工业控制领域的基础知识。
2. 故障处理(FMEA)
- FMEA(故障模式影响分析):
- 步骤:
- 识别潜在故障模式。
- 评估风险(RPN = 严重度 × 发生概率 × 检测难度)。
- 制定改进措施。
- 分类:设计FMEA、过程FMEA、系统FMEA等。
- 故障分类:
- 硬件故障:CPU、内存失效。
- 软件故障:数值越界、死锁。
- 系统故障:资源枯竭。
- 容错算法:
- 备份策略:冷备、温备、热备。
- N+1备份:N个工作+1个备份。
核心考点四:数据架构与缓存策略
1. 数据库扩展:读写分离与主从复制
- 主从复制过程:
- 主库写入数据,记录到binary log。
- 从库I/O线程请求主库的binary log。
- 主库通过Binlog Dump线程发送日志。
- 从库写入Relay Log,SQL线程重放日志。
- 复制模式:
- 同步复制:主库等待所有从库确认,强一致但性能差。
- 异步复制:主库立即返回,性能高但可能丢数据。
- 半同步复制:主库等待至少一个从库确认,折中方案。
2. 缓存技术:Memcached vs. Redis
| 特性 | Memcached | Redis |
|---|
| 数据类型 | 简单Key-Value | 支持List、Set、Hash等 |
| 持久化 | 不支持 | 支持(RDB/AOF) |
| 分布式 | 客户端哈希 | 支持Cluster、Sentinel |
| 多线程 | 多线程 | 单线程(Redis 6.0后多IO) |
3. 缓存问题与解决方案
- 缓存穿透:查询不存在的数据。
- 解决方案:布隆过滤器(Bloom Filter)快速判断key是否存在。
- 缓存雪崩:大量缓存同时失效。
- 缓存击穿:热点key失效瞬间大量请求直达DB。
- 解决方案:设置热点key永不过期,或使用互斥锁更新。
核心考点五:安全架构
1. 身份认证:口令 vs. 公钥体系
- 口令认证:简单但易受攻击(暴力破解、中间人)。
- 公钥体系(PKI):
- 优点:私钥不传输,安全性高,可用于数字签名和加密。
- 缺点:计算复杂度高,需要CA证书管理。
- 为什么这么考:安全是架构设计的非功能性需求,考查考生对认证机制和加密技术的权衡。
2. 数字信封
- 加密过程:
- 生成对称密钥(如AES)加密文件数据。
- 用接收方公钥加密对称密钥。
- 将加密后的对称密钥和文件数据一起发送。
- 解密过程:
- 接收方用私钥解密对称密钥。
- 用对称密钥解密文件数据。
- 智能拓展:结合了对称加密(高效)和非对称加密(安全分发密钥)的优点。
高频考点总结与关联
- 架构演进:从单体到SOA再到微服务,核心是解耦和服务化。
- 数据一致性:分布式事务(如Saga模式)与CAP理论的权衡。
- 缓存与数据库:读写分离、主从复制是提升性能的经典方案,但需注意数据延迟问题。
- 安全设计:认证(PKI)、授权(RBAC)、加密(数字信封)是安全架构的三大支柱。
冲刺提示:案例分析题通常结合具体场景,务必先识别问题(如性能瓶颈、安全风险),再匹配架构模式(如ESB、微服务),最后阐述方案优劣。