在缓存方面,我们刚上线的时候没有缓存,后来做了个极端,全部用静态缓存,但全部用静态缓存之后,失效等问题开始困扰我们,于是又加了业务的多级缓存,再配合动静分离做了一些融合的静态缓存。 监控方面,一开始我们只用cacti,nagios,后来自己写了一个黑盒监控,叫momoda,它会定时监控我们所有的服务,看我们服务的状态OK不OK,现在我们自己写了一个XDCS的,整个白盒子能监控我们所有的服务和调用链。 运维方面,一开始我们是手动发布的,后来我们加了Salt的自动化。现在我们自己开发了自己的CMDB,做灰度、自动化的部署发布, 大数据这块,我们刚上线时只有三个节点,是 Hadoop集群最低配, 3台hadoop,三个结点,一个Mast,两个Slap。后续我们增加到十几台,现在我们建了整个数据中心,有两三百台全部跑在sparkonyarn上,已经把Hadoop去掉了。一开始我们用Hbase比较多,踩了很多坑,后来我们把服务于线上用户的Hbase跟做离线分析的Hbase做了隔离,就是online offline做了隔离。现在的On Line,我们还做了读写分离,就是把库写定时再dump到读库里面,保证读的性能稳健性。 除了架构,atv直播,我们在团队方面也做了调整,最初是纯职能团队,划分为客户端团队、服务端团队等。后来我们按照业务拆分服务端团队,但是不久后发现光有业务团队不行,又提出做专业职能,像平台架构团队,系统架构团队等等,又把专业职能团队再提取出来。 6招合适的人做合适的事 创业公司比不了BAT,我们招不到最优秀的人才,在喜马拉雅还不像现在这样有名气时候,最优秀的人才不愿意到这个平台来。另外,他们要求的待遇我们也满足不了,所以我们招最合适的,或者潜力比较好的人。 当时我们iOS的负责人只有三年工作经验,但是他Python、Java什么都会,做过做百度音乐,百度输入法的iOS开发,最早还做过塞班,是一个潜力非常好的人。虽然经验略欠缺,但我们愿意给他很好的发展平台,让他负责整个那里团队的管理,他也可以有一个转型的机会,这时候他是一个非常匹配的人才。所以要找到这种潜力比较好,又愿意过来的一波人。 喜马拉雅刚在招聘的时候还有一些技巧,比如说跟面试人多探讨一些技术,让他感受到我们都是热爱技术的,我们是在营造一个追求技术的环境,然后多描绘一些发展前景,甚至我们会跟他们一起吃饭聊天,和他们打成一片。 喜马拉雅有了名气之后,陆续有很多人过来,但是BAT的人价格还是很高,因为BAT近几年炒的是越来越高,我们的想法是把握好人才结构,我们注重内部培养人才,所以我们校招开始的比较早。另外,也从外部引进一些有经验的人才,这样把人才结构做好。 7允许犯错,但不该错的地方绝对不能错 技术管理方面,首先希望我们整个团队对技术感兴趣。另外,我们都要尊重他人,或许他有些方面确实做得不够好,但每个人都有长处,我们要更多的表扬他的长处,再去引导他改正不好的地方,当然很难融入团队的人肯定要第一时间处理掉。 我们在团队管理方面宣传一个基本的价值理念“我们有哪些方面能错,哪些方面不能错”,比如我允许你上线出Bug,但是你不能把钱算错了。 还有目标和结果导向,要给每个团队定好目标,然后让团队自己去实现,我们不过多的干预。另外职责要清晰,每个人要为自己的职责负责,如果职责不清晰,他就不知道自己做的事是否有回报。我们也会鼓励创新,但是创新的过程要严格把控,因为毕竟是新生的事物,要投入多少,效率如何,或者结果怎样都是要严格把控的。 提倡主动性和沟通的重要性,我宁愿你技术差一点,但是主动性要强,要多注重跟其自己团队、其他团队之间的沟通。另外,要以表扬和激励为主,我们更强调做得好的东西,而不是去批评做得坏的东西。最后就是每个团队要能够自我快速的迭代,不停优化。 8与人工智能结合,直播,深度耕耘音频领域 音频领域远没到瓶颈期,还有很多东西没有做好,喜马拉雅的下一步计划仍然是在音频领域里深耕。当然,喜马拉雅和其他互联网公司一样,也会面临的很多挑战,比如人工智能。音频内容分发跟音乐不一样,音频的内容非常多样化,很多内容都可以听,而音乐只是一个品类,所以如何根据用户的兴趣制作智能的内容分发是我们要面临的挑战之一。另外,音频跟头条等文字平台不同,头条有大量的文本内容,音频只有音频本身,在语音识别方面还是要深入研究。 作者介绍 (责任编辑:本港台直播) |