百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

专访李祎:Java在Testin的技术应用

off999 2025-02-08 12:26 32 浏览 0 评论

李祎,Testin崩溃分析项目负责人。曾担任西门子手机技术创新部高级工程师,源讯公司(Atos Origin)开源软件专家全程参与2008奥运IT集成项目。www.139.com移动微博架构师,主持开发了139网站的用户平台,社区平台、监控平台,海量数据存储访问,推荐引擎架构,以及图形数据库(graph database)开发。关注移动和互联网领域的新技术和新应用。

日前,CSDN记者采访了李祎,请他分享Java在Testin的技术应用。

李 祎

CSDN:请先简单介绍下自己,以及目前所负责的领域。

李祎:曾经在西门子担任高级工程师, 139微博的架构师和研发部门经理,主要是用Java做搭建平台。目前是Testin崩溃分析的项目负责人。

CSDN:你与Testin是如何结缘的?

李祎:来Testin之前就和公司内的很多同事认识,我们在139微博的时候就有合作,都是很好的朋友,互相都比较了解。之前崩溃分析项目随着业务量的不断增长,遇到一些性能架构上的瓶颈。我受朋友邀请帮忙解决了一些技术问题,也通过这个机会逐渐走近这个产品。我发现在这里我的潜力能得到最大限度的发挥,而且这个产品还有机会实现我做一个世界级的产品人生梦想。于是义无反顾的离职加入了Testin,和小伙伴们一起打拼属于我们自己的未来。

CSDN:你们团队是如何分工的?

李祎:麻雀虽小,五脏俱全,我们现在有客户端开发团队, Web前端开发团队和Java平台开发,以及测试,产品和运营的同学。基本上就是一个创业小公司的完整配置。

CSDN:Testin在开发过程中有哪些重要的节点?你对Testin的技术改造主要体现在哪些方面?

李祎:Testin崩溃分析在发展中遇到最重要的里程碑性事件发生在一个月内访问量从3千万迅速内迅速突破5千万那个阶段。由于前期的系统为了节省开发成本都是用PHP来搭建的。当访问量暴增后,PHP不适合处理海量数据的弱点被迅速放大,造成数据处理经常延迟,大量的请求因为无法及时处理只能被丢弃,直接影响产品的用户体验。为了应付业务的暴增,整个研发团队被临时拉进一间会议室封闭开发。由于那个会议室是储藏室改建的,三面是墙一面是玻璃门,终日不见阳光,被兄弟们称为“小黑屋”。

我对Testin崩溃分析技术上的改造,主要是引入了Storm开源框架来处理海量数据的实时计算,使用Spark来进行离线数据的计算;同时对系统流程中各个重要节点,搭建完善的监控,当出现访问洪峰或者系统异常时,能及时预警和分析查找问题原因。

CSDN: Testin与其他同类产品相比,有哪些优势?

李祎:我们的产品可以帮助开发者查找导致Bug的原因,让开发者清楚知晓哪些代码导致了应用崩溃,从而可以更为容易地修复这些问题。国外类似的产品有不久前被Twitter收购的Crashlytics。我们做了一个Testin崩溃分析和Crashlytics的全功能对比,见下图。

从图可以看出,在功能点上,Testin崩溃分析和Crashlytics平分秋色。不过,如果从手游开发者的角度来说,对他们最重要的就是工具对Android NDK及引擎脚本错误的分析。这个方面显然Testin要完胜Crashlytics;并且它的使用也很简单,只需嵌入Testin崩溃分析提供的SDK,就能够同步真实用户的访问体验,即时发现手游在使用过程中发生的各种问题。这一SDK的大小只有几十K,嵌入手游之中对用户体验不会有任何的影响。

CSDN: Testin的架构是怎样的?在产品开发过程中,主要采用了哪种语言?为什么?

李祎:Testin崩溃分析的主要业务是收集SDK上报的应用启动,崩溃的数据,进行实时统计和计算分析。部分跨天的业务需要进行离线计算。考虑到海量数据的实时计算和离线计算要求,我们采用了现在比较流行的Storm进行实时计算和Spark负责离线计算。这两个计算框架主要以Java语言为主。前端的API接口层由于比较简单,使用PHP+Nginx 来实现。

CSDN:听说你是Java技术牛人,你是从什么时候开始接触Java的?是什么地方吸引了你?

李祎:技术牛人谈不上,只是工作中有大量的机会使用Java进行项目开发,十几年中用过学过Java知识相对其他语言多些。刚开始接触Java是在2000年毕业后到的第一家公司,那时Sun推出的Java刚兴起,公司为了培养新人,鼓励大家去考SCJP 认证,考过了公司报销相关费用。我为了考试猛学了一阵Java的基础知识。现在回头看,那段经历给为之后的Java学习打下了很扎实的基础。

CSDN:你怎么看待目前Java发展现状?Java发展至今已有二十年了,你经历了哪些技术变迁呢?

李祎:我一直处在IT这个圈子里,身在其中感觉时间过得好快, Java都已经过二十岁生日了。太宏观的见解也谈不上,我就聊聊自己这些年和Java相关的项目。

2000年刚毕业时, servlet刚出来不久,我们做的MIS项目主要用Servelet和JSP来编写。那时Java刚出来不久,国际化问题没有很好的解决方案。我记得当时在网上开发人员问得最多的Java问题,是各种中文乱码的解决方法。之后 EJB 和J2EE的概念开始流行,特别是4个火枪手著的《设计模式》一书影印版的引进,MVC的理念和框架几乎成了程序员面试的必谈问题。 2004年我进入西门子手机研发部,大量用到了J2ME,由于手机资源的限制,很多编码都需要考虑内存大小和包大小。那个时候最有成就感的事情,就是学习各种开源代码,裁剪移植到J2ME手机上。2008年我加入了139微博,正式进入了互联网圈。面对各种高并发,高可用性的挑战,个人认为Java是最适合解决这类问题的开发语言。因为它兼有很好的性能,同时因为使用广泛,有很多配套的工具可以使用,节省开发周期。这个时候接触较多的是Java + redis/memcache + tomcat/jboss。

CSDN:近日,Oracle宣布停止发布JDK7安全补丁和升级包,此举,你怎么看?

李祎:Java一路走来都在不断的推出新包,放弃维护老版本,这是在正常不过的软件迭代路线。不过从我的角度倾向于选用比较成熟的JDK作为基础软件。 Testin现在使用JDK7的包,我想我们很长时间内不会考虑升级的事。

CSDN:你平时最常用的开发工具有哪些?现在还会经常编码吗?

李祎:开发编辑工具Windows下我比较喜欢用简单的文本编辑工具,加命令行的方式来写代码。这样编码不容易被编辑器的自动编译打扰,编码像写文章一样可以一气呵成。 2011年之后工作重心向管理倾斜后很少写生产类的编码了。到Testin后,虽然是我一手搭建了现在的平台,但是也在尽量限制自己编码,一方面自己时间不够,无法长时间投入编码;二是为了锻炼新人,让他们有更多的成长机会。我今年年底的目标是要研发团队所有成员的SVN提交次数都超过我。我会利用碎片时间上SVN做代码Review,发现有问题的地方面对面或邮件指出来,建议他们修改。

CSDN: 回头看这一路的努力和经历,有哪些让你最为难忘的人或事?

李祎:最难忘的还是在2008年139微博时期,和兄弟们一起加班熬夜,快速推出产品并成功上线后的目标达成后的喜悦。我非常享受带领团队赢得胜利带来的那种喜悦和刺激大脑的兴奋。

值得一提的是,值Java二十年之际,CSDN特别策划了Java专题,邀请Java领域技术专家、知名图书作者从他们的角度谈谈Java的技术变迁以及在各个领域的技术实战。>>>( 欢迎继续投递Java稿件(发邮件至xiamz@csdn.net)。

关注CSDN官方微信(CSDNnews,请扫二维码)和@CSDN官方微博。

相关推荐

苹果台式电脑一体机怎么开机

苹果一体机开机在机器上找到圆形按钮。接下来按下圆形按钮,等待苹果桌面显示器点亮。接下来您需要等待一段时间,然后您将看到苹果桌面计算机已经完成启动。关机的话点击屏幕左上角的苹果logo,在下拉菜单中选择...

怎么用硬盘直接安装系统(怎么用硬盘给硬盘装系统装系统)

插上就可以用,因为电脑系统就是安装在硬盘上,开机后会调取系统运行,实现电脑信息交换,如果你的硬盘是外接硬盘,只需要接在电脑主机上,然后在线安装电脑系统,到外接硬盘上即可不是的,也是需要安装系统的,记住...

网络显示已连接不可上网(明明连接上wifi,却显示不可上网)

原因有以下几点:1、网线与路由器网络接口出现接触不良的问题;2、外部连接到路由器处的光纤出现断裂现象;3、可能是没有缴纳网费的原因。?首先,路由器是wifi上网冲浪必备。而有时观察到路由器红灯闪烁的情...

电脑维修重装系统大概多少钱

重装系统不可能比售后贵!除非你一点都不懂电脑知识!但凡知道点就可以自已安装!购买电脑时都操作系统光盘和驱动软件光盘,这都是标配!如果没有,也可以从网上下载制做光盘!系统不是正版的!售后和维修店,有些会...

苹果笔记本电脑2025年新款(苹果笔记本电脑2025年新款价格)

2021年苹果即将上市新款的笔记本电脑,这款新的笔记本电脑,他的设计是非常好的非常流行,非常高端,大气笔记本电脑的质量是比较轻的它采用的材质也是非常高端的材质非常结实的质量,很轻,电脑的内存要变202...

迅雷电影下载网站(迅雷电影下载网站1080P下载)

目前,有很多好的迅雷下载电影的网站供选择。其中,BT天堂、猫扑电影网、人人影视等都是不错的选择。这些网站拥有庞大的资源库,提供各类电影资源的下载。此外,它们的界面简洁明了,操作方便快捷,用户体验较好。...

国内哪个应用商店app最全(国内软件商店)

1.MicrosoftToDo推荐理由:微软出品,必属精品2.Microsoft便笺推荐理由:又是一款微软官方出品的良心免费应用,相比MicrosoftToDo,Microsoft便笺更加...

不知道路由器密码怎么办(不知道路由器的密码怎么连接)

通过其他设备找回如果遇到wifi密码忘记的情况,我们可以通过其他设备来找回,例如你家中的笔记本电脑是否可以正常连接wifi吗,如果你的笔记本还处于连接wifi状态,那么可以点击笔记本电脑右下角的网络图...

bios正确设置(bios正确设置方法)

方法/步骤1/8目前市面上较流行的主板BIOS主要有AwardBIOS、AMIBIOS、PhoenixBIOS三种类型,由于phoenix公司与AMI公司合并了,所以现在常用的只有award和...

安全模式进不去蓝屏(安全模式进不去一直蓝屏)

如果在Windows10中遇到蓝屏问题,并且无法进入安全模式,可以尝试以下方法:1.使用高级启动选项:重启计算机,并在启动过程中按住Shift键,直到出现高级启动选项。从列表中选择"故障排...

win732位系统多大(win732位系统支持多大硬盘)

您好,32位Windows7的所有版本均支持4GB内存,但32位的Windows7实际可利用的最大内存只有3.25GB左右。64位的Windows7家庭普通版能支持8GB内存,家庭高级版能支持1...

win10修改电脑开机密码(win10修改电脑开机密码在哪里)

win10系统这样重设开机密码:具体的步骤如下:1、点击Win10的“开始”按钮,继续点击“设置”选项。2、点击“账户”选项。3、点击左侧的“登录选项”,接着在“密码”选项下点击“更改”。4、首先会弹...

办公软件office下载(office办公软件正版下载)

office字体都变成了英文是因为设置了英文模式。具体的解决步骤如下:我们需要准备的材料分别是:电脑、Word文档。1、首先我们打开Word文档,点击打开左上角的文件中的“选项”。2、然后我们在弹出来...

windows打开注册表(windows打开注册表编辑器的命令)

如果装了杀毒软件,并且开了注册表保护功能,关闭此功能,如果关闭后可以正常写入了,说明是这个问题造成的,之所以打开后不能写入了,是由于注册表保护功能的提示项目被关闭了,打开设置项目,打开提示即可,这样以...

win7本地组策略编辑器怎么打开

1、在桌面上新建一个记事本文件,随后双击打开它将下方的代码全部复制粘贴进去:  @echooff  pushd"%~dp0"  dir/bC:\Windows\servicing\Packag...

取消回复欢迎 发表评论: