许超前的博客 - A longker in the Earth

April 18, 2009

基于Monkey和MyCache的Mycached已经持续稳定运行100天

Filed under: Daily Life — 许超前 @ 12:13 am

100天,对于一个daemon程序来说,实在是微不足道的。
不过,对于年轻的Monkey和Mycached来说,则是一个值得记念和回味的数字。

Monkey是一个Java NIO Framework,MyCache是一个Java Memory Cache Library,两者皆由手机之家开发团队研发而来。
Mycached是构建在Monkey和MyCache之上的一个类Memcached缓存系统。

在此截图留念:
cms

sso

April 9, 2009

QCon(Beijing)大会第三天 - 云与架构

Filed under: Daily Life — 许超前 @ 9:41 pm

QCon(Beijing)大会在今天落下了帷幕。有点疲劳,但还是坚持听完了:)

今天似乎成了广告时间:),呵呵,关于云计算的演讲给我留下的有价值的回忆并不多。
我听了微软、IBM、CeresData、VMware等的云计算方面的报告。这些产商都有自己的特有产品,每个产品也都有自己的特点。而我现在关心的问题是:在可预见的未来,这么多形态各异的云它们之间交互的标准是什么?
这期间有个细节,我觉得挺逗。当微软的演讲人问到谁在用Visual Studio的时候,在那么大的一个会议室里居然只有3个人举起了手。。。不用我多说,在坐的大多数是LAMP或Java EE开发人员。

接下来,来自台湾的高焕堂先生,作了题为:提高架构质量的10个观点的演讲。观点挺新颖,把中华文化蕴育其中。他的一句话:以序(条理、规则)容(包含)易(变化),我觉得是道出了架构设计的真谛。高焕堂强调,架构师应该具备逆向思维的能力,自顶向下看问题,这样才能掌控全局、运筹帷幄。

要说今天有点共鸣的演讲,当数下午第三场李伟带来的大型复杂系统的架构与设计。作者高膽远瞩,与本次大会敏捷为王的基调截然不同。他举的如何从无到有建设一个生态岛的例子颇为生动有趣。

其它的就不多说了。等着看PPT吧。

–The End.

April 8, 2009

QCon(Beijing)大会第二天 - 架构设计与JAVA平台未来

Filed under: Daily Life — 许超前 @ 10:22 pm

连续两天7点左右起床,今天有点困:)。倒了两次地铁,倒到五道口,走几步路就到了。还是九点整。。。不过,吃了早饭。

应该说,今天的会议是我(也是很多人)最为关注的。

SpringSource的Rod Johnson打头阵,演讲题目为:Spring的现在和未来及企业Java的挑战。和多年前一样,RJ继续唱响轻量级Java EE开发、继续推崇他的spring framework
他认为lean solution是Java EE的未来。Tomcat将是未来主流的Java WEB Server和Application Server,因为简单(容易部署)、免费和开源,而像Websphere和Weblogic等复杂的解决方案将慢慢丢掉自己的市场,特别是在全球经济衰退的大背景下。他举例说ebay已经慢慢将重量级服务器换成Tomcat。
中间,RJ说,SpringSource已是Tomcat最大的贡献者,为此,我第一个给了掌声:)
另外,RJ提到的spring framework的平台独立性设计,我颇为赞同。框架对环境的无侵入式设计是相当关键的,这使得项目可以更容易的部署和维护。有些框架,把环境变量或常量写到底层库的各个地方,这就是一种侵入式的表现。。。这使得我们不能简单地切换环境(因为我们已经依赖那个特定的环境),如从web切换到console。
在Q&A环节,RJ认为Java的未来将是community-driven的,而不是由IBM或SUN等某一公司决定的,不管收购成不成功,对开发人员的影响不大。

第二场,来自eBay的教训—可扩展站点的最佳实践,由Randy Shoup讲解。今天的演讲和之前网上流传的一篇文章很相似:Scalability Best Practices: Lessons from eBay。这些原则,我想地球人都知道,在此不多谈。

Yann HAMON作了上午第三场的演讲。AgileCMMI:借助轻量级敏捷实践提高软件性能。算是自圆自说吧,有点中庸的味道(既AgileCMMI),反正一般不会错:)。没留下太多的印象。

接下来,说说下午的主题吧,均和架构有关。

首先是支付宝程立的演讲:大规模SOA系统治理中的架构支持。本来是想更多地听听支持宝是怎么实施SOA的,但似乎变成讲怎么实施SOA了,而这个话题要想在一个小时以内讲清楚那是有难度的。不过,对于作者的尝试表示肯定和赞赏。

至于第二场(豆瓣网技术架构的发展历程)和第四场(从优酷网谈大型网站架构)的演讲还确实没有出乎我的意料。

豆瓣网也选用了SCGI通信协义,这个很正常,因为他们用的是python。他们也有缓存控制器(但不是专门的层),缓存单条记录(增删改自动刷新缓存),列表不缓存,打散对业务逻辑不透明。总之,豆瓣网的架构和手机之家新平台系统架构在某些地方是有点类似的,但封装没有那么彻底。
另外,刚开始,豆瓣网的搜索是用sphinx做的,但后来发现这个工具可定制性较弱,就换成了Xapian,直到现在。

优酷网的结构看起来要更简单一些。对缓存和切表也是不透明的。不过,邱丹提到的其它三个东西倒是我最近经常想的:sendfile()、mmap()以及unix domain socket。在这个平台以后的开发过程当中,肯定用得着。

再来说说下午第三场的演讲吧:有道搜索服务系统架构剖析。这位大哥的演讲,就像大学时代老教授的讲课一般:),中规中矩,文字居多,图片偏少。不过,他说的监控和日志分析等设施,是很多有点规模的网站都应该具备的吧。而我们目前还没有专门的系统。

最后则是敏捷和模式的晚场沙龙。几位嘉宾讲得都挺好。
其中李伟先生的发言,我印象颇深。他主张用生活中的例子来阐释计算机中的设计问题。他的书: 架构之美–软件架构的艺术即将上市,有兴趣的可以留意。
但是,对于嘉宾们的有些观点,我也持保留意见。特别是Just-in-time Architecture的看法,我认为是过于极端了。
不敏捷和过度敏捷,都是不可取的。我们不是要拥抱设计的变化,而是要拥抱业务的变化;我们不是不要设计,而是不要不可预见的设计。

—The End.

April 7, 2009

QCon(Beijing)大会第一天 - 云计算与敏捷实践

Filed under: Daily Life — 许超前 @ 10:49 pm

早上7点左右就起来了,匆忙洗脸刷牙。乘地铁13号线,倒到10号线。。。在知春路站下,打了个的,路有点堵。。。到会场刚好9点整。。。没吃早饭。

人很多,座无虚席。

Marting Fowler出场演讲:领域特定语言的发展与应用。
对这个话题,没太大的感觉。。。注意这个词,[领域特定],而不是[通用]。所以,一句话:每一种领域特定的语言一般只适用于(熟悉了)那个领域的人。

然后亚马逊的Jeff Barr出来宣传云计算了:亚马逊Web Services
这是我比较感兴趣的话题。XX计算,最近很火。我的观点是不管名词怎么演变、外界怎么忽悠,是商业的也好、是技术的也罢,这些计算模型的本质都是一样的,无非就是集合兵力(计算资源)来更好地做某些事情。它们都是社会分工进一步细化的表现,是市场的必然选择。
就目前来看,要到云计算大规模运用的那一天,还很遥远,特别是在中国。
现阶段,云计算面向的用户主要是中小企业,让大企业或国家部门去使用外界提供的云计算服务那是不太靠谱的,安全和竞争问题。
所以,目前那些支持云计算服务的软件(特别是开源软件)将会有更大的市场。集群、切分、复制、冗余、分布式计算等将仍然是多核时代很多开发人员需要掌握的热门词汇。

上午的最后一场是Dojo创始人的演讲。和RIA有关,他认为JavaScript在RIA领域更有前途,并期待HTML5更优异的表现。不太关注,略过。

下午第一场,仍然是Marting Fowler:Ruby实践的回顾和展望。MF对Ruby看来是相当的喜爱,不然用不着展望。MF认为,开发效率高是Ruby的优势,性能差则是劣势,但不重要,因为用ruby开发的项目,通常都不太大,而且可以采用混合编程的办法弥补这种缺陷。

接着是Henrik Kniberg的:多团队的Sprint计划。关于Sprint,可以参看他写的一本书:硝烟中的Scrum和XP。虽然,对于中国的中小企业来说,Sprint不太现实,但他提出的某些观点还是可以借鉴的。

第三场是吕建伟带来的:实效项目管理。总体看来,阿朱推广的这个过程方法很山寨:)。但是,却是一个实用的方法。
搞开发也有一些年头了,对权威这个东西渐渐不再感冒。现在我的观点是,不管是正规的方法论,还是山寨的土办法,只要能解决现实的问题,那就OK了。它们之间只是形式不一样,但目标(或者说实质)都是一样的,它们都是为了解决问题而产生的。正规或山寨也都不是真理,只是一种“最佳实践”,是真理在某些情况下的某种反应罢了,每个企业都应该有适合自己的管理办法和发展策略。
阿朱的演讲触动了我,让我想起了手机之家。为此,我买了他的书:走出软件作坊

下午最后一场,本在多功能厅,但演讲的那哥门似乎不太精神。我就跑到第三会议室奏热闹去了。没白去,说到了widget,有点意思,也许对其他同事有用。但坐得太远,没看清楚。标记一下,有时间进一步查询:RIA技术在GeoWeb项目中的实际应用

晚上,则是一个技术沙龙,几位远道而来的专家坐在台上和观众互动。基本上是在闲聊,只有只言片语在我脑海中还存有记忆:1)敏捷的路还很长,但已经在改变。2)混合编程is good。3)JAVA平台将更好地支持云计算。4)IBM收购SUN失败。

其它的一些感受:
一)关于演讲:
1)演讲时语调要抑扬顿挫,避免一样的语速,那样只会让听众想睡觉。
2)PPT少些文字,多些图片。在一个大的会议室里,观众看不见(也没有耐心去看)PPT上的文字,但看得见巨幅图片。
3)和观众多些互动,别一味的讲解,这样能让观众集中注意力。
4)要控制好时间,在大会中,一般会有很多讲师,每个人的时间都是严格控制的。所以一定要抓住演讲的主题,只传达最重要的东西,把延伸的东西留到会后、个人博客上、书中等等。这其实是大会巡讲和个人专讲很重要的一个区别。
5)要有充份的准备。达到PPT和演讲能够流利地衔接和过度、没有嗯啊呵嘿等语气词、逻辑清晰慎密。最简单的办法就是准备两个稿件:放映稿和演讲稿,然后反复练习。

二)关于组织活动:
1)任何活动,都应该配备咨询人员。被动。
2)任何活动,都应该做好向导工作。主动。

三)杂项:QCon这次沙龙组织的不太好。
大家基本上没怎么讨论就散场了。
专家没和听众打成一片。
听众没能和专家一起合影留念,专家觉得受冷落。

一句话:互动不够。原因:缺泛调停者,主持人没控制好节奏。

—The End.

April 6, 2009

明天去参加QCon会议。。。

Filed under: Daily Life — 许超前 @ 11:14 pm

今天已经是4月6号了。离之前拟的最后期限也是越来越近。。。
但这个QCon大会,今年一定要去参加,而且要参加好,抱着学习和审视的心态。

争取每天、每场会议都有收获。回来给弟兄们做个有价值的汇报。

多余的话不说太多,感谢鼓励、支持和理解。。。

以下是本次大会中我要关注的议题:
一、Java企业级开发的最新态势
二、云计算
三、架构设计与实践
四、敏捷开发与敏捷团队

April 2, 2009

寻找合适的人一块共事(JAVA中间件方向)真的很难

Filed under: Daily Life — 许超前 @ 1:24 am

公司欲开发一款中间件,缺一人手。招聘启示放出几天了,但始终招不到合适的人。。。

公司的架构,可以看我的博客:beta技术沙龙结束,开始忙正事了。。。

收到的简历里清一色的SSH,有自己见解和创新的很少很少。很头痛。

难道现在要找一个有服务器开发经验的、有缓存系统设计经验的同学,有这么难吗?

Powered by WordPress, 京ICP备09047672号