- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
(2025年)java架构师面试题及答案大全
Q:设计高并发系统时,核心要考虑哪些技术点?如何落地实现?
A:高并发系统设计需从流量管控、资源调度、数据存取、容错保障四个维度切入。流量管控层面,需通过Nginx进行请求转发与静态资源缓存,结合Sentinel实现QPS限流(如设置核心接口QPS阈值为10万)、热点参数限流(针对秒杀场景的商品ID参数);使用网关层做请求过滤(如恶意IP拦截、重复请求校验)。资源调度方面,采用异步化设计,将非核心链路(如日志记录、消息通知)通过RocketMQ/Kafka异步处理(设置消息队列的分区数为8,消费组并行度为16);对于计算密集型任务,使用线程池隔离(如独立创建IO密集型线程池和CPU密集型线程池,避免资源竞争)。数据存取需构建多级缓存体系:本地Caffeine缓存(设置最大容量5000,过期时间5分钟)存储高频热点数据,Redis集群(主从+哨兵模式,启用Pipeline批量操作)存储全局热点数据;数据库层通过分库分表(如按用户ID取模分16库16表)降低单库压力,配合读写分离(主库写,从库读,使用ShardingSphere中间件自动路由)。容错保障需实现熔断降级(Sentinel设置接口RT超过500ms触发熔断,降级返回默认值)、服务超时控制(Feign设置连接超时1s,读取超时3s)、自动扩缩容(K8s根据CPU负载自动调整Pod数量,最小3个,最大10个)。例如某电商大促场景,通过上述方案将首页QPS从日常5万提升至80万,DB连接数稳定在200以内,核心接口错误率低于0.01%。
Q:分布式事务有哪些主流解决方案?如何根据业务场景选择?
A:分布式事务需权衡一致性、性能与实现复杂度,主流方案包括:
1.TCC(Try-Confirm-Cancel):通过业务层分段提交实现。Try阶段锁定资源(如冻结账户余额),Confirm阶段提交资源(扣除冻结金额),Cancel阶段释放资源(解冻冻结金额)。适用于强一致性要求高、资源可反向操作的场景(如支付、库存扣减)。优点是一致性强(最终一致或准实时一致),缺点是开发成本高(需实现三阶段接口),需处理空回滚(Try未执行但收到Cancel)和幂等性问题(通过事务ID+状态表校验)。
2.可靠消息最终一致性:基于消息中间件的事务消息机制(如RocketMQ的半消息)。业务系统先发送半消息,执行本地事务,成功则确认消息,失败则回滚消息;消费方需保证消息幂等(通过唯一消息ID+状态表)和最终成功(失败则重试,超过次数则人工介入)。适用于异步场景(如订单支付后通知物流、积分发放),优点是对业务侵入小,缺点是一致性延迟(秒级),依赖消息中间件可靠性(需开启消息持久化、主从同步)。
3.SeataAT模式:基于XA协议的改进,通过全局事务ID串联分支事务。RM(资源管理器)在执行SQL前记录回滚日志,全局事务提交时直接提交本地事务;全局回滚时根据回滚日志反向补偿。适用于数据库强依赖场景(如跨库的订单-库存-账户事务),优点是无需手动实现补偿逻辑,缺点是对数据库有侵入(需存储回滚日志),高并发下可能因锁竞争影响性能(可通过调大Seata的undo_log表索引优化)。
选择时,若业务要求秒级一致且允许异步(如通知类),优先选可靠消息;若涉及资源强锁定(如秒杀库存),选TCC;若跨库事务且希望无代码侵入,选SeataAT。例如金融转账场景,需强一致性且支持回滚,应选TCC;而电商下单后通知物流,选可靠消息更合适。
Q:微服务架构中,如何有效治理服务间的依赖关系?
A:服务依赖治理需从可视化、规范化、自动化三方面入手:
1.依赖可视化:通过链路追踪工具(如Skywalking)采集调用链数据,绘制服务调用拓扑图(展示服务A→B→C的调用路径及频率),标注关键指标(RT、错误率、QPS);结合服务元数据管理(如使用Nacos存储服务版本、负责人、依赖列表),建立依赖知识库(可查询服务B依赖的数据库、Redis实例)。
2.依赖规范化:制定服务契约(通过OpenAPI3.0定义接口文档,包含参数类型、状态码、示例),强制通过CI/CD流程校验(如Maven插件验证接口变更是否兼容);限制跨层调用(如禁止前端服务直接调用数据库层服务,必须通过应用层服务中转),定义依赖层级(展示层→应用层→领域层→基础设施层)。
3.依赖自动化:通过服务网格(如Istio)自动管理服务间通信(自动注入Sidecar代理,实现流量镜像、故障注入);利用K8s的Service资源定义服务发现规则(如按标签选择Pod),结合EndpointSlice优化大规模服务的发现性能;配置依赖熔断(Sentinel设置服务B对服务C的调用错误率超过5%时触发熔断,fa
您可能关注的文档
最近下载
- 蛟龙号载人潜水器.pptx VIP
- GB_T 5338.4-2023 系列1集装箱 技术要求和试验方法 第4部分:无压干散货集装箱.docx
- 数字经济与人工智能应用.pptx VIP
- 重点学生跟踪教育档案.docx VIP
- GB 19522-2024 车辆驾驶人员血液、呼气酒精含量阈值与检验.pdf VIP
- 个人简历模板完整版(精选30套) .pdf VIP
- 城市道路工程设计规范(2020年版).pdf VIP
- 南方电网设备技术规范书-架空输电线路图像视频监测装置(通用部分).doc VIP
- 戴德梁行酒店式公寓服务规范(麦子整理版).pdf VIP
- 标准图集-20S517排水管道出水口图集.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)