纯干货,移动直播技术的极限优化与高效研发

  2、常见优化方案

  每个团队所用的技术、方案都不太一样,所以在优化上面也会有所差异。在此,针对常见的3种方案进行优化分析:

  前后端分离:最初的大部分的业务应该都是前后端分离的方式,前端就聚焦在前端上面,后端专注于后端的一些接口、数据的调用。这时要怎么去优化?首先,随着业务越来越复杂,前端要做分层处理、模块化,以便维护。同时, 要重点做前端资源加载的优化,因为后端只是在做数据拉取,只要能够抗住量,就没有太大问题。而且,要清楚每个资源、数据在异常情况下带来的影响。举个列子,你的业务可能有很多很多的资源,当第一个资源失败,会带来什么结果,第二个资源失败,又会带来什么结果,这些都要非常清楚。否则,当用户把问题反馈过来时,很难第一时间发现问题所在。此外,网络场景要去细分,了解用户的重点是在哪里,是在4G网络,还是在WIFI网络,优化重点要进行偏重。

  重前端MV*:随着前端的发展,前端MV*框架愈加常见,很多业务、团队都有在用。这种情况下的前端更重,就需要考虑前端并发,不能让用户去等待很多很多的信息。同时要去做同步渲染降级,让用户快速看到。还要考虑在业务里面的SEO,对于浏览器来讲,当它拉的信息都是一样的,它会认为页面的更新非常低,搜索引擎很难抓取并更新。

  Node全栈研发:在发现诉求越来越多的时候,就需要有一个能同时聚焦到前后端的工具,刚好Node就能帮我们做很多事情。这和前后端分离有点像,但又不完全一致。可以看成,前者是前端一个人后端一个人,但更好的情况是能前后端只有1个人,这样他会更清楚前后端的逻辑,而且这些逻辑要尽可能的在前后端复用,这个时候就要考虑前后端的复用体系。Node本身很强,但还需要注意更深入的一些东西,比如TCP/UDP协议的解析。因为你后端的数据是来源于它的后端的一些数据调用,如果这个时候能够用node解决,那是最好的,前提是node能撑住这个量的场景。

  3、效率至上

  优化的同时,要对团队的效率进行掌握。效率至上来做优化,才是合理的。对于效率,可以从以下几个方面去看:

  第一个是刚才讲的复用体系,前后端复用体系怎么去复用;

  第二个就是需要有完整的构建工程体系,现在其实有很多构建工具,在此不做列举,能用工具解决的事情都不要去用人力去做,哪怕是一个简单的更改。因为工具解决不会出问题,但人力解决难免会出问题。

  第三个是需要有完整的研发技术栈,研发技术栈决定了团队的统一性,能够帮助新人快速融入和业务的交接。

  4、研发生态

  虽然说效率至上,但也不能只讲效率,还要有所有工具体系的一个生态闭环。它能不能自动更新、自动维护,能不能有一个方式去迭代。比如说其中的一个组件,它可能会升级、会改变,升级的方案是什么?升级后怎么快速的能够跑起来、用起来,不出问题?这就是生态,生态会有很多方面,把业务里面的生态建立起来后,团队的优化才是最高效的。

物联网

  三、直播优化实践

  确定了方案,下一步就要应用到业务中实践。同样,每个业务的情况都不一样,这里还是以直播的业务来举例。

  1.1、监控——加载监控体系

  首先,要知道你的业务瓶颈,这就是通过业务的监控分析出来的。没有监控是很难知道业务的瓶颈在哪里。那到底要监控哪些点呢?可能有人会比较茫然,那么多业务,哪些点是重点,哪些点是必须要做的点,难道每个都要监控吗?

  在此,列出了在业务中需要做的点:

物联网

  不管是从资源的加载,还是资源的使用,还是版本的覆盖,还是本身的前端的错误,这些都是要做的。如果这些都没有做,那么说明对业务的掌控是不够的,你不知道用户哪里出了问题。所以说监控是很重要的点, 现在有很多开源工具可以帮助你去做,也有很多现成的统计工具。

  当然,监控不是最终目的,优化业务和提升业务才是。工具做好之后,就要去在监控中发现问题,最好是能主动发现问题,而不是被动的依靠用户投诉。