架构方面,如果要开发运营级的直播APP,需要采用分布式的架构方式,不仅包括各个功能模块的分布式部署,还包括各种应用服务器的分布式部署,从而实现更好的服务冗余备份、平台的健壮性和容错性、运营成本的有效控制,还有用户体验效果的提升。
站点层
是通过“nginx”实现的,通过修改nginx.conf,可以设置多个web后端。当web后端遭遇瓶颈时,只要增加服务器数量,新增web服务的部署,在nginx配置中配置上新的web后端,就能扩展站点层的性能,做到理论上的无限高并发。

服务层
服务层的水平扩展,是通过“服务连接池”实现的。当服务遭遇瓶颈时,只要增加服务器数量,新增服务部署,在RPC-client处建立新的下游服务连接,就能扩展服务层性能,做到理论上的无限高并发。
申请第三方服务
直播平台搭建部署时,很多基础功能的实现都需要第三方服务接口,才能保证直播平台后期稳定运行。开发商开发时都会预留第三方接口例如:登录分享、消息推送、私信、定位、支付、存储分发业务等,投资方可以根据实际需求,申请对应的第三方服务账号,将账号和秘钥告知软件开发商,协助接入即可。
除非有特殊需求的情况下会选择自建流媒体服务器。三方CDN服务商拥有众多的节点服务器,能够快速实现直播内容的传输分发,极大地增强直播体验,但高额的流量费用也是后期直播平台运营中需要精打细算的。
程序测试
我们将程序打包成APP安装包的过程叫封包。现在绝大多数直播软件都是以手机app的形式存在,几乎都是通过手机app来下载直播软件。常见的安卓手机APP安装包格式是.apk,苹果手机安装包是.ipa,在应用未上架前,我们需要对程序不断测试,这时候可以借助分发平台进行下载,通过不断测试和修复BUG。
测试BIG修复完成以后,开发直播APP的程序也就告一段落了,就可以上线运营了,后期在运营中有什么问题再不断地优化完善。