摘要: NSQ 源码剖析, 非常详细 阅读全文
posted @ 2023-03-05 23:20 kohn 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 需实现接口. Put: 存入k-v, 此方法不会阻塞, 时刻都可以立即执行并返回. Get: 读取一个 k-v, 如果 key 不存在则阻塞, 等待 key 存在或者超时. 阅读全文
posted @ 2023-03-03 10:02 kohn 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Gin 源码剖析 阅读全文
posted @ 2023-03-03 09:39 kohn 阅读(94) 评论(0) 推荐(0) 编辑
摘要: sync.Map 整体设计思路 互斥量 mu 保护 read 和 dirty。 read 是 atomic.Value 类型,可以并发地读。但如果需要更新 read,则需要加锁保护。对于 read 中存储的 entry 字段,可能会被并发地 CAS 更新。但是如果要更新一个之前已被删除的 entry 阅读全文
posted @ 2023-02-12 18:40 kohn 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 视频流系统设计 设计 Youtube Scenario 月活跃用户(MAU): 20亿 日活跃用户(DAU): 1.5亿 每天观看视频数量: 50亿 每分钟上传视频时长: 500个小时 用户平均观看时间: 40分钟 Service 上传服务 Upload Service 缩略图服务 Thumb Se 阅读全文
posted @ 2023-02-04 10:58 kohn 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 聊天系统设计 设计微信: Work Solution Real-time Service Online Status: Pull vs Push 相关设计题: Design Facebook Messenger Design WhatsApp Design Facebook Live Comment 阅读全文
posted @ 2023-02-04 10:58 kohn 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 协同编辑系统设计 Scenario 协同合作 Service + Storage 实时系统 (real time application) 游戏 聊天 (wechat, whatsapp, messager) 股票交易 (robinhood, webull) 协同合作 (google docs) 实 阅读全文
posted @ 2023-02-04 10:57 kohn 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 短网址设计 Scenario 需求 Apply Short URL graph LR A(用户) --> |http://www.jiuzhang.com| B(http://bit.ly) B --> |http://bit.ly/1UloQB6| A 根据 Short URL 还原 Long U 阅读全文
posted @ 2023-02-04 10:57 kohn 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 用户系统设计 4S Scenario 注册, 登录, 查询, 用户信息修改 支持 100M DAU 注册, 登录, 信息修改 QPS 约 100M * 0.1 * 3 / 86400 = 300 0.1 = 平均每个用户每天登录 + 注册 + 信息修改 查询 QPS 约 100M * 100 * 3 阅读全文
posted @ 2023-02-04 10:57 kohn 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 新鲜事系统设计 Twitter, 朋友圈 新鲜事系统的核心因素? 关注与被关注, 每个人看到的新鲜事都是不同的. Pull Model 算法: 在用户查看 New Feed 时, 获取每个好友的前 100 条 Tweets, 合并出前 100 条 News Feed. (K 路归并算法) 复杂度分析 阅读全文
posted @ 2023-02-04 10:57 kohn 阅读(56) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示