当前位置:网站首页>架构实战营模块5作业
架构实战营模块5作业
2022-06-29 23:32:00 【InfoQ】
微博评论高性能高可用计算架构设计
一、计算性能预估
1.1 用户量
1.2 微博评论场景关键行为:
- 发评论
- 看评论
1.3 行为建模以及性能估算
- 发评论:假设平均每天每人发1条微博(只考虑文字微博),则微博每天的发送量约为2.5亿条。大部分的人发微博集中在早上8:00~9:00点,中午12:00~13:00,晚上20:00~22:00,假设这几个时间段发微博总量占比为60%。用户发评论的时间与发微博的时间基本重合,且多数评论都集中在明星和大V的微博下。假设平均每条微博有100人阅读,有十分之一的人会发表评论,那么每条微博对应10条评论。性能估算为:2.5亿条 * 10条评论* 60%/(4 * 3600) ≈ 100K/s
- 看评论:看评论的时间与发评论、发微博的时间也基本重合。假设看微博的人中约有30%会点开评论查看,那么性能估算为:2.5亿条 * 100人 * 30% * 60%/(4 * 3600) ≈ 300K/s
二、微博评论高性能计算架构设计
2.1 发评论
2.1.1 发评论架构设计
- 从业务特性上来分析,发评论是一个写操作,正常情况下不能用缓存,可以用负载均衡。
- 架构分析:用户量过亿,TPS要求也非常高,应该使用多级负载均衡的架构,覆盖 DNS -> F5 -> Nginx -> 网关的多级负载均衡。
- 架构设计:
2.1.2 发评论的多级负载均衡架构

2.2 看评论
2.2.1 看评论架构设计
- 业务特性分析,看评论是一个典型的读场景,由于评论发了之后不能修改,因此非常适合用缓存架构,同时由于请求量很大,负载均衡架构也需要。
- 架构分析:
- 架构设计:
2.2.2 看评论的多级负载均衡架构

2.2.3 看评论的多级缓存架构

2.3 整体架构方案

2.3.1 微博评论的多级负载均衡设计

2.3.2 微博评论的多级缓存架构设计

三、微博评论高可用架构设计
3.1 微博热点事件用户行为建模、性能估算
- 发评论:
- 看评论:
3.2 业务特性分析
- 发评论:评论一般不如发微博重要,而且很多评论发出后就会被刷下去,也不会被马上看到,热点事件发生时可以通过写缓存的方式降低系统的负载压力。
- 看评论:热点事件发生后,看评论也主要是看热点微博下的热门评论居多,这部分评论主要缓存在CDN中,可以比较快的被访问到。
3.3 高可用架构分析
- 发评论:发评论不如发微博重要,且有很多评论不需要即刻被看到,可以考虑使用限流的方式保护系统。同时评论能够增加讨论度,活跃社区气氛,带来更好的传播效果,所以不应该被丢弃,可以考虑漏桶算法,通过一个kafka消息队列来实现写缓冲。
- 看评论:热点事件微博存在缓存热点问题,可以考虑“多副本缓存”,由于原有的缓存架构已经采用了“应用内的缓存”,总体上来看,缓存热点问题其实不一定很突出。
3.4 高可用架构设计示意图

边栏推荐
猜你喜欢

小程序插件接入、开发与注意事项

Leetcode(76)——最小覆盖子串

疫情下我离职一年,收入增长了10倍

软件测试 接口测试 Postman测试工具 接口测试的流程 执行接口测试 接口关联 环境变量和全局变量 内置动态参数以及自动有的动态参数

C指针进阶2-->函数指针数组 回调函数简化计算器代码,基于回调函数模拟实现qsort函数

matlab习题 —— 程序控制流程练习

剑指 Offer 14- I. 剪绳子

Wechat applet: picture seconds plus watermark generation

LC: maximum subarray and

云和恩墨盖国强,识别它、抓住它,在国产数据库沸腾以前
随机推荐
MetaQ集群安裝測試
Head pressing Amway good-looking and practical dispensing machine SolidWorks model material here
How to solve the problem that the computer time is not automatically updated after proofreading
Wechat applet: (update) cloud development wechat group contacts
PROJECT #1 - BUFFER POOL [CMU 15-445645]笔记
Principe de réalisation de l'agent dynamique
Effective self summary of remote communication | community essay solicitation
关于 Apache 的 25 个初中级面试题
请指教什么是在线开户?另外,手机开户安全么?
LC: maximum subarray and
Is it safe to open a stock account? Shanghai stock account opening.
Redis client
Top ten securities companies: "bulldozer market" reappearance
语音信号处理(三):语音信号分析【连续的“模拟信号”--采样、量化、编码-->离散的“数字信号”】
写论文工具:LaTex在线网站
大厂试水 HPE推出Arm CPU通用服务器产品
[learn FPGA programming from scratch -51]: high level chapter - FPGA development based on IP core - what is FPGA IP core (soft core, fixed core, hard core) and learning methods
Yunhe enmo, gaiguoqiang, identify it and grasp it before the domestic database boils
CE second operation
I hope you have no regrets about the regrettable things in the University