上千万人同时在线,我研究了 D 音的技术架构,我想说牛X!_redis

你们知道为什么D音、K手,这些平台可以同时支撑上百万人同时观看直播还不丢数据吗?

直播带货秒杀商品+海量的弹幕数据,平台是怎么抗住的?为什么很少听说这些平台出错?

因为他们的程序做到了高并发、高性能、高可用,话说回来你对程序员的三高了解吗?

一、高并发

高并发是现在互联网分布式框架设计必须要考虑的因素之一,它是可以保证系统能被同时并行处理很多请求,对于高并发来说,它的指标有:

响应时间:系统对进来的请求反应的时间,比如你打开一个页面需要1秒,那么这1秒就是响应时间。

吞吐量:吞吐量是指每秒能处理多少请求数量,好比你吃饭,每秒能吃下多少颗米饭。

秒查询率:秒查询率是指每秒响应请求数,和吞吐量差不多。

并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。

上千万人同时在线,我研究了 D 音的技术架构,我想说牛X!_分布式_02

二、高性能

什么是高性能呢?高性能是指程序处理速度非常快,所占内存少,cpu占用率低。高性能的指标经常和高并发的指标紧密相关,想要提高性能,那么就要提高系统发并发能力,两者互相捆绑在一起。

应用性能优化的时候,对于计算密集型和IO密集型还是有很大差别,需要分开来考虑。还有可以增加服务器的数量,内存,IO等参数提升系统的并发能力和性能,但不要浪费资源,要考虑硬件的使用率最高才能发挥到极致。

怎么样提高性能呢?

1、避免因为IO阻塞让CPU闲置,导致CPU的浪费

2、避免多线程间增加锁来保证同步,导致并行系统串行化

3、避免创建、销毁、维护太多进程、线程,导致操作系统浪费资源在调度上

三、高可用

高可用通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。

高可用注意如果使用单机,一旦挂机将导致服务不可用,可以使用集群来代替单机,一台服务器挂了,还有其他后备服务器能够顶上,或者使用分布式部署项。

比如现在redis的高可用的集群方案有: Redis单副本,Redis多副本(主从),Redis Sentinel(哨兵),Redis Cluster,Redis自研。

上千万人同时在线,我研究了 D 音的技术架构,我想说牛X!_中间件_03

你对程序员的三高了解多少呢,你知道“三高”的系统怎么开发吗?

好了,回归主

听完这次直播课程

你会有哪些收获呢

程序员面试技巧、避坑经验

突破现阶段技术瓶颈

优化简历增加面试邀约次数

面试中如何搞定技术面、HR面

...

上千万人同时在线,我研究了 D 音的技术架构,我想说牛X!_编程语言_04