37、计数系统设计(一):面对海量数据的计数器要如何做?你好,我是唐扬。 从今天开始,我们正式进入最后的实战篇。在之前的课程中,我分别从数据库、缓存、消息队列和分布式服务化的角度,带你了解了面对高并发的时候要如何保证系统的高性能、高可用和高可扩展。课程中虽然有大量的例子辅助你理解理论知识,但是没有一个完整...2025-11-06高并发系统设计40问
38、计数系统设计(二):50万QPS下如何设计未读数系统?你好,我是唐扬。 在上一节课中我带你了解了如何设计一套支撑高并发访问和存储大数据量的通用计数系统,我们通过缓存技术、消息队列技术以及对于Redis的深度改造,就能够支撑万亿级计数数据存储以及每秒百万级别读取请求了。然而有一类特殊的计数并不能完全使用我...2025-11-06高并发系统设计40问
39、信息流设计(一):通用信息流系统的推模式要如何做?你好,我是唐扬。 前两节课中,我带你探究了如何设计和实现互联网系统中一个常见模块——计数系统。它的业务逻辑其实非常简单,基本上最多只有三个接口,获取计数、增加计数和重置计数。所以我们在考虑方案的时候考察点也相对较少,基本上使用缓存就可以实现一个兼顾性...2025-11-06高并发系统设计40问
40、信息流设计(二):通用信息流系统的拉模式要如何做?你好,我是唐扬。 在前一节课中,我带你了解了如何用推模式来实现信息流系统,从中你应该了解到了推模式存在的问题,比如它在面对需要支撑很大粉丝数量的场景时,会出现消息推送延迟、存储成本高、方案可扩展性差等问题。虽然我们也会有一些应对的措施,比如说选择插入...2025-11-06高并发系统设计40问
41、加餐:数据的迁移应该如何做?你好,我是唐扬。 在“[数据库优化方案(二):写入数据量增加时,如何实现分库分表?]”中我曾经提到,由于MySQL不像MongoDB那样支持数据的Auto Sharding(自动分片),所以无论是将MySQL单库拆分成多个数据库,还是由于数据存储的瓶...2025-11-06高并发系统设计40问