冲顶大会APP技术选型及架构设计

自以1月4日看虎嗅推送”王思聪撒币”的消息,然后开始琢磨背后技术。其中提到直播流、实时弹幕、OAuth2.0开花授权、SMS
api、Push网关、支付接口等事情,其技术实现并无复杂,我们本着之展开解析。

UI设计

必发bifa88手机客服端 1

足说冲顶大会是照搬HQ的商业逻辑、业务逻辑与UI设计。想必在短期内会出再次多之学问问答APP蜂拥出现。对这个我非开了多评论,只说背后的艺实现,无关商业。

Flutter

足说自己是谷歌的脑残粉,据传言Google的Fuchsia OS
UI都是故Flutter设计的,在此,Android和IOS的适配都得以应用Flutter实现。具体设计可以完全模仿HQ。

政工逻辑

冲顶大会类APP的技术难题在高并发和时效性。为之我们而针对性工作开展解耦合,将登记/登录、直播、弹幕、问答、奖池、推送、分享全部进行作业分别,这样有助于业务进行,保证高并作和后续维护问题。

个中重点的事情难和要以直播、弹幕、问答。直播与弹幕是首要的流量出口,将那个分别有助于确保高并发和时效性。

必发bifa88手机客服端 2

直播

必发bifa88手机客服端 3

店可活动搭建直播服务,当然为得以购买云服务。假设这里选用阿里的视频直播服务。直播环节将视频流编码传输、转码、加速后推送数据流到客户端。

弹幕

弹幕可以做成简易的request请求方式,也可以动用信息队列。当然消息队列也得选云服务,但此我们使用kafka,部署至服务器集群达展开负荷均衡。对于网速较逊色的用户我们得默认关闭弹幕功能,以增长用户体验。关于高并发和时效性,我们后再谈。

问答

问答环节作为用户太相关的事务逻辑,我们如果包用户”秒级”接收信息,这里可以采用一个粗技巧,即”同步推送,异步反馈”。也就是说,主持人以游说出问题后由于纯服务器进行问题推送,但考虑到用户的纱状态是不同延迟,我们得以异步接收用户之答题结果,我们可用异步反馈的最为酷时效设计呢10s、15s。

外业务

登记/登录:调用微信OAuth
2.0盛开授权。具体参考微信开放平台接口文档,这里不以赘述。
奖池:在问答环节结束后进行统一分配,业务简单,不以赘述。调用支付宝提现接口。
推送:可以使push网关,也可采取http轮询,也可以应用云服务。
享受:调用各平台分享接口即可。

高负载

自家建议分别于首都、上海、香港开展负荷均衡服务器的而,北京劳动北方用户,上海服务南方用户,香港劳务港澳台和角用户。技术上动hadoop、zookeeper、docker、nginx等。
必发bifa88手机客服端 4

对于不同地理位置的用户IP,需要开展DNS解析,进行流量自动分发及适配。我们安好本着用户的地理位置不同而开展弹幕的分开区域显示。
使用CDN加速。

运营

可以说各级一样次等直播都是相同不成运营,因为发”主持人”因素,所以问答推送和答题结果尚且是急需”手动”控制的。
具体操作是于直播前准备题目,并且以问题录入数据库,或者某配置脚本中。在主持人互动过程被,进行实时题目推送,并将答题结果上报到主席。

最后

咱俩解人力资本以及奖金成本,单独计算技巧成本。单次问答直播大概20min,我们为10G流量峰值每天开展试算,大概每天的艺资金是1万首。当然,这是当用户数据及自然范围下。在互联网行业,这并无赛。所以,在紧缺日内,一定会时有发生大量之学识问答APP问世。

本文特以总体角度考量技术实现,并未提到了多细节。但对部分发出经历的公司,特别是直播类公司,我怀念做出这种APP,不会见超越一个礼拜。我们等吧。

本文欢迎注明出处的转载,但微信转载请联系民众号:caiyongji进行授权转载。

相关文章