“互联网+”为创业团队实现业务的快速增长带来了机遇,同时也对技术团队带来了更多的挑战。国内游戏直播平台龙珠直播,2015年2月正式上线,到现在只是短短的10个月,其技术架构就经历了三次重大的迭代,而最终解决问题的,是云计算服务。日前,龙珠直播CTO谭振林接受了CSDN云计算采访,解读龙珠直播的技术架构变迁和云计算实践心得。
谭振林介绍,龙珠 DAU的用户量级已达到500万+,产品的高速迭代、实时交互大并发以及黑产对抗等都成为巨大的挑战,其中并发峰值已经达到5TB+出口宽带,需要10000+计算集群网络。在此背景下,分布式架构是龙珠直播必然的需求,并且扩展能力、灵活性以及成本也是必须思考的问题。通过基于云架构的CDN内容分发、音视频解决方案、安全防护技术,龙珠实现了技术平台的升级。出于产品能力、后台资源以及服务响应速度的考量,龙珠直播选择以腾讯云为主,实现了快速扩容、安全服务的能力。
谭振林同时表示,龙珠直播未来还会有一些IT硬件采购的需求,但是这个曲线会趋于平缓,整个团队对于云计算服务会有更多的信心和使用,以避免IT规模量级提升后带来的硬件和运维成本。此外,他还表示也在黑产对抗、高效数据库的大型应用等方面有更多的期待。
技术架构变迁
CSDN:作为龙珠直播CTO,您的工作包括哪些内容?您的技术团队规模和构成是什么情况?
谭振林:在龙珠直播,沟通组织目标、管理和发展研发团队和制定架构方案等,都需要CTO的参与。我们的技术团队大约有100人,主要构成是研发工程师,以及产品经理、项目经理、测试与运维,还有设计师团队。
CSDN:从0到百万级用户,龙珠直播需要解决哪些技术挑战?能否分享背后的技术架构是如何变迁的?不同的阶段有哪些特色?
谭振林:目前,龙珠 DAU能到500万以上,用户量大了后,平台所需承载的需求更多样,需要同时研发很多条线的产品来满足市场要求。与此内时,实时交互的系统要支持高并发,是一个很大的挑战,还有平台大了后,会有更多的黑产攻击需要应对,这些都是需要解决的技术挑战。
在初期,我们的架构更多追求精巧高效,用集中的服务器资源快速的处理大量的请求,小巧的系统架构能快速迭代满足业务快速变化的需要,也降低了运维系统的要求。但是随着用户规模的增长和我们自身团队的膨胀,我们的架构逐步向模块化与分布式变迁,好在我们最初的架构设计能很好地支持这种变迁。然后就是将本地系统向扩展性、灵活性更高,成本更低的云系统迁移。
概括起来,三个阶段的特色分别是:精巧与高效,扩展与隔离,异构多元化。
云计算实践及经验
CSDN:当前的云计算服务很多,针对龙珠直播面临的挑战,您选择云的标准是什么?考察过哪些云计算技术,是哪些原因决定了您最终的选择?
谭振林:我选择的标准包括:稳定可靠,接入方便,容量弹性高。考察和使用的云服务很多,目前在使用的也有好几家,包括腾讯云、网宿、金山云和七牛,使用的服务也非常多,包括CDN内容分发、音视频解决方案、安全防护和图片鉴黄等等。现在以腾讯云的服务为主,这是因为他们有几个方面的竞争优势:
产品能力强。腾讯云的产品内涵其实包含了腾讯作为行业一流大企业多年运营一流产品的经验,切中我们的需求要害。 后台资源多。包括硬件设施规模与丰富性,也包括对合作项目的运营支持资源的丰富。 服务响应快。对于需求的响应非常及时,处理过程顺畅快捷,这是保障项目成功的同样重要的一个方面。
CSDN:能否分享上云的磨合过程,各个重要的时间节点,上云的难点,云上最初遇到的挑战,以及如何解决?
谭振林:作为自身管理和运维了很多服务器资源的团队来讲,上云的难点在于如何搭建一个异构系统尽量少的减少本地系统与云中系统的通信成本与延迟,最有效的办法还是做好系统的模块化、接口化、无状态化,将相对独立的业务先搬到云上,再逐步用成熟的云计算产品蚕食不便于维护与扩展的本地系统。而需求变化快、特殊性强的系统则仍以本地搭建为主。
CSDN:安全问题,不管是系统安全、数据安全还是网络安全,仍然是目前困扰技术团队的一个问题,能否介绍龙珠直播在安全方面的规划和经验?
谭振林:安全的问题确实是很大的一个困挠,即便系统安全和数据安全还有很多的技术手段和管理规范来降低风险,网络攻击也是防不胜防,会消耗大量的资源和人力。在处理这一块问题的经验上,腾讯云也提供了很多靠谱的产品,包括大禹、天御、万象优图等系统都是很好的工具。
CSDN:CDN方面,腾讯云CDN的400+节点,年底建成10TB自有带宽,而龙珠直播用到超过5TB的出口宽带,超过10000台的计算集群网络,这是峰值、累计还是平均规模?腾讯云的客户不只是一家,如何保证这些资源在龙珠直播需要的时候不会和其他客户的需求相互“打架”?面对突发大流量,10000集群的扩容速度表现如何?
谭振林:是峰值。我们的业务特点之一就是在一些大型赛事和活动期间,流量波峰波谷的现象很明显,而使用云服务对于这种业务非常灵活和具有性价比。如何应对我们的这种需求?首行腾讯云扩容速度表现是非常棒的,我想主要是因为他们本身的基础建设和资源整合做得非常好有关,本身有比较大的资源池,当然对于重要的节点,我们也会提前和云服务商沟通。
CSDN:谈谈云计算服务对运维的影响,采用云服务之后,龙珠直播技术团队的运维工作有哪些变化?
谭振林:腾讯运维服务我们现在主要运用了安全、流量这一块的服务,我觉得使用下来,这个服务可以称得上是智能的、自动化的。因为我们现在部分系统还是在传统IDC里自己运维的,所以我们的运维团队还是有很大的工作量,也要管理云上的系统与本地系统的配合工作。采用云服务后,运维团队对于整个技术架构的主动性更强,原来更多是根据研发架构方案来制定运维方案,现在在需求分析的阶段,运维可以根据掌握的云服务产品来和研发一起优化系统架构方案。
CSDN:您如何预估龙珠直播未来发展的IT需求变化?日后还会用到哪些云计算服务?对腾讯云的技术、功能、服务更新,还有哪些更多的期待?
谭振林:龙珠直播未来还会有一些IT硬件采购的需求,但是这个曲线会趋于平缓,我们整个团队对于云计算服务会有更多的信心和使用,以避免IT规模量级提升后带来的硬件和运维成本。目前在音视频云服务在更多领域的应用上,智能内容安全上等方面我们都在尝试,根据新的云服务的推出,我们会有更多的尝试。我们也很期待在黑产对抗、高效数据库的大型应用等方面有更多产品推出。
CSDN:通过龙珠直播云计算的实践,您对中国云计算技术和应用的发展还有哪些心得可以分享?
谭振林:中国云计算技术已经从简单的云硬件发展到了云解决方案的时代,云带给我们的不再是买服务还是租服务器的纠结,而是快速、方便、稳定、可扩展的使用云计算产品搭建业务的时代。我建议有自己规划、使用、掌管过硬件大量经验的从业者,在新时代中能拥抱变化,用更好的工具更高效的支撑自己的业务。
技术团队建设
CSDN:云计算环境下,对于高效技术团队的建设,您有哪些经验可以分享?您对团队成员的素养和工作习惯有哪些要求?
谭振林:团队的搭建者基于战略的规划与需求的理解,要能快速分解于团队的技能要素,做出人力资源的规划,这是一个搭班子的过程。需要注意的是,站在战略的层面,要支撑公司业务的快速发展,全栈团队的搭建并不能局限于所有需求全部内部资源来消化,包括云计算能力、外部合作团队资源,都是需要考虑的,可以说快速整合能力,是一个团队领导必要的能力。
大多数技术人员都希望工作在一个有“技术氛围”的团队中,我觉得这样的团队不外乎两点:
能不断地有更优的解决方案来处理需求,有节奏的方案升级能带动团队成员技能与思维的持续发展。 切实,技术要服务于需求,能快速有效解决需求部门的当务之急是与外部团队良好互动的基础,也能带给团队成就感。
这是我希望团队成员养成的工作习惯。除此之外,我还要求我的团队成员具有开放、好学的心态。