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

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

Android副总裁Hugo Barra将加盟小米 三星将召开首届开发者大会 推新SDK和S Pen 15个步骤创立技术公司,并收获千万用户(三) H3Cloud:为企业提供最优化IaaS方案 VMware、红帽对决云管理平台 大数据辅助决策,构建智慧城市 所见即所得:四款免编程移动游戏开发引擎推荐 PaaS乱局:Container的新机遇 IDC再度下调2013年全球PC销量预期 平板电脑中枪 Waze联合创始人做FeeX 用众包方式增加银行服务透明度 Ripple CTO Stefan Thomas:Bitcoin与未来支付应用开发 第二届Coding For Fun编程马拉松实时快报→→ 数字化你的脸:14个智能眼镜开发平台 Unite2013开发者大会:Unity新增多项重磅革新 微软大中华区副总裁谢恩伟:微软云+端应用模型前瞻 移动周报:从硬件马拉松到Barra加盟,本周小米很火 小而美的Diffbot:将Web页面转化为数据库,获多位科技大佬注资 “叙利亚电子军”对美国多家网站发起“电子制裁” 麻省理工TR35之IT界年轻有为创新者(上) Linux用户须知的16款实用软件 新平台,新惊喜:记第二届Coding For Fun 创业建议泛滥成灾 实用的不多 腾讯云俱乐部北京站:知名手游商畅谈云时代开发运营策略 LG再战平板市场:将推出8.3英寸平板G Pad 编程语言与工具专题论坛:各类编程语言使用体会分享 淘宝、腾讯、豆瓣、支付宝、网易专家热议大数据分析与BI实战 “创新或灭亡”:Google的80/20只是转移视线的说辞罢了 自动化编排,配合SDN的iMC V7更加开放 [回顾]比尔·盖茨传奇的前半生 IT基础设施与运维论坛:IT基础设施及运维经验分享 记华为HCC2013 Day1:发力高端存储 有朋友问我学习C语言初中学历能学会吗? 大家帮个忙,很简单的问题,快呀,关于数据库的问题 请问vb怎么打开Access2000的数据库? 计算机并行口原理是什么 我在前台的程序中对text1.text=rs!number,为何text1.text的值还是空值,想不通??? GetSafeHdc() 的含义及用法 一个调用SQL数据库的问题! 如何ML一个装载地址不是4M的EXE文件(比如6M或8M) 谁能说说从一个ListView拖动文件到另一个ListView中 如何在程序结束时播放一段动画再结束!!!!! 我要书 下面是我的存储过程,为什么多人操作的时候会发生死锁呢,急呀! 谁知道炖鸡怎么炖啊?加什么料? 如何使鼠标点到对话框外时关闭对话框?(方法越多越好) 国家安全部门使用什么操作系统? “用户级虚拟机”调试应用程序的有几种实现方式,谁能说说???? 如何优化程序,使他减小占用系统资源? 请问怎样同时显示简体和繁体汉字? 我想查找字段为'注册类型'中包含'公司'的所以有记录 帮帮忙,SQL Script Recovery如何获得注册码? 如何“引用结构中的结构的数据”,比如MSG中的POINT鼠标结构 用一个Query动态生成并执行SQL语句 哪里可以下载到有关oracle 9i的电子书? 存储过程生成的数据窗口,如何在窗口中直接使用 prc扩展名的文件如何打开? 用vb在任务拦里靠系统时间的地方自己的程序添加一个图标用什么函数? 我用100分来搜集图形处理编程的网站及经典介绍。 请问哪儿有整理c++代码的源程序下载? 为什么这个NOTATION声明有错 如何在c语言里面定义快捷键 如何在c语言里面定义快捷键 如何用php实现全屏打开一个窗口??? 在线求救,SQL的sqlserver.exe进程怎么会无限增大直至系统瘫痪!SOS! MEMO中的光标 如何全选DBGrid中的所有记录呢?? 请高手帮忙翻译一下"" 在线等待,有分给哟! 我来提个问题:如何获取焦点所在控件(在另一应用程序上)的句柄? 为什么不能编译? 怎样知道共享上网中具体一台机器的IP地址 服务器端动态生成javascript,可行吗? 散分! servlet如果输出一个图像到一个web page?300分 我的数据库突然崩溃了,不知道是什么原因? 审核FAQ发现的问题 散分 请问如何向一个组添加用户呀? 打印机没有墨了都不知道怎么办,嘻嘻 请问:我每次开机事件查看器都有这么一条:由于 open 函数中有时间冲突,WMI ADAP 无法处理 PerfDisk 性能库 。是哪儿错了阿? 关于opc的一个问题—怎样自动查找节点设备? 网格如何直接跟数据库连接. 大问题,智都100分!!! do you think your school life ? (enjoy) to the east of 地点 ,on the east of 地点 ,in the east of 地点 有神马区别,- 情态动词should和could表惊讶的区别?不是should 与 could 作情态动词的区别而是侧重于 二者表惊讶,竟然时的不同 急需一篇Do you enjoy your school life英文作文,字数120 求简单短小的英语作文,题为effect of technology in our day to day life 表可能,possible和could等情态动词的区别如,他可能在比赛中受重伤he could be seriously injured during the matchhe was possible injured seriously during the match都表可能possible、could两者的区别是什么呢 i'm sure you will enjoy your new school life. I hope you're enjoying your staying here.I hope you enjoy your stay with us.这两句话哪一句是对的,或者都是对的,为什么第一个staying是动名词吗,第二句中stay with us也是一个名词性质的词组吗 no sense of personal do you enjoy your school life I've had __ wonderful time here.A a B the Enjoy your stay here.的句子成分分析 情态动词表示推测里面could not是不是may not和might not的过去式 求my dream job演讲稿~大概两分钟左右,初三或高一水平 要做一个别人喜欢的(受欢迎的(人,应具备哪些条件,(具备哪几点要求?) 情态动词表肯定推测时,might和may,could和can之间有什么区别?might和could呢?哈是语气上的区别还是用法上的区别?与时态有没有关系?不要复制的 He is not tall.He can`t reach the basket.(同义句) He is not__ __ __to reach the basket.2 ___you can___our school contest.A Maybe;in B Maybe;be in C May be;in D May be;be in 怎样做一个受欢迎人 he would like some porridge 改为一般疑问句 I am not tall enough ---------(reach) the basket. enjoy your stay hereyour 后面应该接名词,但是stay和here都不是名词, He is fine 怎么变否定、一般疑问句、看定、回答?求方法!还有这些:This is a bookMy name is TonyHis phone number is 235-6125 the boy is _____(tall enough,enough tall)to reach the top of the bookshelf. 改错You enjoy your stay here我懂了,正确改法应该是把stay改为staying,不过还是谢谢三楼的认真回答,或许那是另一种改法吧、、 Tom所有格? he is not tall enough to reach the top of the bookshelf 同义句转换 have something to do with的用法 英语如题 这个短语有什么要注意到吗 用法 随便造句下 我 black的音标是什么 求Pink的 Just give me a reason have ... to do with 的用法 English tescher,my,tall,is怎么连词成句 求pink 的 just give me a reason 空间歌曲链接! 翻译:my sense of humour She was ill yesterday,and now she is worse ,so I __B___ send her to hospitalA.am going to B.will C.was going to D.would为啥不选A pink 的 just give me a reason 空间歌曲链接 请不要私信给我说叫我加你qq 如果没有诚意给别人链接就不要欺骗别人 a good sense of humour用法和例句,我关注的是语法啊 My grandfather is ill.He___(must send)to hospital at once.He___(should take)good care of. 求pink 的 just give me a reason 上高中衔接班听不懂怎么办 She is1.2 metres tall.提问 温馨的安全提示语如题,不限方面.越多越好,最佳答案选最多的. 一个男生对一个女生说:Good luck with your life.这个男生想表达什么? dry sense of humour 温馨安全提示语要有童趣! good luck with your new diet and lifestyle sense of 校园温馨走廊提示语大全 being outgoing is good for your lifeBeing outgoing(外向的) is good for your life.Those who are more outgoing meet lots of interesting people and have more fun in life.In fact,being outgoing is not so hard as you think.Even the shy people can be ou ◆英语高手请进,完形填空(二)1.Poultry_____(include) chickens,ducks,and other birds that are kept for their eggs and meat.2.Merchandise_____(be) goods that are bought,sold,or traded.3.The family_____(be) all dressed in bright colour dur He's the tall kid had short hair 改错 求一篇初一水平的英语文章:my dream,my future /英语完形填空,完形填空:(有翻译的话,Men and women have the exact same view of a best friend --1-a person who is always there for you .As one man put it ,"To me ,a best friend is ___2_ that you call if you're on the road and get a flat t Just for life. Just for money翻译中文,谢谢! 如何做一个受人尊敬的人 这些英语翻译成汉字是there is no sense of security 英语翻译Too many cooks spoil the broth.The early bird catches the worm. I hope you can enjoy your work这句话有没有语病?还有中文意思是 英语翻译without pair of arms,by pushing afar the boundaris of possibility,he challenged extremes; without a pair of wings,by presenting alive the spirit of capability,he became a superman .麻烦高手帮忙翻译(意译)成中文,请不要 the grass is always greener on the other side of the fence是森么意思?汉语意思 绿色有时也会让人觉得温馨,让人心里感到温暖 的英语绿色有时也会让人觉得温馨,让人心里感到温暖 报纸的制作过程越快越好!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘