分层架构通过将系统划分为表示层、业务层、数据访问层和数据层实现职责分离和降低耦合。SOA强调以服务为中心通过标准接口实现系统集成和服务复用。微服务将系统拆分为一组围绕业务能力构建的小服务每个服务可以独立开发、测试、部署、扩展。消息队列可实现异步处理、系统解耦、削峰填谷和提高系统可用性。API网关为微服务系统提供统一入口负责路由、认证、限流、熔断、监控。熔断用于在下游服务故障时快速失败防止故障扩散。限流用于控制访问速率保护系统在高并发下不被压垮。服务治理包括服务注册发现、负载均衡、配置管理、熔断降级、限流、监控和链路追踪。二、必背知识点单体架构开发简单部署简单但是系统变大后维护和扩展困难。分层架构职责清晰便于维护和替换但层次过多会影响性能。SOA服务粒度相对较粗偏企业集成和服务复用。微服务服务粒度更细强调独立部署、弹性扩展、故障隔离、团队治理。微服务问题分布式事务、服务调用复杂、运维成本高、数据一致性难、链路追踪困难。消息队列适合订单异步处理、日志采集、通知推送、流量削峰和事件驱动。消息队列风险包括消息丢失、重复消费、消息积压、顺序问题和最终一致性问题。负载均衡可分为客户端负载均衡、服务端负载均衡、四层负载均衡以及七层负载均衡。高可用设计包括集群部署、负载均衡、故障转移、限流降级、数据备份和容灾演练。三、考试常见问法比较单体、SOA和微服务的优缺点说明为什么引入消息队列根据系统架构图补API网关、注册中心、消息队列、缓存、数据库等组件说明如何实现服务治理分析微服务架构带来的问题及解决措施说明如何提高系统可用性和可扩展性设计限流、熔断、降级和容错方案四、做题步骤看到“系统复杂、多个业务模块独立演进”考虑微服务或者分层架构。看到“高峰请求、耗时任务、通知处理”考虑消息队列。看到“统一入口、多端访问、鉴权限流”考虑API网关。看到“瞬时流量过大”考虑限流、削峰、缓存和队列。看到“服务越来越多难以定位问题”考虑注册中心、配置中心、监控链路追踪。五、易混对比SOA偏服务复用和企业集成。微服务偏小服务、独立部署、自治。消息队列异步、解耦、削峰。熔断下游故障时快速失败。降级保核心功能牺牲非核心功能。限流控制请求速率。负载均衡请求分摊到多个实例。链路追踪查一次请求经过哪些服务。六、答题模板回答架构设计题时可以先说明系统采用分层或微服务架构将表示层、业务服务、数据访问、基础设施能力分离。对外通过API网关提供统一入口内部通过注册中心实现服务发现通过消息队列实现异步解耦和削峰填谷通过缓存和负载均衡提升性能通过熔断、限流、降级、监控和链路追踪保障高可用性和可运维性。七、展开理解架构题不要只堆技术名词要把技术和问题对应起来。消息队列解决同步调用慢和流量冲击问题缓存解决热点读取压力网关解决统一入口和横切治理注册中心解决服务发现熔断降级解决故障扩散链路追踪解决分布式定位困难。八、易错点微服务不是服务拆得越细越好拆分过细会增加调用和运维复杂度。引入消息队列后要考虑消息可靠性、幂等和最终一致性。熔断和限流不是一回事熔断针对故障限流针对流量。高可用不能只写集群还要有故障检测、切换和恢复机制。分布式事务不要轻易写强一致很多场景采用最终一致性。九、临考优先背优先背消息队列四作用是异步、解耦、削峰、提高可用微服务优点是独立部署、弹性扩展、故障隔离微服务问题是事务、调用、运维、监控复杂。