继续。对今天的讲座多少有些失望,同去的同事们也这么说。也算说明一个问题:别以为站在台上的就都是无比牛气的。我看着失望还无所谓,一牛人同事也觉得今天的session比较失望,那就是问题了。

今天的选择:

09:00
10:00
百度离线集群整合之道
(幻灯片下载)
讲师:吴波
大宴会厅(设同声传译)
11:10
13:00
“稳定压倒一切”——银行应用中的稳定性考量(幻灯片下载)
讲师:周伟然
大宴会厅
14:20
淘宝前台系统优化实践 (幻灯片下载)

讲师:蒋江伟

大宴会厅

15:50
在云中操控Netflix
(幻灯片下载)
讲师:Adrian Crockcroft
第六会议室(同声传译)
17:10
网游服务器性能优化

(幻灯片下载)

讲师:谢廷宝

第一会议室

想去而没法去的是:淘宝网线上线下性能跟踪体系和容量规划(幻灯片下载) ,讲师:吴毓雄基于Spring 3.1的现代组件设计(幻灯片下载),讲师:Juergen Hoeller艺龙旅行网架构案例分享(幻灯片下载),讲师:贾志峰企业级软件的组件化和动态化开发实践(幻灯片下载) ,讲师:池建强

今天的内容感觉没啥意思,所以也不想太多点评了,诶。

  1. 2011年的企业级Java和超越:从JavaEE 6到云计算:本来人家名字是Jürgen Höller,结果被替成了Juergen Hoeller,怪不得一直没认出来这是谁是干啥的呢(呃,我承认没仔细看QCon的讲师介绍材料)。直到幻灯片一开始,看到了名字,才想起来,SpringSource的。这个session整体来说,比昨天Oracle的Chuk Munn的演讲要“亲切”得多。都是讨论Java EE和云计算,Oracle一副一家独大不容置疑的样子,发明出来那一堆乱七八糟的东西(虽然Chuk Munn强调过那些小发明只是目前的状态,以后完全可能改变),而这位出身SpringSource的大叔对各种业界已经在用的云计算平台起码表示一种承认和尊重,虽然也没忘了给Spring框架做广告。总的来说是对现有很多和话题相关的技术的一个不错的覆盖和介绍。哦,让我比较高兴的是老大预料太依靠状态的范式应该会逐渐减少直至消失,至于JSF这种强烈依赖状态的东西八成就要消失——但愿,一直觉得JSF麻烦得要命,IDE支持又比不了ASP.NET,真白搭。
    值得一说的是幻灯片里特别提到了新的ForkJoinPool,也就是执行fork-join风格任务的线程池。这应该是Java 7会装备的特性,看上去是并发的map/filter & reduce,诶,Java总算也有这么个东西了。不过就像java.util.concurrent第一次引入一样,不涉及任何语言变化,纯粹是为了提升开发效率。不知道新的ParallelArray类能不能解决好诸如locality的问题——诶,跟神人习得的词汇,现趸现卖了 😀
    还提了一个问题:假如在服务的低谷时段,在线用户数量比CPU核心数量还少得时候,应用该怎么办?噻,我从来没想过这个问题,总之服务器是不会因为买卖儿不好就想不开自尽的吧。
  2. 百度离线集群整合之道:这个算是今天觉得比较不错的一个session。内容讲的是BVC——Baidu Volunteer Computing——这一系统,试图利用现有服务器的剩余计算能力为其他应用服务。Volunteer Computing不是啥新鲜事物了,我也是SETI@home和BOINC项目的N多年的资深计算节点老板了。BVC挺有想法的,不过不怎么明白的是怎么会有那么多剩余资源,多到需要建这么一个系统来统一管理?没规划好么?会后和公司的牛人讨论这个话题,还是觉得,涉及到分布式解决方案的设计的时候,明显感觉很多系统有同质化的趋势,听多了就没什么惊喜了。也没办法,就那些算法和范式。
  3. 基于云计算架构构建Netflix:见到了Adrian Crockcroft,所以很激动来着,然后发现这个session基本是Amazon的云计算产品展示会… 好在下午的内容没让人失望。此处省略好几百字。
  4. “稳定压倒一切”——银行应用中的稳定性考量:呃,这个吧,听上去还是以前企业应用的那些东西呃,顺便说了说ESB和SOA神马的。整体来说没什么感觉。
  5. 淘宝前台系统优化实践:说实话抱着很大希望来听的!结果好像此前台非彼前台啊。想必淘宝整体架构太庞大了,所以前台就是他们的web页面服务,不是折腾浏览器这头儿的东西。总的来说,这个session是多半场Java培训,至少我表示没有压力啊没有压力。后面的性能对比部分里的经验分享算是比较多的,不过很多背景、配置、步骤什么的都没有说,我觉着这些都不提,直接上来就做对比,有点儿不太严谨。至少,列一下JVM参数,做没做适当的预热,etc.,都要介绍一下吧,结果是都没有说。感觉做这个session的淘宝的小朋友可能是个比较嫩的孩纸 😀 换做JavaEye上的某些资深牛人来做,应该会很严谨的吧。
    幻灯片刚讲到前几张执行时间对比的饼图里,我眼还算比较尖,看到了Velocity的身影,所以在微博上感慨淘宝还算有眼光。Velocity我自己因为实习的关系接触得比较早,也还算比较深刻,喜欢它的简单,所以当时火爆的FreeMarker我根本一点都看不进去。我想淘宝的Java团队之所以能顺利地把Velocity的模板引擎从解释性改造为编译性,Velocity本身的简单应该也有些好处的吧——不过说这个编译化改动做了2、3个月,有点儿吓人呢,回来研究一下以现在的可用工具能用多久改造完毕。不太喜欢JSP。
  6. 在云中操控Netflix:这次Adrian Crockcroft总是讲到了些经验分享的东西。一上来还是些Amazon WS的产品展示… 然后逐渐有了些和开发相关的经验分享,比如很多anti-patterns,还有一些比较详细的中间层的设计——感觉这一点有些想东家的企业产品线里的设计和实现:由专门的team以库的方式提供这个封装好的中间层,然后底层服务是轻易不会被允许直接访问的。
    Netflix服务器的部署和升级,都是用一些自动化工具去完成,用版本控制工具管理的,而且基本没有针对机器上老版本服务器应用的升级,而是直接创建新的AWS节点部署新版本的应用,逐渐使其上线,测试OK以后直接把运行老版本的节点摘下线,最终完全销毁——比较灵活和经济的方法,而且借助了AWS的一些API,也减轻了很多重复的人力劳动,避免因为重复导致人为失误。这个幻灯片一定要再看一次,里面有不少Java开发方面的内容。
  7. 网游服务器性能优化:这个还是因为公司牛人想听这个我才后来改变主意的。感觉讲师应该有很多想要和大家分享的,不过一是时间不够,二是…有些优化和问题听上去有些…弱了… 演讲做的还是很真诚的,容量很大,不过也许我真该按原计划去池建强的业级软件的组件化和动态化开发实践,毕竟这是今天“设计优良的架构”系列的主持人啊!

今天主要的感受就是对大部分sessions比较失望,而且似乎其他来参加QCon的人也是这样的感觉,很多人频繁地来回穿梭,我就当作是在找好session听吧。一个session讲好了能让人坐下听完不走,真是不易。很多做技术出身的人都缺乏这个能力。有时我会觉得听讲座的人不该坐下后听5分钟就觉得无聊走人,也许后面的很精彩呢;另一方面也觉得做讲演的人开篇5分钟没法吸引到别人的话,水平还真的有待提高,毕竟一共就只有1个小时而已,大家都不想耽误不想花冤枉钱来听些讲的不太好的内容。

明天最后一天了,感觉大会故意安排了几个不错的来压轴吧,诶。下次中国再有QCon的话就要斟酌一下了,都是这样的session的话真不如去JavaONE了。