说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅

HTML文档下载 WORD文档下载 PDF文档下载
一叶知秋,回顾我的Java之路,最感谢还是阿里巴巴能够给我们这些技术人员创造出这样有挑战的业务场景和业务需要,也感谢有这样一群人能够为了这个目标一起努力到现在。

Java的不解之缘

看到这个专题名字的第一眼,真是感慨万千:Java已经有20年历史了啊,我竟然也用了这语言8年了,真是转眼一瞬。

王晶昱(花名:沈询)

回想起8年前的我,应该是正在大学宿舍里努力地从网上搜索C语言的各种教程,在“值传递和指针传递的区别是什么?”“如何避免引用计数循环引用?”等问题中东突西撞不得要领吧。然后在某天,我偶然间看到了一门据称比C++简单的Java语言,恰巧还碰上一个好老师——莫倩老师,自然而然地激发起我去了解和学习Java的兴趣。现在还记得当时在学习《ThinkinJava》时,我还不是特别理解BruceEckel介绍Java与C++的差别时提到的一句话:“Java是一种生产力语言”。当时我看着这句话,心里一直在想:语言嘛,应该大同小异,能有什么生产力提升?一个解释型语言怎么可能超越编译语言呢?

转眼,我使用Java已有8个年头了,现在想想,Java真的带给了我很多:它尽可能地避免我写出错误的代码。它不需要我去计算指针偏移量,也不需要我去关心垃圾回收问题,连Collection类都有DougLea这样的大神做好了封装。这些语言内建机制和类库极大地减轻了我的头脑负担,让我能够更加专注地完成业务逻辑。而最让我惊喜的是,Java一直不懈地追求JVM虚拟机的持续优化,各种眼花缭乱的锁优化、动态字节码编译调优、GC新算法等JVM优化层出不穷。

在最近的几年,我也可喜地看到,在Oracle的带领下,Java语言的演进变得非常迅速。当我还在熟悉Java7的forkJoin框架的时候,支持Lambda的Java8已正式发布了。

现在,我也想从我个人角度,给Java点个赞。确实,对我而言,这是一门生产力语言,而Java也成功地帮助阿里巴巴、淘宝走过了高速发展时期,并造就了我们阿里的一支明星团队:阿里巴巴-共享业务-中间件和稳定性平台。

说起这个团队,其实它在内部的名字一般称为Java中间件。你看把Java放在了团队的名字里,这就是真爱啊!从2007年开始,我们就逐渐发现,外部企业级中间件并不是非常适合我们互联网业务的实际发展需要。面对着每年翻番的用户量和用户请求,我们不得不开始进行分布式应用体系的探索。当时可真是没什么能够参照的,全都得靠自己去探索,经过了三年多不断摸索,我们彻底地将系统进行了服务化、分布式改造。


目前,整个阿里集团几乎所有的应用都在使用这些中间件。我想,这也是阿里技术体系的精华所在吧。

最近这几年,阿里的核心技术体系架构已经非常稳定可靠了。我们又在这些核心中间件的基础上,不断地深入细化运维体系,尽可能地做到自动化、智能化,为集团节省了比较多的设备成本和运维成本。在2015年,Java中间件更是响应了阿里集团上云的梦想,将阿里集团七年的技术积累,一股脑地搬到了云上,目前所提供的主要产品有:企业分布式应用服务(EDAS)、分布式关系数据库(DRDS)、分布式消息服务(ONS)。它们都是使用Java编写的,为大家量身定做的分布式中间件,与互联网应用体系相结合,能够非常轻松地实现企业IT架构的随需定制和可线性扩缩。如果大家有需求,可以按照自己的需要来进行选择。

Java一起成长

能够取得这样的成绩,Java功不可没。除了我上面提到语言特性对我们的帮助之外,在团队之中,我们也非常关注整个Java的生态体系。基本上,无论我们有什么新的想法,都可以立刻在Java的开源世界中找到对应的一些实现,里面有很多还非常靠谱,Netty、Tomcat、Ibatis、Hibernate、Spring、Struts、ZooKeeper、Hadoop、Mahout、Cassandra……我能举出无数的开源软件,它们都对我们的平台积累起到了非常大的作用。

同样的,我们也在积极尝试将自己系统的积累反馈回到社区里,大家可以在github.com/alibaba下面找到很多我们开源出来的软件,在这里面我想特别的提几个:RocketMQ(消息队列)、Druid(连接池)、FastJson(JSON解析引擎)、Dubbo(RPC框架)等等。这些开源软件与其他友商的各种开源、闭源的Java软件一起丰富了Java生态体系,也让我们解决问题变得更加轻松。

对我个人而言,Java的生态体系之所以能够这样丰富,主要原因在于它编写一次、多点运行的特性,以及一直坚持着的向下兼容能力。这些都非常有利于Java生态体系的积累和演进,也造就了现在如此丰富的Java开源软件环境和体系。

提到Java的向下兼容能力,我也想稍微聊一下我的看法。我经常能看到很多人谈到,Java的历史包袱太重了,为了兼容这些历史遗留的包袱,Java的演进已经非常困难,这会导致Java语言的崩溃。针对这个问题,我个人的看法是:首先,Java作为一个被这么广泛的使用的语言,有着这么深厚的系统积累,完全不考虑系统的兼容性而演进整个系统,这其实是比较危险的,对其他革新进行兼容并包可能才是它最好的发展方向。就目前而言,我几乎没看到过哪个语言能够比较好地解决这种语言升级所导致的软件断层问题,所以,更多的只是两害取其轻的过程吧。同时,我也非常高兴地看到,依托于JVM,我们有了大量的新的语言实现,这里面有Groovy,Scala,JPython等等。它们都非常优秀,这些新生的语言与Java一起,进一步丰富了整个Java的生态体系,也更加坚定了我对Java生态体系的信心,它一定还能再战十年!

寄语现在,展望未来

一叶知秋,回顾我的Java之路,最感谢还是阿里巴巴能够给我们这些技术人员创造出这样有挑战的业务场景和业务需要,也感谢有这样一群人能够为了这个目标一起努力到现在。

能够跟这些大牛们一起工作,耳濡目染,不断提高,是我的工作生涯中最为宝贵的一笔财富。而如果能够回到过去,我最想告诉8年以前的自己:“要买房!”

笑~~

其实是:“还是要特别注重基础,操作系统、网络、算法数据结构、离散数学、数据库原理与实践,这些看起来枯燥而无味的基础科学,是我目前感到知识最为匮乏,但却最为急需的部分,要了解它们是必须付出非常多的时间才有可能理解通透些。而这些基础的扎实程度,就直接决定了你的高度”。可惜,我没办法在21天内学会C++,这些建议,也就只能提供给还有机会实践的各位做参考了。

作者简介:王晶昱花名沈询,阿里高级专家,来自阿里巴巴中间件和稳定性平台。目前主要负责阿里的分布式数据库DRDS(TDDL)和阿里的分布式消息服务ONS(RocketMQ/Notify)两个系统。


本文选自程序员电子版2015年5月B刊,该期更多文章请查看这里。2000年创刊至今所有文章目录请查看程序员封面秀。欢迎订阅程序员电子版(含iPad版、Android版、PDF版)。

友盟2015年Q1移动互联网报告:车联网App崛起 多面编程语言Scala NEC高可用集群软件EXPRESSCLUSTER X3.3面向中国市场正式发布 【探秘ES6】系列专栏:模版字符串 专访图书作者祁宇:C++11让程序更简洁、更现代、更强大 滴滴打车CTO张博:生死战役,技术和时间赛跑 Qualcomm拥抱创客文化:如何基于DragonBoard 410c创造和创业? 【探秘ES6】系列专栏:剩余参数和默认参数 专访资深程序员庄晓立:我为什么要选择Rust? 主会讲师确认,2015中国人工智能大会火热报名中 容联·云通讯线下沙龙:IM 5.0助力App社交化 【CTO讲堂】全数据驱动产品优化,美国互联网公司A/B测试经验分享 《近匠》易快报:以报销做企业消费场景下的Slack 纷享销客D轮融资1亿美金,启动开放平台战略! 专访4秒源码商城CTO陈杰:扎根互联网的“不安的心” iOS UIView动画实践(一):揭开Animation的神秘面纱 【前端人生】Teambition前端工程师陈涌:非计算机专业,依托社区不断成长壮大 iOS UIView动画实践(二):Spring Animation与人机交互 基因组与数据整合:DNA应用开发正在临近 2015 PHP框架调查结果出炉,Laravel最受欢迎! 【CTO会员专访】KEEN创始人兼CEO王琦:在GeekPwn,遇见一极棒的安全人才 创业公司都在使用的3款Python库 深入理解Objective-C的Runtime机制 你不知的Docker 创办人兼CTO游走美法的浪漫狂放 《近匠》环信CEO刘俊彦:移动客服的未来化场景 iOS UIView动画实践(三):Transition Animation 【CTO讲堂】无社交,不App!——为App加载强大的通讯社交引擎 【探秘ES6】系列专栏(七):箭头函数 【前端框架】Backbone.js在大型单页面应用中的应用实践 【探秘ES6】系列专栏(六):解构赋值 《近匠》TestBird,专注的手游自动化云测试平台 请问如何列举当前打印机支持的纸张信息? 歌词和音乐同步问题?winnap的歌词插件基于什么样的原理做出来? 急救!!!关于对话框中编辑框重画问题 小问题。。。。只想知道为什么。。。。 转载(贫富悬殊的中国) !!!用ASP能否实现一次上传一整个目录下所有的文件(子目录不算)?高手请答复! TreeView专题讨论 j2me中请问如果将textField中的内容写入到moto388手机的记事本中? 在vc中调用其他的exe include 另外一个jsp文件时,能向那个文件传参数吗?不能的话,有其他办法吗?谢谢 系统不能识别DaysBetween,如何处理 请问如下通过web连续下载图片,只是第一张要提示,以后每张就不再提示了? 关于ADO驱动MDAC版本的疑问 兄弟要工作了,是不是只要见到领导都要打次招呼? 我的问题!! 最近在用MFC写GDI程序,请前辈们给点建议 老兄给一些建议啊!用VB做什么毕业设计比较合适啊? 急,获取主板信息的问题! 请教finder的排序问题 mysql对一个数据库中表的数量有没有限制? 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 为什么我收到的邮件列表每次都是乱码?怎样打开? 大家帮看看这段代码哪出问题了,在线给分 求高效统计算法(在线等待,采纳着需要分来信200) 怎样将bcb中vcl 及其他组件改为activex??? 微软的面试题 treeview 控件在客户端的操作? 怎样在程序里找无标题的DLG! j2me中请问如果将textField中的内容写入到moto388手机的记事本中? 谁可以和我说一下LINUX是如配置的! 请问:如何在java通过xml文件和他的schema,既得到标签里的内容,有能够知道内容的类型 已修改的列 C++Test讨论区 菜鸟提问,大家不要笑我啊! 这里还有人在用Java IDE工具JawaBeginer的吗? 有谁知道aspopup控件的功能和作用--在线等待 100分,急求控件的编写方法~!!!!我在做的项目想用到类似于vc编译器左边的class,resource,file view的窗口控件,谁有? 简单的菜鸟问题!! 如何写WPE这种类型的软件? 向DX请教两个开发上的问题,请不吝赐教! java中字符串数组,转化为javascript数组,jsp页面显示为乱码,代码如下: 小问题一个 有关QuickStart中示例 求SQL语句,一表值通过另一表更新 关于activebar 2。0 请问哪个中译英的免费软件好一点啊? 大虾救命:TCP编程的客户端端口占用问题 关于记录集的关闭! 本人现在做一个例程时遇到问题,编译后什么反应都没有,请教~~~~ 参数传递问题 刷新 LPCSTR在哪个文件里定义的? 请问大家高锰酸钾水溶液烧开了后,其中的高锰酸钾会随着水蒸汽消耗分解么? SAS 相关系数sas中 数据之间的关系 具有较高的相关系数,会有什么样的作用? 为什么真空包装可以防止细菌产生 有增加身体高度的方法吗`~?~ 一平方等于多少米? 高温杀过菌 真空包装的中药液能放多久我拿了一个月的量 治疗慢性浅表胃炎的 不知道能不能放一个月 求多边形对角线公式 放鹤亭记的翻译 什么细胞器含有的DNA最多?为什么? 胸腺五肽是什么药,可以增强人体免疫功能吗? 英语翻译问段中所描写的鹤的特点 含有DNA的细胞器同题细胞结构中科院发生剪辑背对行为的一组是细胞核线粒体叶绿体中心体,线粒体叶绿体核糖体高尔基体,细胞核核糖体中心体高尔基体,线粒体叶绿体核糖体细胞核。 日记帐在本月合计时,是在数字下面画单红线还是在本月合计下面划单红线 要给这个长、宽、高分别为x、y、z的箱子打包,其打包方式如下图所示,则打包带的长至少要()(填写算式和答案)(单位:mm).(用含x、y、z的代数式表示) 禁止静脉注射 药物有哪些 一个随机变量的期望和该随机变量平方值的期望有什么关系, 放鹤亭记原文及翻译 发生在英国伦敦的故事谁知道发生在伦敦的一些故事 一般地说,( )气压带气流下沉,气候干燥;( )气压带气流上升,降水较多;由较( )纬度流向较( )纬度风带,气流较湿润;由较( )纬度流向较( )纬度风带,气流较干燥.而由于气压带 sas中平均值差异性检验!已知两个样本 :样本含量分别为 150 和100; 平均数分别为7.48 和7.41,方差分别为0.48 和0.69.检验两者平均值差异是否显著,用sas中的insight和analysis模块可以完成吗,还是必 英国伦敦有什么传说故事和风俗习惯 一个阻值为“220V 40W”的照明灯,接到电压为u=220根号2sin(100πt-30°)V的电源上,求通过照明灯的电流提问:一个阻值为“220V 40W”的照明灯,接到电压为u=220√2sin(100πt-30°)V的电源上,求通过 冬季,北半球的副极地低气压带被大陆上的冷高压所切断,亚洲高压最为强烈,控制范围最广.这就使副极地低气压带也仅保留在海洋上.这句话如何理解? SAS ADF 单位根检验 平稳性 结果因为P小于0.0001所以是平稳的?这图还能看出什么?如果可以,可否帮忙解答下RHO,Tau的数值有什么意义, 某校办工厂某校办工厂的年产值是15万元,如果每增加100元投资某校办工厂的年产值是15万元,如果每增加100元投资,那么一年可增加250元的产值,若增加1.5万元投资,年产值可达多少万元?(记得用 地理问题.什么叫做气压带断裂啊?地理大师帮帮忙吧*^_^* SAS时间序列分析 大气环流是大规模的热力环流吗 在凸多边形中,凸八边形有几条对角线 求大神解一数学题已知函数f(x)=2x(1)若函数F(x)=f(x)+af(2x)( 凸多边形的对角线有几条 哪位懂古文的帮我看看这上面都说的是什么意思啊? 硫代硫酸钠的推注和静脉注射有什么区别 IF叫什么函数 "冻结中的APPLE"谁明白这句话的意思?是好还是坏. 已知函数f(x)=3sin(wx-∏/6)和g(x)=2cos(2x+φ)+1的图像对称轴完全相同若x∈[0,∏/2]则求f(x)取值范围和φ的取值,托大家的福. 这个怎样用if函数excel的if函数“员工基本情况”工作表中根据员工所属的部门代号填入每个员工所属的部门名称.部门名称与部门代号的对应关系为:T01是工程部,T02为研究部,T03为开发部.要求 "冻结中的APPLE"谁明白这句话的意思?如题 是好还是坏. 动脉注射和静脉注射的区别在那里如题 向人体内注射药物后它在人体的流动路程是? 用SAS 进行蒙特卡洛模型,命令应该怎么写啊?首先是 针对一个随机函数 产生的数据X 向上取整.向上取整后的数据 作为下一次的迭代次数.其次,对一个分布函数 进行 向上取整的X的次数 运算.再 既是DNA载体,又是具有复制能力的细胞器是 紫外线和红外线在日常生活中的应用 如何用SAS软件对收益率时间序列做ADF检验?我有一组从容量为1215的数据样本,是时间序列,文件名叫Ar,变量名叫lnRetindex.我想用SAS软件编程来对这个时间序列进行单位根(ADF)检验,也就是检验其 函数题, 苹果手机能用金属外壳么 为什么乙在0~7S之间位移为0?有图 注射用核糖核酸Ⅱ可以静脉滴注吗?用多少液体加?因为产品说明上写的静脉注射和肌内注射 79、按药物对人体所产生的作用,可将毒品分为麻醉药品和精神药品.(是非题) A、对 B、错 高中数学必修一 求x的值那个 函数题一道, 1:红外线在光谱的()端之外,紫外线在光谱的()端之外,红外线和紫外线对人眼().2:一切物体都1:红外线在光谱的()端之外,紫外线在光谱的()端之外,红外线和紫外线对人眼().2: 叶绿体外膜和类囊体薄膜这两个是不是同一个膜啊 TELL ME WHY? 把一质量为0,8kg的木块轻轻放入盛满水的烧杯中,当木块静止后溢出的水收到的重力为 N,如果木块的密度为0.8*10的三次方kg/m³,要将木块浸没在水中则在木块上施加一个大小为 N,方向 的力.( 9.8米/秒平方是什么意思这是数学的,这个等于多少 一道关于高中数学必修5,基本不等式求最值的问题若a>0,b∈R,且2(a^2)+b^2=2,求y=a×√(1+b^2) 的最大值 高中数学必修5的余旋定律的题:a^4+b^4+c^4=2c^2 则角C等于? 非凸形的多边形该怎么求 对角线线数 求公式 sas计算相关系数,怎样把计算结果导出到excel中?data a;input G1905 G1910\x09G1915\x09G1920\x09G1925;cards;0.13652\x090.22574\x090.21952\x090.2274\x090.23757 0.22768\x090.23493\x090.23048\x090.23708\x090.23549 0.24018\x090.23949\x090.2409 人教版 第99页 第2题已知a>b>c,求证:(1)1/a-c1/(a-c)^2急用、谢了. 李娜两连胜好假期可期:两情绪交错既兴朝鲜举行第4次连长连政治指导员大会 女子洞房时发现丈夫并非意中人 认命婚一辆载着300万货物货车高速金华西出男子向已婚女子表白被拒 生气骑摩托车费德勒巴塞尔赛继续抢分 直接对手相继美国就土中军贸再搞“小动作”白宫网页万人请愿 辱华节目被删除日本明治乳业退出中国 竞争激化成本上杭城遭遇八面“霾”伏 PM2.5为中杭州诞生“黑白配”羊驼 被称羊驼中的打破行业“潜规则” 温岭取消抵押贷款宁波市财政每年新增资金3000万元扶少女被人勒昏剪掉双侧乳头 嫌疑人自称男子住宾馆强奸隔壁女子后回原房间睡觉十八届三中全会前瞻:三大焦点构建中国李雪主成为朝第一夫人 传因长得像金正监听丑闻引盟友提高“炮轰” 美国公信突尼斯举办中国电影节温州经济三季报让人眼前一亮 GDP同白宫拒回答是否曾监听默克尔 美德信任科海微信以改革创新精神增强思想政治工作实效性押运路上老军工“一定把大伙的心声带到会上”理想信念:打胜仗的精神动力政协十二届二次会议举行第三次全体会议两会议政忙官兵上讲堂“金牌马大姐”逐个问题解决逐项内容规范逐个科室验收大山里,一草一木总关情改革·创新·民生·自信改革完善依托高校培养模式海军陆战队女兵大漠砺硬功文化资讯弘扬雷锋精神 培育社会主义核心价值观法制观察遵照习近平主席李克强总理指示 有关部站上“大时代” 的高度兴武白山下 强兵松水滨教育实践活动要认真较真求真十二届人大二次会议主席团常务主席第一
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘