记录真实开发问题、项目实践和两三句就能说明白的技术点
Nginx 能扛几十万并发,但默认配置远没发挥出来。本文先讲透 master-worker 多进程 + epoll 事件驱动模型——理解了模型,调优参数就顺理成章,再给出完整的高并发配置:worker 进程与连接数计算、系统内核参数、HTTP keepalive 与 gzi...
凌晨告警"消费积压 XX 万条"怎么处理?本文把积压当系统性故障而不是随机事件:先讲清积压本质是消费速度跟不上生产速度,列五种最常见成因(消费者太少、单条太慢、下游故障、毒消息卡死、频繁 Rebalance),再给出三层观测手段(lag 指标、耗时日志、主动对账)与"先止血...
从 Topic、分区、副本、offset 到消费组,Kafka 的核心概念不难但全是考点。本文先用一张"数据组织图"讲透每个概念的职责,再走一遍消息从生产到消费的完整链路:分区选择、攒批发送、ISR 同步、acks=0/1/all 语义,最后给出 spring-kafka ...
支付回调重复通知、消息队列重复投递、用户狂点提交按钮、RPC 自动重试——不做幂等轻则脏数据重则资损。本文先讲清幂等与防重的区别,再逐一拆解六种生产方案:数据库唯一索引(并发兜底最强)、状态机单向流转、Redis SETNX 防重窗口、token 令牌原子消费、乐观锁 CA...
用 Redis 做分布式锁,只 SETNX 会死锁、不设过期时间会误删、锁超时业务没跑完会并发穿透。本文从 V1 到 V4 逐步推导出正确实现:原子加锁(NX EX)+ 唯一 value + Lua 原子释放,讲透看门狗自动续期、Redisson 可重入锁原理(Hash 计...
高性能图片服务器 zimg 的设计与实现:面向大流量/高并发/海量存储三大问题,采用 C 语言 + libevhtp + ImageMagick + memcached,以图片 MD5 为 Key、两级目录分片存储、缓存+压缩(体积减 67%),附与 Nginx+PHP 的...
京东读服务架构经验(开涛):无状态、数据闭环(异构/聚合/展示)、多级缓存(浏览器/CDN/接入层/应用层/分布式)、并发化、降级开关、限流、切流量等设计原则与落地。
京东商品详情页架构演进(1.0 IIS+memcache → 2.0 静态化+SSI → 3.0 数据异构+JIMDB+Nginx/Lua),及数据闭环、数据维度化、异步并发、多级缓存、降级开关、多机房多活等设计原则与踩坑。
PHP-FPM 日志 seems busy 说明子进程数不足以应对并发。本文讲解如何通过 ps 确认进程数,并调大 pm.start_servers/min_spare_servers/max_children 等参数解决。
php-fpm 优化总结:编译启用 --enable-fpm,php-fpm.conf 中 pm 进程数(pm.max_children/start_servers/min|max_spare_servers)、pm.max_requests 防内存泄漏,request_t...
京东交易平台副总监王晓钟《京东高性能、高并发交易系统技术探讨》笔记:交易系统 10 大原则(拆分/灾备切换/水平扩展/限流/降级/读写分离/异步化/动静分离/压测/预案)与实时价格系统读写架构实现。
Memcache 一般用于缓存服务。但是很多时候,比如一个消息广播系统,需要一个消息队列。直接从数据库取消息,负载往往不行。如果将整个消息队列用一个key缓存到memcache里面。对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 …
PHP 任务队列实现思路:邮件/消息/Feed 等异步任务写入 MySQL 队列表,由 cron 或浏览器窗口定时轮询取出处理,成功或失败 N 次后删除;适合中小流量低成本方案。
从单体到分布式,大型网站经历怎样的架构演化?本文梳理架构演化 11 个阶段、分层/分割/缓存/异步等架构模式,以及性能、可用性、伸缩性、扩展性、安全性五大核心要素。
前几天和朋友聊秒杀 程序的问题, 他的观点有些不赞同 , 这里做个总结 一、为什么难 秒杀系统难做的原因:库存只有一份,所有人会在集中的时间读和写这些数据。 例如小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。 …