- 博客(2223)
- 资源 (12)
- 收藏
- 关注

原创 小工匠聊架构文章一览【不间断持续更新】
文章摘要 本文系统梳理了微服务架构与分布式技术的核心知识体系,包含三大板块: 微服务布道系列:详细解析从单体架构到服务化的演进路径,涵盖服务注册发现、RPC调用、监控追踪等12个核心主题; 分布式理论篇:深入剖析CAP定理、BASE理论、Paxos算法等分布式系统基石理论; 分布式实战篇:聚焦事务、服务、缓存、存储四大场景,提供两阶段提交、TCC模型、热点key治理等20余种解决方案。文中配有清晰的技术架构图,每个主题均附详细技术文章链接,形成完整的技术图谱。
2020-11-12 00:01:55
83863
10
原创 每日一博 - 容错机制 : 指数退避+动态限流+熔断+监控告警设计
本文介绍了一个基于动态限流、熔断和指数退避重试的MQ消息发送系统架构。系统通过HTTP接入层进入动态限流模块,根据MQ消费延迟(Lag)动态调整令牌桶速率,控制请求流量。熔断器模块根据Lag阈值切换状态,同步调整限流参数。发送失败时,指数退避重试模块加入随机抖动优化重试效率。MQ客户端服务层整合所有组件,最终将消息发送至Kafka/Redis。系统还通过Prometheus监控关键指标,实现阈值告警。这种架构有效解决了高并发场景下的流量控制和故障恢复问题。
2025-06-07 08:45:00
280
原创 每日一博 - 指数退避Exponential Backoff + 抖动Jitter
为了解决这一问题,我们需要在重试逻辑中施加延迟,并逐次放大延迟间隔,让服务端有足够时间恢复。此时,就要用到**指数退避(Exponential Backoff)+ 抖动(Jitter)**策略。如果对这些错误不做任何处理,客户端会立即重试,短时间内大量并发请求重新涌向服务器,往往引起更严重的拥堵。开始,介绍了指数退避的基本公式、抖动(Jitter)的重要作用以及最大退避时间和最大重试次数的选取。本示例使用最简单的 Full Jitter,即在。”的组合,既能快速让客户端后退,又能避免重试风暴。
2025-06-07 05:15:00
412
原创 每日一博 - Kafka、Reactor、NGINX的背压控制与性能调优
在每日一博 - 背压(Backpressure)的核心原理与实现方式中,系统地介绍了背压机制的原理、常见场景与典型案例。接下来将进一步聚焦三个实际系统(Kafka、Reactor、NGINX),详细讲解如何结合各自架构与配置项,实现背压控制与性能调优。在 Kafka 消息队列中减少 Lag、保护 Broker 与消费者资源;在 Reactor 响应式编程中使用背压算子避免内存泄漏与吞吐不稳定;在 NGINX 反向代理场景下,通过限流与缓冲参数,为下游服务施加背压。
2025-06-06 06:15:00
698
原创 每日一博 - 背压(Backpressure)的核心原理与实现方式
本文系统介绍了背压(Backpressure)机制的概念、原理及典型应用场景。背压指当消费者处理能力不足时,通过反馈机制使生产者主动限流,避免系统崩溃。文章详细解析了背压的产生背景(生产消费速率不匹配)、核心原理(缓冲区监控、阈值判断、信号反馈和速率调整)以及实现方式。典型案例包括TCP流量控制、Reactive Streams和Kafka消息队列,展示了不同场景下的背压应用。最后总结了背压设计要点,强调其在保障系统稳定性中的关键作用。
2025-06-06 05:15:00
995
原创 性能优化 - 案例篇: 19 条常见的 Java 代码优化法则
这篇文章总结了19条Java代码优化法则,涵盖局部变量使用、变量作用域缩小、静态变量访问优化和字符串拼接技巧等。通过减少堆分配、缩小变量作用域、直接类名访问静态变量及合理使用StringBuilder,可显著提升性能。文章还通过正则表达式优化和HikariCP字节码修改案例,展示了这些优化原则的实际应用。最后强调在性能优化中需权衡可读性与效率,并推荐进一步学习JVM底层原理和性能测试工具。
2025-06-05 06:45:00
958
原创 性能优化 - 案例篇: 详解 BIO NIO AIO
本文系统性地梳理了网络I/O模型的发展历程,从阻塞式I/O(BIO)到非阻塞I/O(NIO)、Reactor模型、异步I/O(AIO),直至响应式编程。文章通过代码示例详细解析了BIO模型的线程资源浪费问题,介绍了NIO的多路复用技术(epoll)及其性能优势,阐述了Reactor模式如何通过事件驱动解决C10k问题,并对比分析了AIO和响应式编程的特点。最终指出Netty等高性能框架基于NIO+Reactor的组合方式,在异步非阻塞I/O领域的成功实践。
2025-06-05 05:15:00
651
原创 性能优化 - 案例篇:CAS、乐观锁、分布式锁和无锁
本文探讨了Java并发编程中的性能优化策略,重点分析了AQS、CAS机制、乐观锁与悲观锁的区别,以及分布式锁的实现方法。首先对比了synchronized和基于AQS的Lock性能差异,指出AQS通过CAS实现非阻塞同步的优势。 详细解析了CAS(Compare And Swap)的基本原理,跟踪AtomicInteger的底层实现,说明其依赖CPU指令保证原子性。通过性能测试证明原子类在高并发场景比synchronized更高效。 讨论了乐观锁和悲观锁的适用场景,并以数据库和Redis为例,展示乐观锁实现
2025-06-04 06:22:00
1188
原创 性能优化 - 案例篇:多线程锁的优化
本文探讨了Java性能优化中的并发锁机制优化方案。首先通过SimpleDateFormat的线程安全问题引出两种解决方案:ThreadLocal和同步锁,并通过JMH基准测试对比两者性能差异,ThreadLocal在高并发场景下性能显著优于同步锁。然后详细解析synchronized的实现原理,包括monitor机制、字节码表现及锁升级过程(偏向锁、轻量级锁到重量级锁)。接着介绍了Lock接口与ReentrantLock的实现机制,包括AQS原理和读写锁应用。最后提供了锁优化的实践技巧,如减少锁粒度、锁分离
2025-06-04 05:15:00
1083
原创 性能优化 - 案例篇:并行计算
本文摘要:随着多核CPU的普及,合理使用并行编程技术对提升系统性能至关重要。文章从实际案例出发,详细介绍了Java并发编程的关键技术:通过CountDownLatch实现多任务并行执行与结果汇总;线程池参数配置的核心要点(线程数、队列、拒绝策略);SpringBoot异步任务实现方式;常见线程安全问题及规避方案;ThreadLocal与FastThreadLocal的性能比较;以及并行编程中的典型问题与解决方案。为开发者提供了从理论到实践的完整性能优化指导。
2025-06-03 06:30:00
1280
原创 性能优化 - 案例篇:使用设计模式优化性能
设计模式与性能优化实践摘要 本文探讨了设计模式与系统性能的关系,重点分析了代理模式、单例模式、享元模式和原型模式在性能优化中的应用。通过Arthas工具排查Spring AOP代理性能问题的实际案例,展示了如何快速定位动态代理带来的性能瓶颈。文章详细对比了JDK动态代理和CGLib代理的原理及性能差异,并介绍了单例模式的不同实现方式、享元模式减少内存开销的机制,以及原型模式通过对象复制优化性能的方法。设计模式的合理运用能够减少重复代码、优化资源使用,为性能优化提供明确切入点。
2025-06-03 05:15:00
1201
原创 性能优化 - 案例篇:大对象的优化
性能优化实践:大对象优化策略 文章从多个维度探讨了Java中大对象优化的具体方法: String内存泄漏案例: JDK6的substring()存在内存泄漏风险,会保留原大数组引用 JDK7+通过数据拷贝修复此问题 建议及时切断大对象引用或手动拷贝数据 集合扩容开销分析: StringBuilder、ArrayList、HashMap等集合扩容时会产生显著性能损耗 具体表现为: StringBuilder按2倍扩容 ArrayList按1.5倍扩容 HashMap翻倍扩容并需重新散列 优化建议预估容量,避免
2025-06-02 08:15:00
915
原创 性能优化 - 案例篇:池化对象_Commons Pool 2.0通用对象池框架
摘要:对象池化技术及其应用 对象池化是一种优化高成本资源(如数据库连接、TCP连接、线程)创建和销毁的技术。通过复用已初始化的对象,避免了频繁的初始化开销和资源浪费。 Apache Commons Pool 2.0是通用的对象池框架,核心包括: GenericObjectPool:管理对象借出、归还和销毁 PooledObjectFactory:定义对象生命周期方法 LinkedBlockingDeque:存储空闲对象,支持LIFO/FIFO策略 配置参数详解: 容量控制:maxTotal(最大实例数)、m
2025-06-02 05:45:00
864
原创 性能优化 - 案例篇:数据一致性
本文介绍了分布式缓存的核心概念、Redis与Memcached的区别比较,以及在Spring Boot项目中集成Redis的两种主要方式。主要内容包括:分布式缓存相较于堆内缓存的优势,Redis在多线程模型、持久化、数据类型等方面的特性,以及通过RedisTemplate和Spring Cache注解实现缓存操作的具体示例。文章还简要提及了分布式缓存在高并发场景下的应用价值,为后续深入讨论缓存问题提供基础框架。适合需要了解Redis基础应用及缓存方案的开发者阅读,可作为分布式系统性能优化的入门参考。
2025-06-01 21:30:49
1563
原创 性能优化 - 案例篇:缓存_Guava#LoadingCache设计
本文摘要:文章系统介绍了缓存技术原理与实现,重点剖析进程内缓存优化方法。首先区分缓存与缓冲的作用差异,指出缓存通过高速存储层加速热点数据访问。随后以Guava LoadingCache为例,详解初始化配置、手动/自动加载模式及容量控制策略。深入讨论三种缓存回收机制(容量、时间、JVM回收)及其引发的缓存颠簸问题。通过LinkedHashMap实现简易LRU算法,分析FIFO/LRU/LFU策略差异。最后总结了缓存应用场景与优化要点,包括合理容量设置、命中率评估及常见注意事项。全文结合理论、工具和案例,为性能
2025-06-01 17:35:37
1330
原创 性能优化 - 案例篇:缓冲区
本文系统介绍了缓冲(Buffer)在性能优化中的应用,从概念、Java I/O实现到异步日志、Kafka生产者等场景。缓冲通过内存聚合数据解决生产-消费速度差异,提升吞吐。重点分析了BufferedReader/BufferedInputStream的装饰者模式实现和8KB默认缓冲区,以及同步/异步缓冲的设计权衡。文章还探讨了缓冲区可能的数据丢失风险,强调需结合预写日志(WAL)等机制保证可靠性。最后总结了缓冲区优化的收益与配置要点,为性能优化提供重要技术手段。
2025-06-01 16:34:47
1397
原创 性能优化 - 工具篇:基准测试 JMH
JMH(Java Microbenchmark Harness)是OpenJDK官方开发的Java微基准测试框架,主要用于精确测量方法级性能。相比手工计时,它能解决JIT编译、测量误差和重复测量等问题。JMH通过注解配置测试流程,包含预热(Warmup)、测量(Measurement)、进程隔离(Fork)等阶段,支持纳秒级精度和多线程测试。文章详细介绍了关键注解如@Warmup、@Measurement、@BenchmarkMode的用法,并通过示例对比了不同写法的性能差异。此外还介绍了测试结果的可视化工
2025-06-01 15:31:32
1229
原创 性能优化 - 工具篇:常用的性能测试工具
本文介绍了五种常用的性能测试工具及其核心功能: nmon:实时监控系统资源(CPU/内存/磁盘/网络),支持采样数据生成HTML报表 jvisualvm:JVM可视化诊断工具,提供CPU分析、内存快照、线程监控功能 JMC/JFR:Java飞行记录器,低开销采集运行时数据(线程/内存/I/O等) Arthas:在线诊断Java应用,支持方法调用追踪和实时问题定位 wrk:HTTP压力测试工具,可扩展Lua脚本进行复杂场景测试 这些工具覆盖了从系统层到JVM层的性能监控需求,是性能优化工作的基础诊断手段。文章
2025-06-01 04:45:00
1074
原创 性能优化 - 理论篇:CPU、内存、I/O诊断手段
本文介绍了Linux系统性能优化的三大关键组件——CPU、内存和I/O的性能瓶颈分析方法: CPU方面:通过top命令查看us(用户态)、sy(内核态)、wa(I/O等待)等指标,关注idle值低于10%的情况;使用uptime和/proc/loadavg查看系统负载,结合CPU核心数判断负载压力;vmstat命令分析进程阻塞、上下文切换和Swap使用情况。 内存方面:区分物理内存、虚拟内存、共享内存等概念;通过top的VIRT(虚拟内存)、RES(常驻内存)、SHR(共享内存)三列分析进程内存使用;关注C
2025-05-31 12:18:25
1392
原创 性能优化 - 理论篇:性能优化的七类技术手段
本文系统梳理了Java性能优化的七大类技术手段:复用优化(缓冲/缓存/池化)、计算优化(并行/异步/惰性加载)、结果集优化(压缩/批处理/索引)、资源冲突优化(锁优化/无锁队列)、算法优化(时间与空间复杂度)、组件选型优化(高性能框架适配)以及JVM优化(GC调优)。通过量化指标定位性能瓶颈后,开发者可针对性地选择优化策略,以空间换时间、以并行代串行、以异步替同步,实现系统吞吐量提升和响应延迟降低。优化需平衡资源消耗与性能收益,结合业务场景选择合适技术组合。
2025-05-31 10:08:29
1217
原创 性能优化 - 理论篇:常见指标及切入点
本文探讨了Java性能优化的核心思路与方法。首先强调性能优化需要系统视角和工具驱动,重点在于瓶颈定位与平衡权衡。接着详细分析了常用性能指标:吞吐量与响应速度、百分位数响应时间、并发量、秒开率和正确性。文章提出两大核心理论:木桶理论用于识别系统短板,基准测试与预热确保数据准确性。最后指出性能优化必须基于数据分析而非直觉,避免单次测试带来的误导。全文提供了从理论到实践的完整优化框架,帮助工程师建立体系化的性能调优方法论。
2025-05-31 09:30:38
1301
原创 分布式架构:深入解读 Zab 一致性协议
ZooKeeper作为分布式系统的核心组件,其高可用性依赖于Zab原子广播协议。Zab协议通过Leader-Follower架构实现数据一致性,核心流程包括消息广播、崩溃恢复和数据同步三阶段。Zxid作为64位事务编号(高32位epoch+低32位计数器)保证事务全局有序。与Paxos相比,Zab针对主备架构优化,支持快速选举和日志同步。典型案例展示了当Leader故障时,集群通过比较Zxid和ServerID进行新Leader选举的过程,确保服务持续可用。Zab协议的设计有效解决了分布式环境中的数据一致性
2025-05-30 06:00:00
1407
原创 分布式架构:深入解读 Paxos算法
摘要: Paxos是分布式系统实现一致性的核心算法,通过Quorum机制在可用性与一致性间取得平衡。其核心角色包括Proposer(提案者)、Acceptor(批准者)和Learner(学习者)。Paxos采用两阶段流程: 准备阶段:Proposer发送递增的ProposalID,Acceptor承诺不接收更小ID的提案; 选举阶段:Proposer根据多数Acceptor回复决定提交value,成功后广播结果。 Paxos能容忍半数以内节点故障,通过唯一递增的ProposalID避免阻塞。优化方案如Fas
2025-05-30 04:45:00
1087
原创 分布式架构:解读不同数据一致性模型
本文探讨分布式系统中的数据一致性理论演进与实践应用。首先分析BASE理论三要素(基本可用、软状态、最终一致性),对比其与ACID原则的差异。其次解析分布式环境中的时钟同步问题,提出逻辑时钟的替代方案。随后深入剖析五种一致性模型(强一致性、弱一致性、最终一致性、因果一致性、会话一致性)及其适用场景。最后阐明CAP理论与BASE理论的关系,指出大多数分布式系统通过牺牲强一致性来保障可用性和分区容错性。文章系统性地呈现了分布式架构中一致性权衡的理论框架与实践路径。
2025-05-27 22:26:56
1114
原创 分布式架构:证明分布式系统的 CAP 理论
摘要 分布式系统设计中的CAP理论揭示了在一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)之间的根本性权衡。文章详细解析了CAP三要素的定义与相互关系,通过反证法证明三者不可兼得。实践中,系统需在CP(强一致)与AP(高可用)架构间选择,如ZooKeeper采用CP保证一致性,Eureka选择AP确保可用性。设计时需根据业务需求灵活运用多副本、读写分离等策略,在分区恢复时通过补偿机制修复数据。CAP理论为分布式系统架构提供了关键指导原
2025-05-26 23:01:14
982
原创 分布式缓存:BASE理论实践指南
本文系统探讨分布式缓存架构设计中的CAP理论与实践演进。首先指出传统CAP三选二模型的局限性,阐述Brewer对CAP的修正观点,强调分区容忍的动态性。随后从分区感知、BASE理论、数据一致性方案三个维度展开,详细分析2PC/3PC、Paxos/Raft等分布式事务算法,以及主从复制、消息总线等多活实现方案。最后以多区域缓存更新为例,展示兼顾高可用与最终一致性的典型架构设计,为分布式系统开发提供实践参考。全文覆盖理论演进、算法比较和工程实现,形成完整的分布式缓存设计知识体系。
2025-05-25 21:43:33
1259
原创 分布式缓存:CAP 理论在实践中的误区与思考
本文系统阐述了分布式系统设计的核心理论CAP定理。首先介绍了CAP的历史发展,从1998年Brewer提出猜想,到2002年MIT学者完成理论证明。随后详细解析了CAP三要素:一致性要求所有节点数据同步,可用性强调请求总能响应,分区容错性则关注网络故障时的系统韧性。通过双节点场景证明,在网络分区时只能保证CP或AP。文章分析了三种权衡方案及典型应用场景,并指出实践中应避免绝对化理解,建议根据业务特点动态调整策略。最后强调在实际系统设计中,需结合业务需求灵活运用CAP理论,通过技术手段优化可用性与一致性的平衡
2025-05-25 21:19:30
977
原创 分布式缓存:ZSET → MGET 跨槽(cross‐slot)/ 并发 GET解决思路
摘要: Redis Cluster使用中常遇到跨槽查询(如ZSET、MGET)和多线程并发GET导致的性能问题。解决方案包括: 管道(Pipeline)替代多线程:按槽分组批量GET,减少网络往返和线程开销。 Hash Tag保证同槽:为相关Key添加相同标签(如{timeline}),支持MGET或Lua脚本跨Key操作。 Hash结构批量存储:将多条数据存入同一Hash,通过HMGET一次性获取,减少请求次数。 直接存储或RedisJSON:序列化内容存入ZSET或使用JSON模块批量查询。 综合方案可
2025-05-25 21:02:08
1371
原创 分布式缓存:三万字详解Redis
Redis是一款高性能的内存数据库,支持丰富的数据类型和持久化策略。核心特性包括:多种数据结构(String、List、Set、ZSet、Hash等)、双重持久化(RDB快照和AOF日志)、读写分离、Lua脚本和事务支持,以及分布式集群能力。Redis采用单线程事件驱动模型,提供高QPS性能,同时通过后台线程优化持久化任务。其持久化策略推荐混合使用RDB和AOF,兼顾恢复速度和数据完整性。此外,Redis支持主从复制、故障转移和多种分片方案(客户端分片、Proxy层或原生Redis Cluster),适用于
2025-05-25 09:54:28
1228
原创 分布式缓存:缓存设计中的 7 大经典问题_Hot Key和Big Key
本文探讨了分布式缓存系统中的两大核心问题:热键(Hot Key)和大键(Big Key)。热键指在短时间内被海量请求集中访问的缓存键,会导致单点资源过载,常见于突发新闻、秒杀活动等场景。解决方案包括键分片、多级缓存、动态扩容和客户端本地缓存。大键则指体积过大的缓存值,容易引发网络传输和内存分配问题,常见于长文本、大规模集合等数据。解决方法有阈值压缩、批量写入和键分拆策略。文章强调需结合业务特点,通过监控和多种技术组合来构建高可用缓存方案。
2025-05-25 04:00:00
1307
原创 分布式缓存:缓存设计中的 7 大经典问题_数据不一致与数据并发竞争
当一份数据同时存在于数据库和缓存中时,如果两者数据不同步,便会产生“数据不一致”问题。进一步地,若采用多缓存副本(例如多机房或多节点复制),各副本间的数据也可能因为更新不完全而出现差异。高并发场景下,若缓存正好 miss(例如过期、被淘汰),海量请求会同时打到数据库,导致数据库压力骤增,甚至雪崩。接下来将对缓存设计中的 7 大经典问题,
2025-05-25 02:00:00
1229
原创 分布式缓存:缓存设计中的 7 大经典问题_缓存失效、缓存穿透、缓存雪崩
分布式缓存系统设计中的三大经典问题及其解决方案: 缓存失效:大量key同时过期导致DB压力骤增。解决方案:基础过期时间+随机值,分散淘汰窗口。 缓存穿透:恶意查询不存在数据导致持续穿透DB。解决方案:缓存空值+布隆过滤器双重防护。布隆过滤器通过位数组和哈希函数实现高效存在性判断,虽有一定误判率但能有效拦截非法请求。 缓存雪崩:缓存节点故障引发连锁反应。解决方案:多副本部署、读写降级开关、实时监控与自动故障转移,确保系统高可用。 这些防护措施需结合业务场景灵活运用,从而构建稳定高效的缓存体系。
2025-05-24 21:28:17
1441
原创 分布式缓存:缓存架构设计的“四步走”方法
本文系统介绍了缓存设计的全流程方案,从组件选型到架构部署。首先在开源组件与自研方案间权衡,建议优先选用成熟方案;其次根据业务特点设计合理的数据结构。重点探讨了分布式缓存的三种分布策略与路由方式,并详细解析了部署运维中的分层、多活、异构等关键考量。最后提出缓存设计的"四步走"方法论:组件选型、数据结构、分布策略、部署运维,强调需要结合业务特性与运维成本综合考量。文章配有缓存全景图与架构设计考量表,为构建高性能缓存体系提供系统指导。
2025-05-24 04:45:00
948
原创 分布式缓存:缓存的三种读写模式及分类
本文系统介绍了三种常见的缓存读写模式:Cache Aside(旁路缓存)、Read/Write Through(读写穿透)和Write Behind Caching(异步缓存写入)。Cache Aside以数据库为准,通过懒加载回填缓存;Read/Write Through由缓存服务统一代理读写,简化业务逻辑;Write Behind Caching则通过异步批量写入实现最高写性能。文章分析了各种模式的优缺点和适用场景,并对比了不同缓存分类(本地/进程间/远程缓存)的特点。最后强调系统设计需要权衡性能与一致
2025-05-23 22:13:36
1406
原创 分布式缓存:缓存设计三大核心思想
缓存是提升数据访问速度的关键技术,分为狭义和广义两类。狭义缓存主要指CPU内部的SRAM,用于加速主存数据交换;广义缓存则包括操作系统页缓存和应用层中间件如Redis、Memcached等。缓存的核心思想基于时间局限性原理、空间换时间和性能—成本权衡,旨在通过高速存储热点数据提升访问效率。缓存的优势在于显著提升访问性能、降低网络拥堵、减轻后端负载和增强系统可扩展性。然而,缓存也带来系统复杂度上升、硬件/运维成本增加以及数据一致性挑战等问题。实例对比显示,缓存(如Memcached/Redis)在读写QPS、
2025-05-20 06:30:00
740
原创 架构思维:非功能需求_计算高可用、高性能、高并发的指标
文章探讨了生产环境中系统在高并发、高负载及故障场景下的稳定性、性能与可用性等非功能需求。重点分析了“三高”指标(高可用性、高并发能力、高性能)及其计算方法。通过内部因素(技术栈、硬件配置、机房环境等)和外部因素(用户规模、访问模式、业务特点等)的综合评估,确保系统在极端场景下的韧性。文章还提供了具体的指标计算示例和优化手段,强调在设计中合理定义目标并预留余量,通过压测验证系统性能,平衡成本与可用性。
2025-05-20 05:15:00
1735
原创 架构思维:构建高并发扣减服务_多层次削峰方案
本文深入探讨了“热点扣减”场景下的流量削峰与架构优化策略,特别是在秒杀场景中的应用。首先,文章对比了热点扣减与热点查询的本质区别,指出热点扣减必须处理写请求,且需保证数据一致性和避免超卖。接着,文章详细介绍了多层次的流量削峰策略,包括恶意用户拦截、单机与集中式限流、权重等级调度、固定比例过滤、兜底降级和无货前置拦截等。此外,文章还提出了水平扩展架构升级方案,通过库存分片与轮询路由来分散压力。最后,文章总结了前端CDN加速、业务隔离和部署隔离等其他应对手段,为构建高并发、高可用的秒杀系统提供了全面的解决方案。
2025-05-19 04:45:00
1478
原创 架构思维:构建高并发扣减服务_分布式无主架构
本文探讨了如何设计高可用的异步任务架构,以解决无状态存储集群数据同步中的任务积压和单点故障问题。首先,文章分析了简单实现中的扩展性差和单点风险,随后提出了分布式无主架构的解决方案。该架构通过多实例并发、自助协调分区、Watch机制和一致性Hash环分区,实现了任务的高效执行和动态扩缩容。此外,文章还详细介绍了扣减中的返还实现原则,包括扣减完成才能返还、一次扣减可以多次返还以及返还总数量要小于等于原始扣减数量。通过这些设计和原则,可以有效提升系统的性能和可靠性。
2025-05-18 22:08:38
2105
原创 架构思维:通用架构模式_ 烟囱式、平台化、中台化的架构
文章探讨了系统重构的时机与实施策略,重点分析了从纯代码重构到中台化演进的各个阶段。首先,判断重构时机的关键在于系统性能瓶颈、维护成本增加及监控缺失等问题。纯代码重构适用于日志序列化、监控缺失等场景,强调拆分超长类/方法、遵循SOLID原则及引入监控工具。当系统需承载更高流量时,可通过数据库到缓存或ElasticSearch的存储重构来优化性能。烟囱式架构向平台化演进的核心在于模块融合与兼容设计,最终形成可复用的平台模块,降低运维成本。平台化进一步发展为中台化,通过业务可视化和配置化实现业务复用,满足快速上线
2025-05-14 05:15:00
2012
原创 架构思维:通用架构模式_重构升级的设计
微服务升级重构是解决历史遗留问题、提升系统性能的重要手段。重构形式主要分为纯代码式升级和含存储式升级。纯代码式升级仅修复业务代码问题,流程简单;含存储式升级则涉及存储层的改造,如读写分离或表结构优化。切换策略包括全量替换和灰度发布,后者通过逐步放量降低风险。含存储重构的架构设计强调不停服切换,通过数据同步模块实现历史与实时数据的迁移,并通过自动化工具进行数据对比验证。用户灰度切换策略则依据用户特征和功能使用度分批上线,确保系统稳定性。整体方案展现了技术方案的体系化和互联性,旨在实现用户无感知、低Bug的升级
2025-05-13 06:45:00
2186
「Tomcat源码剖析」.pdf
2020-06-01
中标龙芯-MIPS- NFS rpm包
2020-11-24
X86-NFS rpm包
2020-11-24
apache-tomcat-8.5.50-src.zip
2020-06-02
mybatisSource.zip
2020-06-14
Spring4CachingAnnotationsExample
2017-10-04
Jest-5.3.4.zip
2020-01-19
Java反编译工具
2015-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人