来自 科技 2020-04-11 09:47 的文章

网易云音乐:云计算助力我们打造一流音乐社区

  网易云音乐:云计算助力我们打造一流音乐社区!达成音乐社交的差异化成长,网易云音乐充分利用了网易云的容器云、I M云、视频云和基于深度学习的反垃圾云方案

  从互联网音乐的红海中杀出,在网易云音乐CEO朱一闻看来,自己做得最正确的事情就是坚持社交的定位。从歌单、评论到音乐人计划,网易云音乐被深深烙下了社交的印记。网易云音乐为什么能够在短短的时间内实现其商业闭环?谜底揭晓,其中一个重要原因就是网易云技术体系。

  作为全面支撑网易互联网业务的技术部门,网易杭州研究院(简称“杭研”)基于网易互联网业务的共性需求,利用最新的分布式、容器、大数据和深度学习等技术打造了一整套面向互联网+的云服务,涵盖弹性伸缩、高效运维等基础服务以及视频、消息推送、反垃圾等功能,为网易云音乐提供了一系列的技术支撑,让朱一闻的团队得以全身心探索音乐社交平台的差异化发展之路。

网易云音乐:云计算助力我们打造一流音乐社区

  互联网音乐可谓近期互联网领域的“军事重镇”,包括BAT和多家创业公司在这个领域频频布局,网易云音乐就在此背景下诞生于2013年4月。自正式发布产品以来,网易云音乐一直就走在发展的快车道上,及至2016年7月,网易云音乐平台上的用户数量就突破了2亿。

网易云音乐:云计算助力我们打造一流音乐社区

  拒绝成为播放工具,而是做音乐社区,这是网易云音乐在同类产品中脱颖而出的原因。事实上,丁磊找到朱一闻团队来做网易云音乐,正是看中了团队的社交产品经验,以及朱一闻的社交情怀。

  “社交”这两个字,落到产品却是千头万绪。且不说连接内容与用户的商业模式的验证,新功能、新业务的拓展,哪怕产品设计已经比较稳定,健壮的基础设施、消息推送、垃圾信息过滤、Android端的各种适配等等,都是横亘在研发团队面前的大山,更何况快速迭代已经是当前互联网产品运营的不二法门。网易云音乐技术负责人介绍,自确立目标以来,从产品功能到运营支持,网易云音乐面临的技术难题随处可见。

  曲库/MV的海量存储。尽管主打社交,但网易云音乐的根基毕竟还是音乐,要满足更多人的需求就要保证资源的丰富性,所以,从支持系统的角度,能够随着曲库规模扩展的存储系统,以及一个高性能的数据库是必须的。目前,网易云音乐曲库收录正版高品质音乐超1000万首,入驻的明星超过1500位,原创音乐人超2万人。而用户自主创建的优质歌单总数超过1亿个,平均每天诞生42万优质新歌单,累计产生超2亿条乐评。

  大并发、高性能。互联网音乐的竞争日益激烈,用户对产品体验的要求也越来越高,大高并发、高性能是当前每一个面向大众的消费级互联网产品必须面对的问题,更何况在朱一闻的理念中,唯有活跃的用户才具有价值,所以对用户访问的响应,即便在流量洪峰下短期内无法保持一流的性能,服务也是万万不能中断的。这种情况下,负载均衡、性能监控、日志分析、弹性扩展,是统统都要上的。同时,IM模块也需要根据移动网络的特点进行性能调优,包括优化长连接的健壮性。

  如果说团队面对这些“大山”还能有愚公移山的精神,那又错了——丁磊的一个硬性要求(其实也是当前互联网市场快速变化的要求),就是产品三个月之内必须要上线,小步快跑。当然,从网易一贯的风格来看,网易云音乐上线的第一个版本也必须是精品,技术上的坑是要填好的。

  与此对应的是产品迭代的成本。网易云音乐最初为了快速上线采用单体架构,这就留下了弊端,一个微小的改动也要整体重新部署,不仅麻烦,还容易出错。一个真实案例,就是出自一位新手的一行错误代码,曾导致整个应用不可用,也正是这件事情,促使网易云音乐下定决心实施服务分拆。例如将曲库、社交模块、用户信息、积分商城、歌单等分拆成独立服务,研发团队可以高频度独立更新各个微服务,从而能够控制变更范围,极大加速产品的迭代。

  直播模式的烦恼。在直播模式如日中天的当下,网易云音乐也要试水在线直播,比如8月11日晚全程直播中国首个国民音乐顶级赛事“音乐大战”。当然,对于社交情怀的公司来说,互动是直播题中应有之义。不过直播很可能不是常态,但对于技术团队来说反而更为难:在网易云音乐快速发展的情况下,为一个可能不常用的场景去啃直播这块对难以避免的网络波动极为敏感的硬骨头,回报难以估量,研发人力却是捉襟见肘。

  Last but not least,社交氛围纯净度的保证。UGC(用户原创内容)是社交类产品的重要方向,歌曲、歌单的用户评论正是网易云音乐保持疆域和扩张版图的利器。然而UGC同时也导致内容的不可控——2015年全国恶意网信办全年受理的网民举报案件多达3600多万件,可见网络环境之恶劣。

  朱一闻用“破窗理论”(环境可以对用户产生强烈的暗示性和诱导性)来解释保障网易云音乐社区评论纯净度的奥秘,但这对团队提出更高的要求:一定要杜绝“第一扇破窗”(如涉及黄赌毒暴恐的评论)的出现,这是很大的工作量,尤其是当前网易云音乐平台日均评论数量已经达到64万,如果堆人力7*24小时一条一条地审核,需要的人数无疑是一个无底洞。即便结合一些过滤规则、举报机制,工作量也不能减少多少,因为规则并不能正确处理当下的拆字、谐音等垃圾变种。所以,网易云音乐必须采用更先进的技术手段来解决。

网易云音乐:云计算助力我们打造一流音乐社区

  解决的办法就是云计算。事实上,而且当前的互联网产品或多或少都具有社交的属性,以及图片、视频等功能,相应的云服务模块也就应运而生,故而完全重新开发一套体系来开展网易云音乐的业务,并不是明智的选择。那么,有符合网易云音乐需求的云计算服务吗?

  借力网易云

  好在有杭研。作为网易互联网业务发展的技术支持部门,杭研成立之后不久就开始做分布式关系数据库、分布式存储的研发,到2012年又开始大规模地将各业务部门的共性需求进行云化,网易云音乐原本是网易杭州研究院的二级部门,自然而言地利用网易云技术体系带来的利好,包括容器云、IM云、视频云、反垃圾云等解决方案。

  网易蜂巢:基于容器的弹性伸缩、敏捷开发

  3年时间,网易云音乐用户规模从0到2亿,功不可没的首先是网易蜂巢,基于容器的基础服务,包括单行扩容的容器集群、关系数据库服务、分布式存储服务、负载均衡、性能监控等。在网易云音乐技术负责人的印象中,网易蜂巢为网易云音乐带来的价值体现在稳定、可伸缩的容器集群环境,敏捷的开发模式,以及良好的运维支持。

  (支撑网易云音乐的云计算基础服务)

  轻量级的Docker容器,可以把软件架构、缓存环境、数据库环境、运行环境快速装进来,为弹性伸缩打下了基础,网易蜂巢团队利用Kubernetes容器集群管理技术,从软件架构到IT基础设施构建了完整的弹性伸缩能力(Kubernetes对用户暴露的是一个个服务)。同时,网易蜂巢提供了丰富的镜像帮助开发团队快速完成新环境的搭建,让网易云音乐团队无需为上线、预发布、测试、开发环境的配置和管理发愁,并提供了完整的DevOps工具链,包括丰富的诊断工具和监控服务,在提升效率的同时还降低了开发的成本。此外,基于Kubernetes的优秀设计,网易蜂巢提供的服务发现、服务编排、服务治理等能力,使得网易云音乐只需要完成自己业务的代码实现即可享受到微服务带来的益处。

  网易云信&网易视频云

  IM 已经成为当下 APP用以提升用户活跃率的必备模块,推崇互动的网易云音乐也不例外。然而,网易云音乐希望IM各环节各子系统都做到抗抖动、抗单点风险和全面的实时监控和自动化应对,这是很大的技术难题。此外,从良心的角度,还需要考虑针对手机电量、流量的优化。

  网易云信在技术的选择上稳定可靠的服务品质为最高优先级,根据16年来从网易泡泡、易信等产品研发的经验来解决上述难题,支持海量并发和不丢消息,例如通过私有精简二进制协议实现更快的速度和更好的性能,通过动态智能DNS 掉线快速重连保障弱网消息必达,同时通过私有协议加密和RSA+流式加密保障安全,从而让网易云音乐可以放心采用。

  (网易云信Android SDK架构)

  而网易云音乐在直播方面的尝试,以及MV的点播,就借助了网易云视频云技术。网易视频云的直播产品由专业的音视频技术团队结合网易15年的音视频实践研发出来,从采集、预处理、传输、编解码到服务端处理,都进行了精心的设计和优化。同样,针对复杂网络环境,网易视频云通过自研Dawn协议来传输实时音视频流,以及实时监控网络状况,对直播流进行智能调整,增加了抗丢包能力,使直播更加流畅。

  此外,网易云信和网易视频云还有一个特点,也是网易云音乐的开发人员赞赏的,就是SDK的跨平台和接入的便利性,因为有详细的开发文档和入门教学视频,新手也可以一天之内完成接入。

  网易易盾:来自人工智能的高效反垃圾

  在网易云音乐的初级阶段,用户量和数据量相对比较小,垃圾信息、有害信息也相对较少,一般在情况下创业团队会让运营人员人工审核,但朱一闻的理念迫使网易云音乐很早就考虑通过技术手段来过滤垃圾信息保障用户体验。网易易盾反垃圾团队也为网易云音乐提供了一整套方案来快速过滤垃圾信息,所提供的服务包含广告过滤、智能鉴黄、暴恐识别、谣言排查等。这一决策在2亿用户的条件下收到了很好的成效,仅在2016年上半年,网易易盾团队就为网易云音乐清理了2300万条垃圾信息,保证了良好的音乐社区环境。

  简单说来,易盾反垃圾系统,包括分布式对象存储、分布式缓存、分布式数据库、Hadoop、Storm等框架,但最核心的还是两个人工智能组件,包括基于文本过滤组件和图片识别组件。这两个组件采用了前沿的深度学习算法,依托网易积累的深度模型,并针对不同场景进行优化,从海量数据中自动学习垃圾信息的特征,为精确分类打下基础,从而实现更准确地识别垃圾词汇、色情图片、广告图片以及一些违禁品图片。同时,依托网易云的动态扩容,弹性伸缩能力,网易易盾能够满足客户单日十亿级请求,所以完全可以满足网易云音乐的需求。

  目前,网易云音乐也保留一个小型的人工审核团队,因为人工智能系统是一个在自动学习中不断进步的系统。不过,相对于规则+人工审核的方案来说,网易云音乐的成本不可同日而语。至于清理的效果,看媒体评论:网易云音乐的社区评论堪称中国最和谐的社区。如此的精确度得益于网易长期积累的样本库,因为深度学习还需要足够的训练数据才能实现很好的模型性能,而网易易盾基于网易产品的庞大用户群,每天新增特征超过4万。

  正如硅谷大佬的名言,互联网经济的哲学是快鱼吃慢鱼,在竞争日益激烈的今天,一个互联网产品想要脱颖而出,其背后的战略、产品、运营都不能存在短板,而这些都依赖于优秀技术的支撑,才能轻装上阵,以快制胜。网易云音乐背靠网易云的蜂巢、云信、视频云、易盾等方案,解决了业务拓展、产品迭代、用户激增、运营风险等多项挑战,突出重围快速发展,并于2016年4月升级为网易集团一级部门“网易音乐事业部”。事实上,网易云音乐还借助大数据挖掘技术做了个性化服务(网易云音乐3.0版本首页所有内容都是个性化的),底层也是杭研的大数据平台,而大数据体系也是网易云即将推出的云服务。

})();