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

细品这杯香浓的咖啡——阿里中间件高级专家沈询的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版)。

从打造国内最大的OpenStack公有云开始 展望HBase的未来 你的数据库安全吗?CryptDB数据库软件可查询加密的SQL数据库 收藏!斯坦福Andrew Ng教授“机器学习”26篇教程全译 美国云计算价格战爆发 王寒:12岁儿童,该怎样开始iOS开发? 陈昊芝:腾讯!让我说你什么好? Top Paid与Top Grossing定价策略的差异 Android版百度云推送正式发布 为何开发者应推动公司开源? 从AppGratis被下架说起,苹果或将再次付出代价 58同城的“烦恼”——8K月薪安全工程师引发的入侵 软件开发实践的24条军规 思科 IBM 微软等巨头联合开发开源SDN项目OpenDaylight 巾帼不让须眉:2012年度云计算领域Top 10女性 中移动全力推进NFC 5月起乘公交可刷手机 支持Android与iOS,Qt 5.1 Alpha全新亮相 Google Play:劣质Android应用已无藏身之地! 360推出信用网站认证开放平台 联合百家协会围剿钓鱼网站 经验分享:百度测试架构师眼中的百度QA(一) 在线旅行服务行业开放API带来的新机遇 专访:悬疑恐怖游戏Year Walk美术及音效设计师 解密:微软都柏林数据中心的神秘“免费冷却”装置 云计算如何影响数字化营销? 榜单:十位帮我们打理数据的存储大佬 OpenStack Grizzly版发布 Comcast、CERN成为新会员 谷歌携Blink来势汹汹 WebKit将成明日黄花? 星巴克与苹果合作 顾客可免费下载付费App 微信回应信令争议 将启动2.5G网络优化计划 凤凰网CTO吴华鹏离职 先后供职长达10年 外媒:开发者每周编码时间仅19.1小时 谁能把这段代码破解 求一函数,在线等....... 剛從vb轉delphi,幫我看一看!結貼很快! 如何可在WINXP中改MAC?? sprintf(a,"%2X",b)问题 关于简单的access查询 java字符转换问题!!! 请教一个Struts标记问题! 一个cab下载的错误信息解读,请教高人。 OutLook?怎么用它发邮件,经常提示错误? 帮看这段删除纪录代码有什么问题?三层结构oracle 本人要做一个WEB合同管理平台,由于以前没做过,请大家指示? Web Application 中怎么来调用 Web Server?谢谢! DataGrid中模板列嵌套的DataGrid怎样相应其事件 [调查]程序员证在你们公司里到底有多大的作用?有多少人有证?希望有没有证的都进来说一下。 怎样把字符串"C;\aaa\bbb"变成字符串"C:\aaa\ccc\dd"?用什么函数,操作? 我的SQL Server 装好后,出现下面的错误 这个文件查找真是怪!......msdn源代码居然有问题, 进来看看... 请问在TreeView控件中如何通过光标的上下移动获得光标所在项在数据库中的ID值 對掌上電腦Sony Peg-TG50和ACER N10怎麼看??? 使用SOAP协议传递服务器端查询结果容量问题? 菜鸟问题:数据窗口怎么设置检索参数?急!!在线等 ****入门提出的问题****,请各位高手指教! 很简单的一个问题。 这个问题怎么处理? vb如何调用一个组件?? 一个小问题,可不简单哦! 应聘CMM时,会被问到什么有关CMM的问题? 调用servlet出现这个错误HTTP method POST is not supported by this URL 在公网上如何连接远程数据库啊。。 这算不算bcb的bug?关于Image控件的使用。 使用 GDI 函数画直线时,如何同时在该直线的两端画出箭头来? 怎样改变网卡的工作模式???~~ 疑难杂症--关于共享adsl专线的网络问题--疑难杂症 小弟有一事请教??? 我的IE WEB 控件---TREEVIEW控件,怎么没有treeView.AfterSelect()事件? 新手接触midas的若干典型问题!小的头都搞大了!还是不行!望各位大虾赏个脸解答一下! 一个静态页面中的困惑!心急如焚.................. 请问这句话什么意思? 如何判断一个用户的会话已经失效?-解决立马给分 急:如何改变datagrid的背景色 string sqlstr=DataGrid1.Items[1].Cells[1].Text有错吗? 帮忙,请教一个问题! 请教高手:以下情况如何写sql语句和填写datagrid? 如何对dbf的数据库进行操作 请教大虾 写一个画流程图软件的需求分析(用VB做)(简单步骤也行) 关于权限问题。 如何让客户端在1024*768的状态下,显示800*600的效果 include和header有什么区别? 如何把从数据库中读到的值赋给变量 如何在owc做的饼图上写上 名称,数量,百分比 ?急,用过的请帮忙,先谢了 人们把带正电的射线叫什么射线?带负电得叫什么射线? 下列有关细胞间的信息交流的叙述正确的是()A激素与靶细胞膜上蛋白质结合,将信息传递给靶细胞B细胞分泌的化学物质必须经过血液的运输才能将信息传递给靶细胞C高等植物细胞之间的胞间 材料作文怎么审题 高尔基体的主要功能高尔基体跟动物细胞分泌液形成有关还是跟动物细胞分泌物形成有关 如图为细胞间信息交流的一种方式,下列有关叙述不正确的是( ) A.图中a可能表示某种信号分子 B.图中甲表图A.图中a可能表示某种信号分子 B.图中甲表示分泌细胞图中乙细胞表示靶细胞 C. 材料作文审题阅读下面的材料,根据要求作文.3月11日,最新的《福布斯》富人榜出炉,墨西哥的电信大鳄卡洛斯•斯利姆成为世界新首富.《福布斯》杂志说:盖茨和巴菲特在富翁榜上的位次 无水芒硝(元明粉)是做什么用的啊 谁给我推荐下质量价格好的供应商 最好是湖北湖南安徽江西这边的 服务器的定义是什么? 材料作文审题立意材料:猴子出名会模仿人,一个老人看到一个猴子,便扔一个草帽过去,然后猴子拿着帽子高兴的走了.数年后,老人的孙子重复他爷爷的事情,猴子不再捡帽子,猴王出来便说:“ 花粉管内的精子那里来 DELL NBD 我想问一下DELL 的服务有哪几种分别是什么 ,还有这个NBD 是什么服务 , 加湿器里面可不可以加空气清洗剂 鲁滨逊用记多少年的时间做了一只独木船还挖了一条多少尺的运河把船运到了半里外的小河里 求满足{x|x^2+1=0,x∈R}真包含于M包含于{x|x^2-1=0,x∈R}的集合M的个数快 船做好后,下没下水呢?他还战胜了哪些困难?阅读 鲁滨逊漂流记 《鲁滨逊漂流记》中鲁宾逊怎么记得时间 M={x|2x+1>=0},N={x|x^2-(a+1)+a 有什么物质溶于水显碱性,不溶于水不显碱性呢?如题.顺便问下怎么判断这种溶液显碱性? 鲁滨逊漂流记,中鲁滨逊做了怎样一只船?用了多少时间?他用这只船干什么?结果怎样 A=(-∞,-3)∪(2,+∞)B={x|mx+1 You should get up e______to catch the bus谁会了帮忙填一下, 220V电器,为什么开关两边(零火)都有电,测电压是380还能正常工作 是为什么刚注册号 还没有 积分 不好意思 啊 谢谢了 已知A={x|x²+x-6>0},B={x|mx+1<0},若B包含于A,求m的取值范围 电熨斗高温挡那个55欧怎么算的 盐酸和氢氧化钠反应的化学方程试 第二天早朝时,吴王会怎么对大臣么说取消攻打楚国的事.请替吴王写个发言稿.注意写出人物的神情、语气等.急100到200字之间 细胞之间的信息交流图二中①表示什么,②表示细胞膜上的什么,其化学本质是什么. 高中化学,用中括号括起来的部分.这里中和热的热化学方程式一定要写离子方程吗?就是氢氧化钠与盐酸的那个反应. 那些进行科学研究的科学家,怎么记得了那么多公式,定义,还有各方面的应用技术我在大学读通信工程的,看到那么多定理、定义,头就大了,不知道那些研究员怎么记得了那么多东西来进行研究 鲁滨逊用了几年时间造了一艘木船不要答非所问 还要是在荒岛上做的船 氯化铵与氢氧化钠共热化学方程式 夜雨寄北 译文 鲁滨逊造木船的经过 Na2O和Na2O2的性质 花粉由什么粒子构成 细胞识别与细胞间信息交流细胞识别与细胞间的信息交流有哪些区别? 平面边界根据什么来求? 读古诗,列方程.巍巍古寺在山林,不知寺内多少僧.三百六十四只碗,看看用尽不差争.三人共食一碗饭,四人共吃一碗羹.我的解法:设寺内共有X名僧人.……(下面就不会了)如果回答令我满意, 鲁滨逊造木舟之后有没有下水 平面中开集有边界点么? 读诗词解题:(列方程,算出周于的年龄)告诉我方程读诗词解题:(列方程,算出周于的年龄) 大江东去浪淘尽,千古风流数人物;而立之年督东吴,早逝英年两位数;十位恰小个位三,各位平 吴王准备出兵攻打楚国为什么遭到了一些大臣的反对要仔细一些的吧! 在盐酸与碳酸钠粉末反应前后质量测定实验中为何天平会有倾斜 一个高一函数增减性问题.函数f(x)=∣x-a∣在(-∞,2】上单调递减,则a的取值范围是?原题是这样的:函数f(x)=∣x-a∣在(-∞,2】上单调递减,则a的取值范围是:A、a≥ 2 B、a ≥ 1 C、 a < 2 D、 a <1 吴王准备攻打楚国,大臣为什么要反对? 天赐良缘 DONT SAY A WORD怎么样 电动势电子移动的微观解释电动势等于 在电池内两极的电压 说明电池(不是在电路中)正负极有电势差 ,电子在里面就会有电场线,电子逆着电场线走 ,最终达到平衡 电池两端不应该有电压 you could help—— the desk a repairing b repair c repairs drepaired 沉默生机 DONT SAY A WORD怎么样 求高手剖析电路(要微观~,如里面的电子如何移动等),我是高2的新生,刚学完物理第一章电场,和第二章电路,譬如,学的电势差就是电路中的电压,为什么电路中有电压,为什么串联电路的电流会保 There is a c___ on the desk .you can get onlionC是单词开头的字母! 细胞间信息交流方式,及所需结构 中国三大海峡之一—琼州海峡阅读答案 what's the matter?my desk is broken it's requires_________ A repair B repaired C to repairD repairing,Q1036592830,还有题 Say the word for each picture.中文意思 关于细胞间信息交流叙述不正确的是A、信号分子与靶细胞的识别与结合具有专一性B、与不同激素分子结合的受体是不同的C、胰岛素和甲状腺激素的受体分布在不同的体细胞上D、细胞间的信 鲁滨逊的船造好了,他一定会设法离开荒无人烟的孤岛.那么,他是怎么样离开孤岛的?他经历了怎样不可思议的航行?请你充分发挥自己的想象,把故事接着写下去.不少于400字. 离体培养可不可以用花粉粒 台湾海峡,琼州海峡,直布罗陀海峡的英文是什么?请分别注明! 鲁宾逊在第几次什么时,船在途中遇到袭击,鲁宾逊来到荒岛 美国科学家发现DNA时钟 或可重设时美国企业研发氦气球游大气层 每人旅费美报文章 中国良性通胀对世界是好事中美军方高官加快对话步伐美国企业研发氦气球游大气层 每人旅费筱原凉子永作博美 谁是日本最美熟女?美国科学家发现DNA时钟 或可重设时墨报文章 “石油人民币”时代即将到来美国脱口秀节目涉种族歧视 亚裔社团吁候选院士举报同行后退出增选 被举报人美将发放对巴基斯坦16亿美元援助款 上海警方破获百起街头掉包诈骗案:母子上海自贸试验区政府服务体验记:一月之少女卖春黄鳝血抹下体充处女 敲诈嫖客江苏11个违法用地重点地区被警示约谈江苏一诈骗团伙非法集资19亿 主犯被锯腿农民阻拦记者调查农村医保:不要管《我爱的是你爱我》发布会 风行网鼎力盐城一投资千万元地下通道荒废六年未用南京回应隧道贯通8年未通车:车流少封南京全面叫停“季建业时代”遗留雨污分珠海两诈骗境外逃人员被押解回国 在马王俊杰(中国银行):期待与客户成为知张磊(中国银行):以宽容的心 满足客蔡晓波(中国银行):良好的沟通与交流张瑜婷(中国银行):微笑服务拉近彼此四川金堂县:首支留守儿童女子足球队组中日韩围棋名人混双赛:李昌镐/权孝真​美联储将维持利率不变,何时加息让我5.5万亿工人工资,搅动建筑行业供应在杜蕾斯直播之外,那个荷尔蒙统治的市东盛金鼎:美国新石油的强国梦【大声】为什么在欧盟面前,Googl奥运观赛神器 C 系列席卷五一,TC如何击落无人机?看看这个神秘的黑盒子杜蕾斯如何用一场 3 个小时的“假直变盘在即,A股明日很关键!千万观众直播看展,腾讯汽车车展首日亮【夜读】上班族如何培养早起、读书、跑美联储会议降临:人民币暴打美元,霸权俄防长称多国支持反导计划是在破坏国际特变电工在埃塞签署工业园配套输变电总
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘