网站建设做微营销,怎样用别人的网站做修改病句,关于网站建设的题目,张家港网站建设门店当系统只有 1 个人访问时#xff0c;一切都很简单。 当 1000 个人同时访问时#xff0c;系统才真正开始“考试”。 这一课#xff0c;解决的就是#xff1a; 并发下资源冲突并发下系统被打爆多实例环境的一致性问题 核心两件事#xff1a; 分布式锁#xff1a;保证“同…当系统只有 1 个人访问时一切都很简单。当 1000 个人同时访问时系统才真正开始“考试”。这一课解决的就是并发下资源冲突并发下系统被打爆多实例环境的一致性问题核心两件事分布式锁保证“同一资源同一时刻只能一个人操作”限流保证“同一时刻来的人不要太多”可以把它们理解为锁 唯一通行证限流 门口安检一、为什么需要这节课在单体应用中你可能用synchronized就够了。但在多台服务器场景下用户A → 服务器1 用户B → 服务器2两个服务器都认为自己是唯一的执行者 →数据错乱典型问题秒杀超卖定时任务重复执行用户重复下单报表重复生成二、分布式锁并发世界的“唯一钥匙”1. 什么是分布式锁一句话在多台机器之间保证同一时刻只有一个线程能进入临界区。2. Redis 分布式锁核心语句SET lock_key uuid NX PX 30000含义拆解参数含义SET设置键值NX不存在才设置PX 3000030秒自动过期uuid锁持有者唯一标识3. 为什么必须 PX防止死锁程序崩溃锁没释放所有人卡死PX 相当于锁自动保险4. 为什么要 UUID防止误删锁A拿锁 锁过期 B拿锁 A删除锁 → 把B的锁删了 ❌UUID 确保只能删除自己的锁5. 最关键示例A / B 争抢同一把锁必须理解很多人到这里会有疑问锁不是会过期吗那过期之后会发生什么下面这个时间线是理解分布式锁的核心。场景设定锁 TTL 30 秒A 的业务执行时间 40 秒B 在第 31 秒来抢锁锁 key lock:sku:1001A 的 uuid uuidAB 的 uuid uuidB时间线全过程第 0 秒A 加锁SET lock:sku:1001 uuidA NX PX 30000Redis 中lock:sku:1001 uuidAA 开始执行业务。第 30 秒锁过期Redis 自动删除lock:sku:1001 不存在⚠️ 注意A 还在执行但锁已经没了第 31 秒B 加锁SET lock:sku:1001 uuidB NX PX 30000Redis 中lock:sku:1001 uuidB此时出现一个重要事实A 和 B 同时在执行业务第 40 秒A 执行完成尝试解锁❌ 如果 A 直接执行DEL lock:sku:1001那么当前锁属于uuidBA 会把B 的锁删掉B 在“无锁状态下”继续执行 → 严重并发问题✅ 正确解锁方式UUID 校验如果当前 value uuidA 才删除 否则 不删除此时 Redis 中是uuidB与uuidA不相等 →不会删除第 51 秒B 执行完成正常解锁流程安全结束。时间线总结表时间Redis 锁状态AB0suuidA执行中-30s不存在执行中-31suuidB执行中执行中40suuidB结束执行中51s不存在-结束这个例子说明了什么锁过期 ≠ 业务结束过期后再加锁是一把“新锁”解锁必须校验 UUID否则一定会误删别人的锁6. 解锁必须用 Lua 脚本因为 Redis 单线程但命令不是事务。必须做到比较 value再删除原子执行。7. 分布式锁常见坑坑原因解决锁过期业务未完成TTL太短续租/延长锁误删没UUIDUUIDLua拿不到锁高并发重试/失败返回三、限流系统的流量闸门1. 什么是限流限制单位时间内请求数量。防止接口被打爆数据库宕机第三方服务雪崩2. 常见限流算法1固定窗口每分钟 100 次分钟结束清零。问题边界抖动。2滑动窗口更平滑但复杂。3令牌桶推荐思想按速率生成令牌请求拿到令牌才放行优点可突发可控速工程常用3. 限流实现方式单机限流Guava RateLimiterResilience4j分布式限流Redis Lua网关限流Nginx / Gateway四、锁 限流的真实组合秒杀系统典型流程限流 → 防止冲垮系统 分布式锁 → 防止库存超卖 数据库唯一约束 → 最后兜底五、你要达到什么程度算掌握必会Redis 锁原理NX PX 含义UUID 作用令牌桶思想加分Lua 解锁网关限流Redisson六、面试标准回答分布式锁常用 Redis 实现通过 SET key value NX PX ttl 保证原子性与自动过期value 使用 UUID 防止误删解锁用 Lua 保证原子操作。限流常用令牌桶算法可在网关或服务层实现用于削峰与保护下游系统。七、一句话总结分布式锁解决“抢同一资源”的问题限流解决“来太多人”的问题。当你理解这一课你的思维已经从“写接口”升级到“设计系统”。下一篇第十六课实战分布式锁与限流设计 —— 从原理到可跑 Demo