系统结构总结
Spring框架原理 动态代理 JDK动态代理:InvocationHandler + Proxy.newProxyInstance CGLIB动态代理:MethodInterceptor + Enhancer @Profile注解 注解标识:指定生效环境 环境激活:spring.profiles.active配置 加载逻辑:ProfileCondition匹配判断 Spring事件机制 核心组件:事件/发布者/监听器 异步处理:@EnableAsync + @Async 底层原理:观察者模式 + SimpleApplicationEventMulticaster 自定义注解+AOP 注解定义:@Target + @Retention(RUNTIME) 切面开发:@Aspect + @Pointcut + 通知注解 开启AOP:@EnableAspectJAutoProxy 消息中间件 消息可靠性保障 生产端:生产者确认 + 本地消息表重试 服务端:持久化 + 集群主从复制 消费端:手动ACK + 幂等消费 Confirm与Ack机制区别 Confirm:生产者→MQ服务器,确认投递成功 Ack:消费者→MQ服务器,确认消费成功 幂等消费方案 唯一标识去重:msgId + 业务唯一键 数据库乐观锁:版本号控制 分布式锁:锁定业务资源 集群故障检测 RocketMQ:NameServer心跳检测 RabbitMQ:Erlang集群心跳 + 镜像队列 Kafka:Controller监控 + 副本重选举 消息积压解决 排查步骤:监控指标→消费者状态→MQ服务端瓶颈 解决方法:扩容消费者 + 优化消费逻辑 + 分流处理 SQL查询优化 Explain执行计划 rows字段:预估扫描行数,评估查询效率 索引有效性判断:rows值与表数据量对比 事务隔离级别 级别排序:读未提交→读已提交→可重复读→串行化 性能影响:隔离级别越高,并发性能越低 实战选型:读已提交/可重复读 ORM N+1问题解决 MyBatis:嵌套查询+延迟加载 / 嵌套结果映射 JPA:JOIN FETCH预加载 通用方案:手写联表SQL performance_schema诊断 开启配置:performance_schema = on 监控维度:热点SQL / 锁等待 / 线程状态 辅助工具:sys库封装查询 慢SQL排查优化 排查流程:开启慢查询日志→mysqldumpslow分析→Explain执行计划 优化手段:索引优化 / SQL逻辑优化 / 分库分表 / 缓存 计算机网络协议 TCP三次握手 流程:SYN→SYN+ACK→ACK 目的:确保双方收发能力正常,防止失效请求 ARP协议作用 核心功能:IP地址→MAC地址转换 工作流程:广播请求→单播回复→缓存映射 CIDR技术 子网划分:变长子网掩码 + 前缀长度 路由聚合:多子网→超网,减少路由表条目 DNS域名解析 查询顺序:本地缓存→本地DNS→根DNS→顶级域DNS→权威DNS 查询类型:递归查询(客户端→本地DNS)、迭代查询(本地DNS→各级DNS) 双因素认证(2FA) 认证因子:知识因子+持有因子/生物因子 实现方案:短信验证码 / TOTP动态密码 / HOTP动态密码
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1145311.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!