合集-场景设计
摘要:如何设计一个秒杀系统? 设计秒杀系统之前,我们首先需要对秒杀系统有一个清晰的认识。 秒杀系统主要为商品(往往是爆款商品)秒杀活动提供支持,这个秒杀活动会限制商品的个数以及秒杀持续时间。 为什么秒杀系统的设计是一个难点呢? 是因为它的业务复杂么? 当然不是! 秒杀系统的业务逻辑非常简单,一般就是下订单
阅读全文
摘要:如果扣减库存的操作在一台机器上 使用本地锁 JVM 锁 不和数据库交互,模拟库存扣减。并发测试 100 个线程,访问50次。 private void jvmLock() { lock.lock(); try { goods.setInventory(goods.getInventory()-1);
阅读全文
摘要:如何设计一个短网址服务(TinyURL)? 使用场景(Scenario) 微博和Twitter都有140字数的限制,如果分享一个长网址,很容易就超出限制,发不出去。短网址服务可以把一个长网址变成短网址,方便在社交网络上传播。 需求(Needs) 很显然,要尽可能的短。长度设计为多少才合适呢? 短网址
阅读全文
摘要:100Wqps短链系统,怎么设计? 这道题,看上去业务简单,其实,覆盖的知识点非常多: 高并发、高性能分布式 ID Redis Bloom Filter 高并发、低内存损耗的 过滤组件知识 分库、分表海量数据存储 多级缓存的知识 HTTP传输知识 二进制、十六进制、六十二进制知识 总体来说,高并发、
阅读全文
