爱因万江斯坦 用文字记录思想

美国记者镜头下的中国市井角落(一)

希望有一天也能带个相机出去扫荡

天涯社区的进化经验(二)产品篇

产品与技术
• 拙劣的产品设计,会对技术设计造成很大的麻烦
– 产品设计要平衡技术特点,技术设计要为产品提供思路
– 尽可能去理解业务及其目标,才有可能设计出最恰当的技术方案
• 和产品人员共同决策
• 不要增加太多新功能,创建容易维护难,会分散不多的产品及技术资源,更重要的是分散了用户关注。
• 创新不是发散的,要基于核心功能创新
• 支持产品快速优化,前端代码要易维
• 追求完美的设计只是美好的愿望, 做实用主义者。
• 优先解决让用户最恼火的问题。
• 综合考虑时间成本、服务器成本、技术风险、现有人员能力。
• 维护轻重缓急任务清单,优先做重要的事情,当前重要的事情不要超过三个。

保持技术朴素
• 尽量保持简单、低成本,易维护性、可扩展性,不一味追求新技术,适合的才是最好的,让技术保持朴素。
• 通过简单、常见的技术来组合出灵活的系统。
• 试图了解和利用现有技术,保持技术的连贯性。
• 不要为将来做太多技术准备,很多事情可以放在以后做,把握做事的最佳时间点。

天涯社区的进化经验(一)技术篇

设备投入
– 1999 1台服务器
• 2000年,在线用户300
• 2002年,在线用户1000
• 2003年,在线用户8000
WEB+DB共用在一台服务器上
– 2004 4台WEB 2台DB
• 2004年,在线用户2万
WEB及DB剥离。同时WEB不断增加,DB进行分库(4台WEB,2台DB)
– 2005 7台WEB 4台DB
• 2005年,在线用户14万
– 2006 11台WEB 4台squid(页面缓存) 6台DB
• 2006年,在线用户20万
– 2007 +双线接入 F5设备
实现双线双IP,购置F5实现本地及全局负载均衡,haproxy部署,动静剥离
– 现在 136台应用 38台DB
2008年,数据库双机(事务复制),IBM架构咨询。
• 2009年,在线用户40万
Memcache,数据访问层,服务器虚拟化。
• 2010年,在线用户54万

大多数网站发展初期遇到的技术问题,不是没有采用多层架构、没有使用内存缓存、没有购买好的服务器,而是数据结构及检索设计出了问题。
数据库调优是一个长期的过程,建立模拟环境,来跟踪每条请求的反应时间。

数据库设计注意事项
• 在对产品及业务深度了解的前提下进行数据库设计
• 表记录规模的增加对查询不要有性能问题
• 合理的索引(不要犯常识性错误)
• 慎用联合查询(几乎不用),通过一定的数据冗余来回避联合查询
• 必要时通过合并数据,减少结果集大小
• 尽量通过WHERE来定位分页数据
• 在设计时尽量考虑数据规模增长后的拆分问题

WEB服务扩展
• 无状态服务
– 不要用session保留用户数据,Cookie(或会话Cookie)保留用户标示,用户数据统一保留在数据库,或内存中)
• 应用拆分
– 按不同业务拆分,按流量拆分
• DNS轮询、或通过应用控制轮询

构架完善:
双链路接入双IP
– 使用了2台F5-GTM-1500做链路判断。
• 负载均衡
– 使用了2台F5-LTM-6400实现负载均衡
– LVS(IP层负载均衡)
– 反向代理(haproxy 7层负载均衡
• 动静分离
– 使用lighttpd来提供静态资源服务。
• 代理服务
– 使用haproxy提供七层负载均衡,通过ACL拆分应用。
• 页面缓存
– 2005年,使用squid-2.6在前端实现页面级缓存。
– 已经替换成varnish,增加压缩模块。
• 内存缓存
– Memcache

建立服务可用性监控
• 要预警及报警机制和故障点快速定位
– 应用运行中的错误监测
– 应用可用性监测
– 服务器及网络设备健康监控
– 网络流量监控
– 全国访问质量监测

三类程序员:人族、虫族和神族

世界上有三类程序员,人族、虫族和神族。 人族程序员的代码既不性感也不优雅,但他们能利用任何可负担的工具,让工作顺利完成,他们比较适合创业公司,或是担任公司的技术领导。一个典型的人族公司是37 signals。虫族程序员顾名思义是做基础工作的,他们需要现成的IDE,他们的一切依赖于主宰女王,绝大多数外包公司都是由虫族程序员组成。神族程序员比较稀少,他们的数学相当强,他们使用的语言是Lisp或ML,Google的PageRank就出自神族程序员之手,他们让Google成为一家神族公司。

Google展示Chrome OS操作系统

北京时间12月8日消息,Google今天发布新的网络程序商店,主要面向游戏、新闻和其它软件开发商,目的是在下一代互联网媒体娱乐大战中占据主动。

艺电演示了一款游戏,这款游戏会在Chrome Store销售。同时发布的还有(美国)国内公用无线电台及《纽约时报》的程序。

Google高管在会上还表示,Chrome浏览器已经拥有1.2亿用户,在5月时不过7000万。

最后Google还公布了一款Chrome OS笔记本电脑,型号为CR-48,机器的配置为12.1寸显示屏,全尺寸键盘,3G,全尺寸触控板,802.11双频段Wi-Fi,8小时电池。这款笔记本型号为Cr-48。

明年中,三星、宏基等将会推出正式的Chrome笔记本。

现场实录:

2:23:昨天Google刚发布了Nexus S,它今天可能会发布ChromeOS。我们的位置是旧金山。

发布会现场

2:24分:这是什么东西?台上?看起来像是多功能打印机,这是不是Google的云打印?

奇怪的设备?

2:27分:正式开始之前,播放了一些视频娱乐大家,它介绍了Chrome的功能。

宣传视频
宣传视频
Google高管?似乎是泥人

2:31分:好了,正式开始了,Google的高管们上台了。首先亮相的是谷歌产品管理副总裁桑达·皮采(Sundar Pichai)。他将向我们简要介绍Chrome OS的历史……但首先还是谈到了Chrome Web Stroe。

谷歌产品管理副总裁桑达·皮采

2:34分:Chrome OS的历史可以追溯到2008年,在“AJAX / Web 2.0 revolution”大会上。到Google I/O大会时止,Chrome拥有7000万活跃用户,现在达到1.7亿。这个速度增长很快。

Chrome用户数增长图

2:36分:谷歌产品管理总监布Brian Rakowski上台,它主要谈到速度问题。他在Chrome浏览器上展示了Google Instant。Instant已经进入到了Chrome的输入框里,不必导航到Google.com了。当他输入一个字母“E”时,下面显示“ESPN”。

谷歌产品管理总监布Brian Rakowski
演示Google Instant

2:39分:Brian Rakowski演示了Chrome内置的PDF插件,硬件加速功能。Brian Rakowski说:“这些全是用GPU渲染出来的效果。”

阅读PDF
GPU渲染出来的效果

2:43:Google Body Browser(Google人体浏览器),通过边栏工具,可以从3D图像上移动皮肤、肌肉等,在窗口中还可以输入并搜索身体的部位。

Google人体浏览器

2:44:随后皮采回到舞台谈V8 Javascript引擎。

皮采回到舞台谈V8 Javascript引擎

2:46:皮采说:“我们是最快的,与IE相比,我们快16倍。每一次发布Chrome,我们都在提高Javascript引擎的性能……”“今天,我们给V8增加了一个功能,它叫Crankshaft,它可以让任何地方的速度都比过去快两倍……如果你拿它和两年前的IE比,我们快一百多倍。想想,两年前要花一分钟,现在只要一秒钟。”

速度的步步提升

2:47:下面谈谈简洁性,他说:“在浏览器顶部的点击目标已经降到了七个。”

简洁性

2:48:自动升级,用户不必再监视它了。Chrome可以从任何地方同步了,书签,扩展也是一样的。欢迎进入到云中。

安全

2:52:谈到Chrome Web Store了。

Chrome Web Store
Chrome Web Store

2:53:皮采说:“我们的目标是帮助用户找到最好的程序。”“人们希望自己的程序获得回报,但是他们不想相信一个小的、非独立的开发者。这就是我们想通过Chrome Web Store解决的问题。”

2:54:一些常用的程序放在左侧,右边可以供用户提意见。

2:55:展示了一个(美国)国内公用无线电台的应用程序,它可以在浏览器后台运行收音节目。

2:56:Chrome Web Store是与Google帐号整合的。

3:00:纽约时报数字运营部门CTO Marc Frons上台。他介绍了纽约时报的应用程序。

3:03:接下来是艺电介绍了自己的游戏,游戏的名字叫《Poppit》。介绍人说:“在不到48小时的时间里,我们就将游戏转换成为一款动态HTML 5格式……这相当快,它是我们制作过的最快的Poppit。”“我想全球的Poppit玩家都会爱上这种新式的Poppit体验。”

Poppit游戏

3:05:Poppit会捆绑在Chrome 9一起推出,这样你根本就不必下载了。

3:05:亚马逊的两位高级副总裁Eva Manolis和David Limp上台,他们介绍了“亚马逊橱窗”(Amazon Windowshop)应用程序。“程序已经在Chrome Web Store上推出了”,它提供橱窗式体验。

亚马逊的两位高管

3:15:最后谈到了Chrome OS。口号有些改变,这次是:“一切皆为网络。”

一切皆为网络

3:17:皮采说演示的硬件设备是按参考硬件配置的。大家没有看到上网本。他随后介绍了整个OS的安装,共四步。

3:17:“从零到完成不到60秒钟。”

启动时间不足60秒

3:18:皮采说:“我们很想拿它和一台PC相比,但我们时间不够。”接下来画面上展示一台机器,很丑。

3:20:用作对比的机器中,一台是运行Chrome的PC,一台是运行Chrome OS的机器。到底哪个更快呢?

3:21:两台电脑瞬间就同步了书签。

两台机器同步

3:23:Chrome OS支持匿名模式,凡是共用电脑的人都可以保护自己的隐私。

3:25:在屏幕的右上角有一个小图标,点击关闭网络,在断线模式下运行Google Docs,你可以继续操作它。

3:26:这并不意味着Chrome OS不是云计算设备,皮采说:“我们下了很多工夫,确保用户在与Chrome上网本的连接上一直有选择。”皮采说你点一下下拉菜单,可以选择移动模式,上面的3G信号图标就显示出4格信号。

随时随地上网

3:27:皮采随后演示了如何用云打印打印资料。

3:27:皮采说:“我们与verizon合作,为每一台Chrome OS上网本提供无缝连接。”

套餐

3:29:用户可以选择9.99美元的预付费项目。皮采说:“在离线时,你依然可以使用,我们内建了高通Gobi全球通用调制解调器。”有了互联网支持,“用户可以走动,一直与设备相连。”

3:31:随后谈到的是系统的安全性。与Chrome浏览器一样,操作系统自动升级,每台机器的每个用户会进行数据加密。

3:33:还有一样东西叫Verified Boot,对于修改的过的系统,它会用加密形式检查,如果系统出错,它会恢复到较早版本。

3:35:皮采又鼓吹Chrome OS如何适合企业用户。Citrix高级副总裁Gordon Payne上台,说与Google合作Chrome OS“绝对激动人心”。

3:44:皮采又回来了,他说他已经用Chrome笔记本六个月了,“它一直在改进。”他解释说一切还在测试中,那正是越来越好的原因。更多的功能将会添加进去,“我们期待人们能用上摄像头,我们现在还没有。”

3:46:宏基,三星和英特尔是硬件的合作伙伴,大约会在2011年中推出。

明年中推出Chrome OS笔记本

3:47:皮采拿出一台原型机,他说:“它未会有很多颜色,现在只有黑色……这款机器是用来测试软件的。”

原型机亮相

3:48:机器的配置为12.1寸显示屏,全尺寸键盘,3G,全尺寸触控板,802.11双频段Wi-Fi,8小时电池。这款笔记本型号为Cr-48。

11:51:会上没有透露一些关键功能,也没有透露硬盘是什么。可能是SSD。CR-48得到一些企业的青睐,如美国航空公司预订了,一些酒店呼叫中心可能会用它。

11:53:皮采说:“还有……少量的使用者有机会加入到这个项目。”如何加入就不知道了。

11:53:Google CEO施密特也上台了,他向团队表示祝贺,对远景作了发言。

施密特上台

11:53:施密特说:“在众多能企业中,Google也是一家能实践大规模计算机科学的企业。“

11:55:他谈到了SUN公司。

11:56:施密特谈及它客户较少时说:“为什么如此困难?”“为什么他们失败?为什么你们现在还要相信我们?我们那时有些对的,有些错了。潜在的问题是真正的问题,但在对此问题的复杂性、精细性理解上出了错。”

11:58:施密特说:“摩尔定律……硬盘转速更快,网络更可靠……”换言之,技校已经追上了创意。软件还要努力追赶。施密特接着说:“我们倾注所有努力,为的就是抓住一点:让现代的浏览器在Chrome上浮现。”

11:59:施密特说,当Google两位创始人有了推浏览器的念头时,他是持反感态度的。他说:“我们终于有了一款产品,它上规模,够技术,增长够快,你可以在它上面建立新架构。”

11:59:施密特称:“我们十年、二十年前的直觉是对的,但我们那时没有技术。”