- 博客(10)
- 收藏
- 关注
原创 Spring Cloud Gateway 4.0限流算法:令牌桶vs漏桶
令牌桶算法以固定速率生成令牌并存入桶中,请求到达时需消耗令牌。桶满时新令牌被丢弃。突发流量可快速消耗积压令牌,适合允许短期超载的场景。漏桶算法以恒定速率处理请求,超出速率的请求排队或丢弃。能严格限制请求处理速率,适合需要平滑流量的场景。Spring Cloud Gateway需自定义过滤器实现,如通过。数学表达: \lim_{t \to \infty} \frac{tokens}{time} = replenishRate。实现基于Redis的分布式令牌桶限流。
2025-09-07 10:02:12
161
原创 服务网格流量劫持:EnvFilter与Sidecar模式对比
EnvFilter和Sidecar是服务网格中两种不同的流量劫持实现方式,用于拦截和重定向应用的网络流量。EnvFilter基于环境变量和iptables规则,而Sidecar通过代理容器实现流量拦截。
2025-09-07 10:01:39
346
原创 Seata 2.0分布式事务:AT模式与TCC模式选型指南
基于两阶段提交(2PC)的自动补偿机制,通过代理数据源自动生成反向SQL实现事务回滚。适用于大多数业务场景,尤其是对代码侵入性要求低的场景。通过手动编码实现两阶段提交,需业务层实现Try、Confirm、Cancel三个接口。TCC模式提供更强的一致性保证,适用于资金交易等严格场景;高并发场景优先选择TCC模式,避免AT模式的全局锁竞争;AT模式适合简单CRUD操作,TCC模式适合需自定义补偿逻辑(如调用外部API)的场景。AT模式无需额外编码,TCC模式需实现三阶段接口,开发成本较高。
2025-09-07 10:00:44
321
原创 Nginx百万并发配置:epoll模型与worker进程数计算
Nginx实现高并发的核心依赖于epoll模型的高效事件驱动机制和合理的worker进程配置。需结合硬件资源与业务特性进行调优。epoll是Linux内核的高效I/O多路复用机制,Nginx默认采用epoll处理连接。注意:实际配置需通过渐进式压力测试确定最优值,避免单纯依赖理论计算。
2025-09-07 10:00:00
245
原创 过早优化反例:某日活千万应用盲目分库的代价
分库后跨库查询激增,原本单库可完成的关联操作需多次合并结果,网络延迟和计算开销远超预期。将大表按业务模块拆分(如用户表与订单表分离),而非直接水平分库。某金融应用初期按用户 ID 哈希分库,后因业务调整需改为按地域分片,迁移成本超 200 人日。某电商系统因分库后订单与库存库分离,未妥善处理分布式锁,导致超卖事故频发。注:某健康监测App在日活破800万、单表超3TB后才启动分库,此前通过索引优化和冷热数据分离支撑了两年。某新闻应用在读QPS达10万时,采用读写分离而非分库,延迟稳定在80ms内。
2025-09-07 09:59:13
275
原创 Redis缓存穿透终极解决方案:布隆过滤器实现原理
缓存穿透是指查询一个不存在的数据,由于缓存不具备该数据,请求直接穿透到数据库,导致数据库压力过大。缓存穿透是指查询一个不存在的数据,由于缓存不具备该数据,请求直接穿透到数据库,导致数据库压力过大。缓存穿透是指查询一个不存在的数据,由于缓存不具备该数据,请求直接穿透到数据库,导致数据库压力过大。缓存穿透是指查询一个不存在的数据,由于缓存不具备该数据,请求直接穿透到数据库,导致数据库压力过大。布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否存在于集合中。
2025-09-07 09:58:31
1003
原创 MySQL索引失效全场景分析:覆盖索引与最左前缀法则
最左前缀法则要求查询必须从索引最左列开始,且不能跳过中间列。覆盖索引指查询的列均包含在索引中,无需回表查询数据行。若SELECT语句包含未在索引中的列,优化器无法使用覆盖索引,需回表查询。通过合理设计索引和查询语句,可显著减少索引失效问题。
2025-09-07 09:57:54
219
原创 从单体到微服务:电商系统架构演进中的5个致命陷阱
电商系统在初期可能仅需拆解核心功能(如订单、支付、库存),但若将用户评价、推荐算法等非核心模块过早独立,会引发分布式事务、跨服务调用等问题。Netflix的经验表明,初期采用粗粒度服务(如"用户服务"包含基础信息、偏好设置)更利于维护。沿用单体时代的"功能团队"会导致开发效率下降。亚马逊的"Two Pizza Team"原则(每个微服务由6-8人小团队全权负责)值得借鉴,但需配套建立清晰的API契约和Mock测试机制。当订单支付超时,需要追踪经过网关、订单服务、支付服务、风控服务的完整链路。
2025-09-07 09:55:45
314
原创 Chrome插件开发快速入门指南
介绍Chrome插件的基本概念、核心功能和应用场景,说明其基于Web技术(HTML/CSS/JavaScript)的开发特点。
2025-09-07 09:54:43
236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅