百万英雄的技术架构大概是什么样的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hheedat
V2EX    程序员

百万英雄的技术架构大概是什么样的?

  •  1
     
  •   hheedat 2018-01-08 21:37:59 +08:00 8003 次点击
    这是一个创建于 2835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    弹幕分区吗?

    第一题假设所有观看人数都会答题,150w 人假设都在第一秒答题,如何消化 150w qps 并且很快的统计出答题的对错数量?

    欢迎大家讨论

    proxy

    43 条回复    2018-01-12 18:01:41 +08:00
    wangdu2012
        1
    wangdu2012  
       2018-01-08 21:47:38 +08:00 via iPhone
    百万英雄是什么?
    odirus
        2
    odirus  
       2018-01-08 21:48:54 +08:00
    欢迎大神靠谱的科普,我也想学习学习
    lhx2008
        3
    lhx2008  
       2018-01-08 21:50:58 +08:00 via Android
    我也感觉很神奇,上百万的并发,还是视频流量,还有如此复杂的逻辑和同步性,稳定性的要求
    opengps
        4
    opengps  
       2018-01-08 21:52:42 +08:00
    其实应用了一堆的技术,不过这个时候,外界能说的无非就是队列,缓存,分流之类的
    lhx2008
        5
    lhx2008  
       2018-01-08 21:54:28 +08:00 via Android
    不过判断对错中间是有延迟的,不是马上判断对错,应该还是有个消化的时间
    Raidal
        6
    Raidal  
       2018-01-08 22:05:37 +08:00
    同关注,类似的 app 出了一堆,太快了。
    odirus
        7
    odirus  
       2018-01-08 22:34:12 +08:00   1
    发表一下自己的拙见

    每个人最多 10s 答题,答题后主持人通常是 15s ~ 20 s 后才发布答案

    第一题如果是 150W 人答题,30s 消化全部答题结果,使用类似阿里云的 GSLB 在全国多提供几个入口,报名参赛的时候选择就近服务器进行登录,各大节点分别统计自己的结果,然后再汇总显示,我想还是不难的,毕竟题目答案都是已知的,而不是等主持人公布答案之后再实时计算。

    不过很佩服现在的直播技术,一百多万在线的实时视频直播、弹幕直播,确实很考验技术功底。
    odirus
        8
    odirus  
       2018-01-08 22:35:54 +08:00
    打算明天报名参赛,然后抓包分析一下(今天没报上名)
    ssrtree
        9
    ssrtree  
       2018-01-08 22:36:50 +08:00 via Android
    @odirus 有直播可以看?
    grikr
        10
    grikr  
       2018-01-08 22:41:54 +08:00 via Android
    冲顶大会也差不多
    odirus
        11
    odirus  
       2018-01-08 22:41:55 +08:00
    @ssrtree 额,我以前也没看过,打开头条,中间有个按钮“答题”,然后就可以看了啊,效果还做得很好的
    menc
        12
    menc  
       2018-01-08 22:42:59 +08:00
    就告诉你头条的所有 APP 都是一个架构,所谓一招鲜吃遍天,就是这么吊
    swulling
        13
    swulling  
       2018-01-08 22:45:08 +08:00
    这个的难点不在那个答题上,而是在百万人的直播上。
    odirus
        14
    odirus  
       2018-01-08 22:49:36 +08:00
    @swulling 这个赞同,而且还要考虑直播延迟对答案提交的影响
    gamexg
        15
    gamexg  
       2018-01-08 22:52:18 +08:00
    没玩过,
    答题应该不是大麻烦吧?
    答题者之间不存在交互,那么直接堆服务器就可以搞定。
    gamexg
        16
    gamexg  
       2018-01-08 22:53:23 +08:00
    楼上说了,直播是难点,
    可惜不熟悉直播领域。
    mickeyandkaka
        17
    mickeyandkaka  
       2018-01-08 22:53:24 +08:00
    内部有人写 wiki 了, 员工可以看到讨论。

    服务端技术说多不多,说少不少。
    odirus
        18
    odirus  
       2018-01-08 22:55:05 +08:00
    @mickeyandkaka

    吃瓜群众表示想了解学习一下
    tanranran
        19
    tanranran  
       2018-01-08 23:01:25 +08:00
    @mickeyandkaka

    吃瓜群众表示想了解学习一下
    hheedat
        20
    hheedat  
    OP
       2018-01-08 23:07:56 +08:00
    @swulling 百万人直播很成熟了吧,我看斗鱼,panda,很多大主播明面上写的高峰人数都有几百万,推流,cdn 什么的,技术比较专,但是比较容易水平扩容?
    答题这种,汇总什么的是可行的方案,延时要求也如楼上所说,没有那么的及时。
    KgM4gLtF0shViDH3
        21
    KgM4gLtF0shViDH3  
       2018-01-08 23:08:14 +08:00 via Android
    第一个这类型的出来我就知道会和直播一样火
    KgM4gLtF0shViDH3
        22
    KgM4gLtF0shViDH3  
       2018-01-08 23:10:24 +08:00 via Android
    @lhx2008 斗鱼之类的好像都不止百万吧,而且还是 1080 的画质
    Nitromethane
        23
    Nitromethane  
       2018-01-08 23:26:01 +08:00
    CDN 视频流+消息队列
    realpg
        24
    realpg  
    PRO
       2018-01-08 23:32:47 +08:00
    @bestkayle #22
    在线观看量那数字看看就好……
    swulling
        25
    swulling  
       2018-01-08 23:35:04 +08:00 via iPhone
    @hheedat 谁会信那个人数…

    另外都是直播,对实时性要求不一样,技术难度也是完全不同的。
    akira
        26
    akira  
       2018-01-08 23:38:59 +08:00
    @bestkayle 普通的直播站应该是有秒级的延时的
    Admstor
        27
    Admstor  
       2018-01-08 23:45:17 +08:00
    比双 11 秒杀之类压力小多了
    上面有同学说了,答题和答案之间是有时间差的,统计起来完全没压力

    视频流这个解决方案有很多
    另外几乎所有直播的在线人数都是注水的
    liudaqi
        28
    liudaqi  
       2018-01-08 23:55:14 +08:00 via iPhone
    very intersting!
    hheedat
        29
    hheedat  
    OP
       2018-01-09 00:02:36 +08:00
    @Admstor
    @swulling 答题这个我个人猜测也可能有注水,官方机器人答题摊低成本
    fengchang
        30
    fengchang  
       2018-01-09 00:13:22 +08:00
    主要难度还是在视频下行上。答题的话,100W 个请求虽然很多,但是基本是可以无限横向扩展的。
    Lax
        31
    Lax  
       2018-01-09 01:18:06 +08:00
    最近接了几个视频直播的项目,优化延时还是可以做到比较理想的效果
    binux
        32
    binux  
       2018-01-09 01:32:54 +08:00
    我不认为和普通的(斗鱼之类)直播有太大的不同。
    scnace
        33
    scnace  
       2018-01-09 02:14:36 +08:00 via Android
    持续关注
    tidezyc
        34
    tidezyc  
       2018-01-09 02:25:17 +08:00 via iPhone
    我要说冲顶大会答题我写的你们信不信
    gclove
        35
    gclove  
       2018-01-09 03:17:25 +08:00
    没什么难度,题目和答案都是死的, 不过就是判断选项对不对.

    怎样做负载均衡都可以
    DT27
        36
    DT27  
       2018-01-09 08:37:45 +08:00
    所以冲顶大会我这每次还在看题,选项就没了。。。垃圾服务器。。。
    说好的 10 秒,连 5 秒都没有
    sujin190
        37
    sujin190  
       2018-01-09 09:59:19 +08:00
    这个感觉并不难吧,答案是固定的,把所有答案提前加密写到文件,用 nginx 直接返回,单机就能到百万级 qps 吧,优化的好的话,解密密钥可以提前下发好就可以了
    firefox12
        38
    firefox12  
       2018-01-09 10:15:57 +08:00 via iPhone
    其实没什么难度 简单的推流就可以。百万 qps 又不是一台主机处理,结果已知,任何一个主机都可以水平扩展。百万弹幕 又不是你看到了另外一百万人的消息。最后 百万在线这个数值能确认真实吗?
    ioth
        39
    ioth  
       2018-01-09 11:07:26 +08:00
    有难度吗?
    tidezyc
        40
    tidezyc  
       2018-01-09 12:55:19 +08:00 via iPhone
    @DT27 #36 你用的啥手机,我可以帮你查查
    colincat
        41
    colincat  
       2018-01-09 13:48:20 +08:00
    真心话,技术难度不大,同步时间可以用 socket,而答题可以采用 http nginx 负载均衡,多加点机器就好了,而且基本上只有第一题才有百万流量,主持人可以拖一会,计数也不需要太精准,因为只有内部知道到底有多少人,接下来的题答题人数会越来越少了。
    jccg90
        42
    jccg90  
       2018-01-09 14:41:12 +08:00
    呃,直播技术这么成熟了,这种广播模式的直播,毫无压力啊。。。而且答题的请求,又不要求实时性,用户又没法刷新,网络超时之后还可以直接扔掉不管算答题失败,根本没有事务的问题。。。简直超级简单的
    qscqesze
        43
    qscqesze  
       2018-01-12 18:01:41 +08:00
    这个东西难度又不是判题。。。推送问题和视频两个模块我猜应该是分开的。。。。而且判题应该是在服务器做的,不是在用户侧做的判题。
    当然难度是在直播,首先得要实时性,这个不像直播,直播的延时可能在几十秒都是允许接受的,但是这种答题的延时不能这么高,而且不同的手机之间延时也不能太大。
    另外直播人数,我虽然不是相关项目组的,但是人数这个应该是真的,百万的同时在线人数不注水的。

    比较一下竞品之间的表现,头条还是有实力的,这个东西也不是说说这么简单的,突然一个百万 qps 打过来,服务器稍微不注意就会被打挂。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4391 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:11 PVG 18:11 LAX 03:11 JFK 06:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86