2008年9月20日星期六

9月20日广州OS Camp记录

Open Source Camp今天在广州鼎龙酒店举行。

和小罗过来参加,他说很想接触开源社区。

大会在M1大会议厅举行,人不少,但是很争气,都穿了黑社会制服--还是蛮不错的,不过背后就像广告广场。。

Peter介绍了OW2--是一个开源中间件,然后现在往BI方向发展。后来还介绍到了开源项目的托管(Codebase)--和sfgoogle code等不同的是,他们是有比较好的管理,而不是松散的,具体的好处貌似是适合比较稳定的软件版本或者是打算开源的企业应用。听得不太清楚,马上去了解下。

第一场我选了Conrad的Agile开发--他是来自香港thoughtworks的老外。thoughtworks在敏捷开发可是非常有名的。全英文的演讲。。幸亏勉强能听懂,问问题是不可能的了,英语退步了十万八千里。Conrad基本上是在回答别人的问题,都说的不错,问题有敏捷迭代中问题的分解,需求确定,和客户保持联系,测试驱动开发等等。

会上还碰到了Cyril,一起听了程勇的“使用开源软件构建高可用的集群”。讲的还不错,主要讲的是java方面的应用集群,以及数据库集群的一些方案。Java应用集群方面,介绍到了terracotta这个不需要特殊api的集群内通信(同步方案),他通过JVM底层API(来自JDK?)来获取JVM堆内信息,将指定的内存对象在集群内同步。这个点子不错,不需要应用程序知道这个过程,并且没有广播消息对网络的压力(通过单台服务器来进行同步)。另外程勇提到了同步策略方面,貌似说道不一定会在同一时刻把A内存同步到B和C机器,可能只是先同步到C。当时我就想问如果这个时候来了对C的请求,那么C上面给出的确是旧的数据,如何解决这个问题?另外,如果两个机器同时有新的业务更新的话,如何来做同步?可惜没有时间问了,时间都安排的很紧。如果不使用terracotta的话,有种让应用程序知道同步操作的方案,在同步server上面记录每个同步对象,以及是否dirty等信息,这样应该就能够实现准确的同步了,原理类似于多CPU内核共享缓存。后面还介绍了一种没有单点故障的mysql备份方案(mysql的主从方式是有单点故障的),就是使用SQL代理来对mysql进行操作,每个代理负责对两个mysql进行操作,上面会对故障处理进行封装。

最后是比较轻松的Why Python--刘鑫讲的。期间问到最喜欢的python功能是什么,我心理的答案是高级容器,不过我没有说,主要是怕在java或者ruby里面是不是都有?不太了解。省略1k字,嗯,python是好东西!

这次活动除了让我学到很多东西以外,也让我更加坚定地认为,由主办方来抽的抽奖方式中,我的运气往往不错,而由自己来抽的话,则很垃圾。。印象中我被抽中过的奖有《电脑爱好者》的全向modem,摄像头,unix-center的书等。这次居然让我包揽了活动的第一个和最后一个奖!第一个是四等奖的《硝烟中的Scrum和XP》,最后一个是唯一的一等奖--罗技V220无线鼠标。。。

^.^

没有评论: