002 Diagram building blocks_哔哩哔哩_bilibili
低延迟,高吞吐,高可用
0.指标计算
qps,dau
1.可用性
如何保证可用性:
负载均衡,处理单点故障,把有故障的机器上的服务复制到其他机器上
2.吞吐量
就是指的qps,每秒请求次数
吞吐量的优化:
1.单机服务器扛不住这么大的qps的话,对服务器做水平扩展,负载均衡切分流量
2.分片和副本 ?
分片和副本
15 Replication And Sharding_哔哩哔哩_bilibili
分片和副本指的是数据库的分片和副本操作,整个系统的性能很受数据库的影响。
副本的意思是,有一个主数据库,然后有另外一个数据库,把这个数据库的数据复制一遍。一是 可以提高可用性,二是可以减少延迟。
为什么副本能减少延迟呢?举个例子,用户a在中国,用户b在美国,用户a访问用户b发布的内容,用户b发布的内容先存到美国服务器上,然后再复制到中国服务器上,用户a访问中国服务器,减少洲际延迟。
3.负载均衡器
4.缓存
缓存的作用
1.可以减少系统延迟。比如客户端和服务端之间发送多次同样的请求,网络传输的速度较慢,这种情况下可以用缓存。
2.避免对数据库的大量请求
5.存储
分片存储,哈希存储
分片存储
Sharding和功能分区_lyjiau的博客-CSDN博客
tenant based sharding(租户分片),哈希分片
一致性哈希:有一个哈希环,数据顺时针存在离他最近的节点上,插入新节点时,只有新节点附近的数据会重新写。