中间件

共 17 篇 · 按时间倒序,可连读

11-10 proxy_cache 上线三天就串号:缓存键、Set-Cookie 与回源风暴 三行配置就让回源掉了九成,三天后有客户看到了别人的库存和会员价。缓存键里少了身份维度、上游还在发 Set-Cookie,修完又撞上热点 key 过期的回源尖峰。 11-09 limit_req 把正常用户挡在门外:漏桶、突发与真实 IP 限流上线第二天,投诉集中在两家客户。日志里被限的 IP 只有四个,全是我们自己的代理。从 set_real_ip_from、burst 的真实容量到按接口分档的完整配置。 11-08 Nginx 的 499 和 504 一起涨:一次超时预算的重排 一个导出接口同时制造了 499 和 504。客户端 30 秒、Nginx 60 秒、上游无限制,三层超时全错位,还叠加了重试放大。超时怎么分层、重试为何只对幂等请求开。 11-07 HTTPS 证书过期三天:certbot 自动续期为什么一直失败 续期定时任务每小时都在跑,证书还是过期了三天。根因是一条无条件的 return 301,把 ACME 校验请求也跳去了 HTTPS。webroot 放行、^~ 的优先级、reloa… 11-06 Nginx location 匹配优先级:一次 /admin 被别的服务抢走的复盘 登录成功后跳到 /admin,结果落进了隔壁业务的后台,另一些时候干脆「找不到网页」。查了一晚上才发现是三条规则叠在一起:最长前缀匹配、^~ 的截断、以及 location 补尾斜… 11-05 Kafka 消息不丢不重:生产端到消费端的完整配置 acks 与 min.insync.replicas 必须一起设,手动提交只是第一步。四个丢失点的逐段拆解,以及「恰好一次」真正依赖的业务幂等方案。 11-05 Redis 主从、哨兵、Cluster:三套高可用方案怎么选 三套方案的丢失窗口其实是同一个 —— 异步复制的延迟。故障转移过程、脑裂防护、16384 个槽的由来,以及按规模选型的判断标准。 11-05 分布式锁的五个版本:从 SETNX 到业务幂等 每一版都修掉上一版的漏洞,但最后一版才触及根本:锁只是优化,幂等才是正确性。附 Redlock 争议与 ZooKeeper 的适用边界。 07-19 redis 分布式锁 分布式应用进行逻辑处理时经常会遇到并发问题。 08-21 Redis 安装方式 体验 Redis 需要使⽤ Linux 或者 Mac 环境,如果是 Windows 可以 考虑使⽤虚拟机。主要⽅式有四种: 08-11 Redis-布隆过滤器 布隆过滤器可以理解为一个不怎么精确的 set 结构,当你使用它的 contains 方法判断某个对象是否存在时,它可能会误判。但是布隆过滤器也不是特别不精确,只要参数设置的合理,它… 07-15 Redis - 漏斗限流 漏斗限流是最常用的限流方法之一,顾名思义,这个算法的灵感源于漏斗(funnel)的结构。 07-12 Redis-实现简单限流 限流算法在分布式领域是一个经常被提起的话题,当系统的处理能力有限时,如何阻止计划外的请求继续对系统施压,这是一个需要重视的问题。 06-27 redis消息队列-延时队列 Redis 的消息队列不是专业的消息队列,它没有非常多的高级特性,没有 ack 保证,如果对消息的可靠性有着极致的追求,那么它就不适合使用。 06-06 Redis - HyperLogLog 我们常见的业务问题:如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页每天的 UV 数据,然后让你来开发这个统计模块,你会如何实现? 05-18 Redis - 位图 在我们平时开发过程中,会有一些 bool 型数据需要存取,比如用户一年的签到记录,签了是 1,没签是 0,要记录 365 天。如果使用普通的 key/value,每个用户要记录 3… 03-09 Redis - GeoHash Redis 在 3.2 版本以后增加了地理位置 GEO 模块,意味着我们可以使用 Redis 来实现摩拜单车「附近的 Mobike」、美团和饿了么「附近的餐馆」这样的功能了。