陈峻:基础服务入云是大势所趋

个人简介 陈峻,现担任TCL通讯云平台技术总监,负责云平台部门的搭建与技术研发工作,关注云计算、大数据分析、分布式搜索、移动社交网络等相关技术领域。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

   

1. 各位InfoQ的网友大家好,我们现在在QCon北京的现场,作客专访间的是TCL通讯云平台技术总监陈峻先生。您能简单介绍一下自己的从业经历吗?

陈峻:07年我从中科大毕业以后,就进入到互联网行业。我05年就来北京实习了,当时是在一家叫中网的公司,做自然语言处理相关的工作。毕业后,我在九城干过搜索,后来又到网易做过一些跟贴优化的项目,还做过网易视频,网易公开课。我最开始是负责搭建整个后台,11年从网易离开加入人人网,主要是想做商务社交网络。当时LinkedIn在海外其实非常火,但国内还没有一家能够做大,所以我想去人人网尝试做做,后来这个架构也有所变迁,然后也转型到一些移动互联网应用的开发。从人人出来以后,去年我加入TCL腾讯,在TCL腾讯这边主要负责云平台这个部门。

   

2. 从搜索到移动,再到云平台,这些工作经历里你对哪个项目印象比较深刻?

陈峻:印象比较深刻的是我之前在网易做跟贴的优化的那个项目,网易跟贴的这帮网友们非常有才,当时我们为什么要做这个项目呢?网易跟贴是网易发布的一个拳头产品,随着用户也越来越多,这个架构就有些老旧,不同的功能叠加上来,导致速度点儿慢,就需要重新切换新的架构。印象比较深刻的是,跟贴上线的工作是比较痛苦的,因为任何情况都不能让它宕机,得保证用户持续访问这些跟贴的内容。我们都是半夜去做上线更新,而且每个频道,它的量是完全不一样的,所以我们得一个频道,一个频道地更新。首先从小频道上,最后到最大的新闻频道,整个过程持续了很久。我印象中,应该是一周还是两周,把所有的频道全部切到新的架构上去,其实也还是挺有成就感的。

   

3. 你现在在TCL主要做什么?

陈峻:我在TCL现在主要负责云平台,这个云平台现在是整个TCL集团的一个战略部分。云平台在国内是我们自己搭建的一套基于OpenStack的平台;在海外是基于AWS架构。这些是IaaS层的一套服务,但是对于我们集团来说,还需要有一些PaaS层的基础服务,包括统一的帐号服务,也就是任何用户,不管是从电视,还是从手机过来的用户,我们希望它是统一的一套帐户体系。第二个是移动手机都会遇到,触达终端用户消息推送,所以我们统一做一套消息推送系统,还包括有一些短信,Email发送等基础服务。最后还有一个,就是大数据平台,这个所谓的大数据平台,主要是指日志统计和分析,目前我们还没有做到就是特别深入,以后会做数据挖掘等,这个是一步一步来的。

   

4. TCL是有怎样的需求才会要求帐号统一的?

陈峻:从更高的战略层面来说,帐号统一这件事情一定是需要的,为什么?因为TCL是一个比较大的集团,上下游产业非常多,从大家耳熟能详的就是多媒体电视上的帐号,加上移动端的帐号,包括手机、平板的帐号,还有一些O2O外部帐号,大家都希望它统一起来,以便更好地进行业务发展,比如用户买了台电视,不能再送一个电视券,帐号在以前是割裂的,很难做到商业的统一,用了一个ID以后,就可以做到商业运营的统一。

   

5. 在手机上看到的东西,然后回家打开电视能接着继续看。对于TCL来说,对于用户的这种行为分析可能就更精准了?

陈峻:这种从运营层面,还是从用户的便利角度,我觉得它都是有必要的。

   

6. 统一帐号系统面临的技术难点是什么?这个海内外帐号是不是放到不同的系统,或者说不同的组件去管理的?

陈峻:难点挑战主要有两点。第一个就是我们现在做统一帐号的系统,但老的系统已经有了,也就说我们要完成老系统的帐号统一,比如说多媒体,或者是020这样的系统,那就需要对老用户进行平滑迁移,这是一个挑战。第二个挑战,就是你刚才提到的国内外的用户同步的的问题。其实在分享当中听众也提到过,海内和国外的用户同步其实很难做到实时,但是其实需求并不是很强烈。也就说不可能用户在中国一注册完立马跑到美国去登陆,所以我们现在用的是一种准实时的方式,同步就是保证它的一个秒级同步。

   

7. 我想了解一下TCL的Push系统,去Push一些短信什么Email之类的,然后你们在这个消息下发的过程中,会不会有信息丢失,或者有信息延时?这个跟环境有关呢,还是说跟系统架构有关?

陈峻:严格来说都会有关系,从这个架构的设计来看,能不能发出去,发送的及时率如何。其次还有网络延时,网络延时其实也是不可忽视的一部分。最后呢,就是消息是不是可靠,最终能不能发送到用户手上,比如说用户现在网络抖动,你这个消息发送不出去,这个时候消息是不是就丢了?我们这边对所有Push下发的消息都是有持久化的存储。这样能保证,既使是他这一次没收到消息,我们还可以再重发,这点是可以做到的。网络抖动不是我们能够完全控制的,但我们也做了一些优化。我们整个的推送系统其实是基于XNPP协议,XNPP协议还是比较重的,我们做了一些对于这个协议传输报文的优化。我们还有一个保证客户端和服务器端之间的长连接的,对Ping的机制也做了一些优化。它不是一个固定的,比如说几秒Ping一次,这个Ping也是可以根据实际的业务情况做调整,我们的业务白天比较活跃,白天Ping的延时会短一些,夜晚会长一些。业界做Push基本上都是长连接,能保证它时时的到达。

   

8. TCL腾讯的底层架构是海外的,最近架在EC2上,可能是现在一个公有云发展的一个现状,它要求所有跑的应用应该是有一定的容错能力,这个对你们的业务会不会有影响?

陈峻:我们在用AWS,它能够比较好地支持我们这种业务架构的伸缩和调整。通过它的一些产品服务,包括弹性的负载均衡器,可以保证我们的服务是高可用的。也就是说,比如说我下面是若干个Nginx Tomcat这种Web Server,在前面加一个ELB,根据健康状况检查,如果我这台宕了,那他会请求其他Server,所以能够保证用户是高可用的。

   

9. 你们在国内是怎么做的?

陈峻:那国内的话,就是我们自己搭建的一套体系。我们用HAproxy去实现高可用,也可以用CIP去做漂移。国内的云是我们自己搭建的,基于OpenStack搭建的一套云平台。

   

10. 我看你们在国外上,就是在AWS上,应该进行一些功能调整时候会,比如说你们提到一个好的这种技术实践,然后从你们这个一些功能的小事,到生产环境部署,一般它这个周期是多久?还有在这个周期里面,你们主要解决的问题是什么?

陈峻:这个其实,它的周期并不是非常平均,就是有可能我这个项目周期非常短,然后有的项目可能耗时会比较长一些。第一看功能的体现,第二个系统本身也在迭代,就是迭代的这种生命周期,其实上线是一个持续优化的状态。举一个简单例子,就是CDN加速,然后在全球不同的国家访问我们的下载服务,下载一个APP,它需要经过CDN加速,那我首先得通过CDN的Lork分析,我知道这个国家用户下载的耗时是多少,它是不是慢于我们的极限,我们也可以切一小部分流量给到另一个环境,然后再来测一下,它是不是达到我们优化的目的,如果达到了就可以上线了。这个上线还是一个持续的状态,就是它的周期会比较短,迭代的生命周期比较短,如果新功能开发,可能会比较长,有的一个月,也有的一个半月。

   

11. 这中间测试过程是自动的吗?自动化的成本高吗?

陈峻:我们一般在线上跑的都是一些移动应用服务,在移动的应用服务里边,我们一般是会分层,首先从所有的客户端访问服务端都是通过API。服务端的很早就会把API的接口定义出来,那我定义出来API的接口以后,开发人员完成开发,直接测试就可以接入了。它可以单独对我们的API层来做,比如说自动化测试。自动化的测试和客户端可以并行来走,,在客户端上也会有测试人员来去做一些手动的测试,包括对客户端的测试,它的比如说可靠性,然后以及它的正确性,所以整个就是测试的环节里,是既包含了有自动化的测试,然后就自动化的接口测试,包括自动化的monkey测试,人工的功能性的测试等都会有。

   

12. 这些新功能测试是国内外同步,还是先在国外测,再在国内上线部署吗?

陈峻:我们有一些业务其实是只需要在海外发布的,也有一些是国内、国外都需要发布的。那看这个项目,它是先在海外发布,还是先在国内发布,如果先在海外发布,我们在海外环境下搭完结构,就是有一个域生产环境,在那个地方先来去验证以下,就上线。在国内呢,就把海外的环境复制一份回来,然后在国内再部署。因为都是基于云的这个架构,其实部署的环境也是相似的,所以这块没有太大的差异。

   

13. 最后一个问题,能谈一下对我们本次QCon大会的一些感受,然后给我们提提建议,就是你这边还有什么要改进的?

陈峻:其实我之前也参加过QCon,这次身份有点不一样,因为本身是以讲师的身份来参加的QCon。对于QCon,这次给我的感觉是有些不一样的,这次QCon的组织更周到一些,也可能是因为讲师身份的问题,然后我也发现有更多的活动,还有我前面听过一个叫Facebook的这个高绩效团队的分享,我觉得那个感觉特别好。通过这样一个活动,我了解到世界一流团队他们的如何来做高效的开发,然后也通过这样一个场合认识了一些新的朋友,可以有更多深入的交流。今天现场也是非常火爆的,这两天给我的感觉就是到处都是人。如果说有一些什么样的建议的话呢,我觉得这次整个环境相对拥挤了一点,有的地方人比较密集,不太方便。

你可能感兴趣的:(陈峻:基础服务入云是大势所趋)