- 博客(133)
- 资源 (1)
- 收藏
- 关注
原创 05-06-A-Doris由浅入深详解
Apache Doris 是易用型实时数仓代表,基于 MPP 架构与列式存储,兼容 MySQL 协议,支持秒级导入与高并发报表。其 FE/BE 分工明确:FE 负责元数据与查询优化,BE 负责存储与计算。数据按“分区+分桶”切分为 tablet,通过多副本保障高可用。支持明细、聚合、更新三种数据模型,结合向量化执行、MPP 并行计算与物化视图,实现高效分析。相比 ClickHouse 更易用,优于 ES 的聚合能力,是实时数仓的理想选择。
2026-11-05 14:23:46
285
原创 分布式发号器设计全解(含完整代码)
本文设计并实现了一套高并发、全局唯一的分布式发号器,支持日均百万级、峰值万级QPS。核心思想为:Redis原子领段 + 本地内存自增 + 双Buffer预取 + 自适应步长 + 持久化恢复。通过INCRBY批量获取号段,避免频繁网络开销;利用双缓冲与80%预取机制保障无阻塞发号;结合自适应步长动态调节号段大小,应对流量波动;通过定期刷cursor和实例落盘确保宕机不跳号,重号窗口控制在秒级内,由唯一键约束兜底。代码可直接落地,兼顾性能、可用性与业务合规性。
2026-11-04 17:02:51
283
原创 09-01-A-Maven与依赖治理详解
本文以真实多模块 Spring Boot 项目为案例,深入解析 Maven 依赖治理核心:通过最短路径优先与先声明优先两大调解规则,定位并解决依赖冲突;借助 dependencyManagement 与 BOM 实现版本统一管控;利用私服 Nexus 实现依赖收敛与构建可重现;结合聚合、继承结构优化工程架构,最终实现“一处修改、处处生效”的高效治理。
2026-10-23 09:43:30
465
原创 08-05-B-性能优化实战面试与生产事故实战
本文聚焦性能优化实战,涵盖面试高频追问链:以P99为核心指标,强调延迟、错误率、吞吐量协同监控;提出“测量-定位-优化-验证”四步闭环,倡导按收益/成本比优先排序,避免无效优化;通过链路追踪、资源水位分析与火焰图等工具精准定位瓶颈;强调全链路压测在发现联动效应中的关键作用,助力大促前系统稳定性保障。
2026-10-23 09:37:53
562
原创 08-05-A-性能优化实战详解
本文以商品详情页P99从800ms优化至80ms的真实案例为主线,系统讲解性能优化方法论。强调“测量先行”,通过全链路压测、流量染色与影子库实现安全验证;运用火焰图、慢SQL日志、链路追踪精准定位瓶颈;遵循“SQL→缓存→调用结构→JVM→网络”优先级分层优化,重点突破串行调用、慢查询与连接池瓶颈。结合P99等核心指标解析,揭示平均值误导性,倡导“一次一改、可回滚、可验证”的闭环实践,完整复现十步优化路径,实现性能跃迁。
2026-10-23 09:33:27
367
原创 08-04-B-典型业务系统设计面试与生产事故实战
设计订单系统需从算账、数据模型、核心流程与兜底四方面入手。采用 userId 分片提升查询效率,通过状态机保障流程一致性,结合预扣库存与延迟消息实现超时关单,以幂等令牌与唯一索引防范重复下单。关键决策包括服务端算价、库存预扣、状态三件套及双保险兜底机制,兼顾高并发、一致性与可运维性。
2026-10-22 14:05:08
258
原创 08-04-A-典型业务系统设计详解
对账像月底夫妻对账本:你记一笔我记一笔,逐笔核对,对不上的必须查清楚。本地有 渠道无渠道有 本地无金额不一致完全一致T+1 凌晨下载渠道对账单。解析为统一格式。本地支付流水导出。逐笔核对引擎。差异类型。长款?实际是本地成功渠道失败→ 冲正, 订单回退, 通知用户。短款 / 掉单。
2026-10-22 14:01:01
509
原创 08-03-B-高可用设计面试与生产事故实战
本文系统梳理高可用设计面试核心考点,聚焦“可用性量化”“故障预算”“RTO/RPO”三大维度,结合真实事故复盘,揭示从目标设定、成本权衡到容灾演练的完整闭环。通过三条追问链,深入剖析冗余与故障转移的本质:消灭单点、跨域隔离、自动切换,并强调“量化思维”与“工程落地”能力——真正高可用,是数字驱动、流程闭环、持续验证的体系化工程。
2026-10-22 13:54:31
232
原创 08-03-A-高可用设计详解
高可用设计核心是“承认故障必然发生”,通过冗余(应用、数据、机房、链路)、故障转移(自动/手动)、降级预案(预案库+一键执行)三板斧控制影响。量化可用性用SLA“几个9”,结合故障预算管理发布节奏。多机房与异地多活实现跨地域容灾,单元化架构保障独立闭环。通过混沌工程主动注入故障,验证系统韧性,确保真实故障下RTO、RPO达标。
2026-10-21 09:28:49
163
原创 08-02-B-秒杀系统设计面试与生产事故实战
秒杀系统设计面试高频考察流量漏斗、防超卖、防刷与热点隔离。核心架构为:CDN挡读、网关限流、Redis Lua原子扣库存(防超卖)、MQ削峰、延迟消息回补库存。实战中易发超卖资损、秒杀拖垮全站、库存未回补、被脚本刷空等事故。预防关键:Lua原子操作、独立集群隔离、幂等回补、四层防刷。压测需模拟瞬时尖峰,验证成交数≤库存。一句话教训:不原子扣减=资损,无隔离=全站崩。
2026-10-21 09:27:38
196
原创 08-02-A-秒杀系统设计详解
秒杀系统设计核心是构建流量漏斗:通过CDN静态化、网关限流、Redis原子扣减(推荐Lua脚本)、MQ削峰,层层过滤请求,确保仅1000个有效订单到达数据库。防超卖采用Redis Lua脚本实现判断+扣减+记录的原子操作,避免库存超卖;防刷则通过验证码、签名、限流、黑名单四层防护。热点隔离保障秒杀故障不影响正常业务,整体实现高并发下“快速拒绝99%失败请求,精准成交1%成功订单”。
2026-10-21 09:26:48
397
原创 08-01-B-高并发方法论面试与生产事故实战
本文为《高并发方法论》配套实战篇,聚焦面试高频题与生产事故。通过“五大手段”连贯问答(缓存、异步、池化、预计算、分片),解析高并发设计逻辑与使用顺序;结合QPS演进路线(1千→100万)与容量规划公式,指导系统扩容。强调压测需全链路、影子数据隔离,但指出压测达标不等于上线无忧——流量分布、数据、依赖、时间差异仍需监控与灰度兜底。最后以“缓存雪崩全穿透、异步丢消息、连接池耗尽”等典型事故复盘,提炼“按瓶颈顺序优化、预防胜于救火”的核心原则。
2026-10-20 14:57:48
455
原创 08-01-A-高并发方法论详解
高并发是一套层层递进的方法论,核心是“找瓶颈、消瓶颈”。五大手段依次为:缓存挡读(降数据库压力)、异步削峰(主链路提速)、池化复用(降低资源开销)、预计算提前算(解决计算瓶颈)、分片水平拆(突破单机上限)。按顺序使用,结合容量规划与全链路压测,可支撑QPS从千级到百万级演进。关键在于遵循Amdahl定律,优先优化瓶颈环节。
2026-10-20 14:56:42
394
原创 23-A-访问者模式详解
访问者模式解决数据结构稳定却需频繁新增操作的问题,通过“双分派”机制将操作从元素类中抽离。以订单行项目为例,避免重复的instanceof判断,实现开闭原则:新增类型只需扩展元素类,新增操作仅需新增Visitor类。其核心是两次多态调用——元素选择访问者,访问者根据元素类型精准执行对应逻辑。虽强大易用,但滥用会导致代码复杂、维护困难,应谨慎使用。
2026-10-20 09:04:31
259
原创 22-A-模板方法模式详解
模板方法模式通过定义流程骨架(final模板方法)与抽象/钩子方法,解决“流程一致、细节各异”场景的复用难题。核心价值在于强制保证审计、告警等横切逻辑不被绕过,避免因复制代码导致遗漏。结合好莱坞原则与“模板+回调”思想(如JdbcTemplate),既保持灵活性又提升可维护性,适用于报表导出、对账、数据同步等典型业务。
2026-10-20 09:01:54
338
原创 21-A-策略模式详解
策略模式通过“接口+抽象模板+工厂”组合,解决多选一场景的代码膨胀问题。核心思想:用supportType()自注册实现策略自动映射,结合Spring集合注入与模板方法,消灭冗长if-else。公共逻辑(校验、精度、审计)集中管理,子类仅实现差异部分,支持开闭原则、独立测试与高可维护性。生产级骨架可直接复用,是处理计费、限流等场景的高效方案。
2026-10-20 09:00:18
283
原创 20-A-状态模式详解
状态模式通过将订单状态及其行为封装为独立类,实现状态迁移规则的集中管理。每个状态类定义自身可接受的事件及迁移逻辑,非法迁移由默认reject方法统一拦截,避免散落的switch语句带来的维护难题。结合Spring StateMachine可进一步实现可视化状态机,确保状态流转的合法性与一致性,提升系统可扩展性与可靠性。
2026-10-19 13:51:07
90
原创 19-A-观察者模式详解
观察者模式通过事件总线解耦发布者与订阅者,实现订单支付成功后积分、通知、统计等联动。Spring 事件机制中,@EventListener 默认同步执行,易阻塞主流程;需用 @Async 异步化非关键逻辑。关键点在于使用 @TransactionalEventListener 的 AFTER_COMMIT 模式,确保事务提交后才触发事件,避免因事务回滚导致消息错发或数据不一致。领域事件应自包含数据,避免订阅者反查。最终明确:进程内用 Spring 事件,跨系统用 MQ,划分清晰边界。
2026-10-19 13:49:36
170
原创 18-A-备忘录模式详解
备忘录模式在不破坏封装的前提下,实现对象状态的保存与恢复。通过发起人(Originator)、备忘录(Memento)和管理者(Caretaker)三者协作,支持订单改价历史记录与一键回滚。备忘录仅对外暴露存取接口,管理者只存不读,确保状态安全。结合不可变对象与栈结构,高效实现撤销、草稿箱、事件溯源等场景,避免状态散乱与重复代码。
2026-10-19 13:46:52
408
原创 17-A-中介者模式详解
中介者模式通过引入中介者,将对象间的网状调用转化为星形结构,解决模块间高耦合、修改牵连广的问题。以支付成功联动为例,订单、库存、积分、通知等模块不再直接互调,而是统一通过中介者编排流程,实现逻辑集中、依赖降维。结合MQ的异步解耦,更可扩展为分布式场景下的系统级中介者,提升可维护性与可扩展性。
2026-10-19 13:44:30
285
原创 16-A-迭代器模式详解
迭代器模式通过统一的hasNext()/next()接口,实现不暴露集合内部结构的顺序访问。核心价值在于解耦遍历逻辑与数据结构,如将分页远程API封装为可for-each的迭代器,实现翻页透明化;或为树形结构提供深度优先遍历。结合Iterable、Spliterator与Stream,支持懒加载、并发安全及并行处理,显著提升代码复用性与可维护性。
2026-10-19 13:42:55
274
原创 15-A-解释器模式详解
解释器模式用于将“小语言”规则(如营销条件)解析为可求值的语法树。通过定义文法、终结符(如比较表达式)与非终结符(AND/OR组合),结合上下文变量,实现规则动态配置与运行时求值。虽可手写简易规则引擎,但生产中推荐使用成熟框架如QLExpress或Aviator,避免重复造轮子。
2026-10-17 09:27:32
100
原创 14-A-命令模式详解
命令模式将请求封装为可存储、排队、撤销的命令对象,解决操作耦合与不可回溯问题。通过定义命令接口、调用者与接收者,实现任务队列、操作日志回放与撤销重做。典型应用如运营后台的批量改价、报表导出等,支持异步执行、持久化记录与事务回滚,提升系统灵活性与可维护性。
2026-10-17 09:26:28
193
原创 13-A-责任链模式详解
责任链模式通过将校验环节解耦为可插拔的处理器,实现下单校验逻辑的灵活组合。各环节按序执行,支持快速失败或全量收集,通过supports和order实现动态筛选与排序,避免代码臃肿,提升可维护性与扩展性。
2026-10-17 09:25:08
316
原创 12-A-代理模式详解
代理模式通过在调用前后插入横切逻辑(如鉴权、日志、耗时统计),实现对目标对象的无感增强。静态代理需手动编写代理类,维护成本高;JDK动态代理要求目标类有接口,基于接口生成代理;CGLIB则通过继承目标类实现代理,支持无接口场景但受限于final类和方法。Spring AOP统一管理代理,自动选择JDK或CGLIB,支撑事务、缓存等特性。注意自调用(this.method())不经过代理,导致AOP失效。
2026-10-17 09:22:54
97
原创 11-A-享元模式详解
享元模式通过共享细粒度对象的内部状态,减少内存占用。适用于大量相似对象场景,如商品规格字典:将可复用的规格名、色值等作为内部状态存于享元中,价格等外部状态由调用方传参。借助 ConcurrentHashMap.computeIfAbsent 实现线程安全的享元池,实现 1500 万 SpecItem 仅需 260 个实例,内存从 GB 级降至 KB 级。JDK 中 Integer.valueOf() 是典型应用,与对象池(如连接池)本质不同——享元不可变且可并发共享,对象池则需借还管理。
2026-10-17 09:18:43
374
原创 10-A-外观模式详解
外观模式为复杂子系统提供统一入口,如下单流程中封装校验、算价、锁库存等五步操作,使调用方只需调用placeOrder()。它避免逻辑分散在各端,统一编排顺序、事务与补偿,提升可维护性与复用性,但需警惕演变为“上帝类”,应坚持“只编排不实现”的原则。
2026-10-16 11:21:53
350
原创 09-A-装饰器模式详解
装饰器模式通过动态包装实现功能叠加,无需继承与类爆炸。核心思想:组件接口统一,装饰器持有一个组件引用,在调用前后添加逻辑。如商品缓存可灵活组合日志、压缩、统计等功能,任意顺序嵌套,运行时自由组合,解决“功能组合指数增长”难题,广泛应用于Java IO、MyBatis缓存等场景。
2026-10-16 11:20:23
120
原创 08-A-组合模式详解
组合模式通过统一组件接口,让叶子与容器可一致使用,解决树形结构中“部分-整体”调用不一致问题。在商品分类树场景中,通过安全式设计,调用方无需区分节点类型,只需调用countProducts()或print(),递归逻辑由容器自动完成,实现代码简洁、扩展性强。
2026-10-16 11:15:21
126
原创 07-A-桥接模式详解
桥接的核心:把 M×N 的继承爆炸拆成 M+N 的两个独立体系,中间用组合(桥)连接。使用前提:确实有两个独立变化的维度,且都会扩展——只有一个维度用策略就够。实现要点:抽象侧持实现侧接口引用;抽象侧常配模板方法(render/decorate/send 骨架);渠道用 Spring 集合注入做成可配置。纪律:桥接之后两个维度不许再互相硬编码引用(降级、重试这类跨维度逻辑要放在组合层或用装饰器包渠道)。代价:要求一开始就识别出两个维度并正确划分抽象层次——对设计能力有要求,识别错了比不用更乱。📌。
2026-10-16 11:11:48
284
原创 07-06-B-链路追踪与可观测面试与生产事故实战
本文聚焦链路追踪与可观测性实战,解析面试高频题与生产事故。从可观测三支柱(指标、链路、日志)协同定位问题,到 traceId 透传(HTTP/MQ/线程池)保障链路完整;深入采样策略(错误全采样、慢请求优先)平衡性能与可查性;剖析告警风暴成因及收敛机制(去重、抑制、聚合),强调 Runbook 规范响应。结合 OpenTelemetry 统一标准降低厂商绑定,以“三支柱→透传→采样→告警”闭环应对真实故障场景,实现从“失明”到“精准定位”的可观测跃迁。
2026-10-16 10:58:05
332
原创 07-06-A-链路追踪与可观测详解
本文详解链路追踪与可观测性,梳理Metrics、Logging、Tracing三支柱关系:指标发现异常,链路追踪定位瓶颈,日志追溯根因。核心概念包括Trace(请求全链路)、Span(调用片段)、traceId/SpanId跨服务透传(通过HTTP Header、MQ属性、线程池等)。介绍OpenTelemetry统一标准与SkyWalking无侵入字节码增强原理,并解析告警分级与收敛机制,助力高效排查微服务问题。
2026-10-15 14:01:01
305
原创 07-05-B-服务治理面试与生产事故实战
Q1:限流有哪些算法?各自优缺点?** 30 秒电梯版**四种算法(见 A 篇第二章):一句话总结:计数器简单但有临界突刺,滑动窗口解决突刺,令牌桶允许突发(API 限流最常用),漏桶强制平滑(短信发送)。** 深挖版**** 追问链**:令牌桶和漏桶怎么选?→ Q2Q2:令牌桶和漏桶的区别?怎么选?** 30 秒电梯版**一句话总结:令牌桶管"进"允许突发,漏桶管"出"强制匀速——API 限流用令牌桶,短信发送/匀速写库用漏桶。** 深挖版**** 追问链**:分布式限流怎么做?→ Q3Q3:分布式限流怎
2026-10-15 13:51:16
226
原创 07-05-A-服务治理详解
本文详解服务治理核心五大能力:限流(计数器、滑动窗口、令牌桶、漏桶)、熔断(三状态机制)、降级(分级与兜底)、隔离(舱壁模式)及灰度发布(金丝雀、蓝绿等)。通过对比算法原理与实战场景,揭示限流防突增、熔断保系统、降级守核心、隔离控蔓延、灰度控风险的协同机制,助力构建高可用微服务架构。
2026-10-15 13:48:50
156
原创 07-04-B-分布式理论与实践面试与生产事故实战
摘要(≤150字): 本文聚焦分布式理论在面试与生产中的实战应用,通过高频连贯问答解析CAP、Raft、一致性哈希与分布式事务四方案。深入剖析CAP取舍逻辑、Raft防脑裂机制、TCC三大坑及事务选型决策框架。结合真实事故场景,以“场景→根因→预防→解决→教训”五段式复盘,揭示2PC阻塞、数据不一致等核心问题,强调最终一致+对账兜底的工程实践,助力架构师跨越理论到落地的鸿沟。
2026-10-15 13:46:52
305
原创 07-04-A-分布式理论与实践详解
本文详解分布式系统核心理论与实践:从CAP定理三选二的必然性(P必有,故二选一)到BASE理论的工程妥协;通过Raft算法图解其Leader选举与日志复制流程,揭示共识机制实现原理;结合一致性哈希解决扩缩容数据迁移问题;最后对比2PC、TCC、Saga、本地消息表四种分布式事务方案,指导实际选型。内容通俗易懂,助你掌握分布式核心能力。
2026-10-15 13:45:29
153
原创 07-03-B-RPC与通信面试与生产事故实战
本文聚焦RPC面试高频题与生产事故实战,以连贯问答链解析核心原理:从RPC调用链路、Dubbo架构与SPI机制,到序列化选型(JSON/Hessian/Protobuf/Kryo)、HTTP vs RPC对比,及gRPC高性能原因。深度剖析超时重试、序列化不兼容、连接池耗尽等典型故障场景,提出“场景→根因→预防→解决→教训”五段式复盘方法,强调幂等性、限流降级与版本兼容的重要性,助力高效应对高并发微服务挑战。
2026-10-14 08:56:19
129
原创 07-03-A-RPC与通信详解
本文详解RPC与通信机制,涵盖RPC核心原理(动态代理、序列化、网络传输、服务发现)、Dubbo架构(Provider/Consumer/Registry/Monitor)及SPI扩展机制,对比JSON、Hessian、Protobuf、Kryo等序列化协议,解析HTTP与RPC选型决策,并深入剖析gRPC为何高效(基于HTTP/2+Protobuf+零拷贝)。通过通俗讲解与流程图,帮助读者掌握远程调用本质,实现“像本地调用一样用远程服务”的工程落地。
2026-10-14 08:55:39
121
原创 07-02-B-SpringCloud全家桶面试与生产事故实战
本文聚焦Spring Cloud全家桶面试高频考点与生产事故实战,以“原理+故障”为核心,通过连贯问答链解析注册中心(Nacos AP/CP、心跳机制)、配置刷新(@RefreshScope原理)、网关限流(令牌桶算法)、OpenFeign调用(动态代理、降级熔断)等核心组件。结合真实场景复盘注册中心故障、配置推错、网关雪崩等事故,提出“客户端缓存兜底、注册中心高可用、合理配置超时与限流”等预防与应急策略,强调“微服务治理需兼顾可用性与稳定性”。
2026-10-14 08:54:54
246
原创 07-02-A-SpringCloud全家桶详解
Nacos 注册中心的 AP/CP 模型与服务发现流程、配置中心的动态刷新原理、Gateway 的过滤器链与路由规则、OpenFeign 的声明式调用与负载均衡策略
2026-10-14 08:52:40
177
card-system.zip
2020-03-05
csdn的访问用户都是僵尸账号
2026-09-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅