BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

揭秘Google+技术架构

| 作者 Abel Avram 关注 9 他的粉丝 ,译者 孙爱鸿 关注 0 他的粉丝 发布于 2011年7月23日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

谷歌的社交网络Google Plus主要基于Java和JavaScript语言,而其视频会议框架Hangouts则采用了C/S方式。

期待已久的Google社交网络Google Plus或者Google+终于公之于众了,它采用邀请的形式向部分用户开放。该项目开始于2010年初,在其底层技术鲜为人知的情形下,秘密完成了开发。Joseph Smarr,Google+技术主管、Plaxo的前CTO,在AnyAsk的访谈中非针对性地透露了一些网络的技术细节。我们联系了Smarr试图获取有关Google+架构的更多细节,但被拒绝了,他承诺更多信息会在不久的将来公布的。

按照Smarr的说法,Google+的服务端使用了Java语言和Guice,而客户端基于开源的跨浏览器框架Closure,采用了大量的JavaScript。Closure是一组JavaScript工具,方便开发人员编写富Web应用程序。Google的Gmail、Maps和Docs均使用了该框架。有趣的是Google并没有采用Wave和AdWords中使用的GWT,GWT主要面向Java开发者而非JavaScript开发者的。为了“确保即使在AJAX应用中,URL也很美观(对老版本浏览器,回退Hash-Fragment)”,添加了HTML5的历史API,另外,Closure模板也常常在服务端呈现,从而做到“在JavaScript代码加载前显示页面,然后JavaScript找到正确的DOM节点并挂接事件处理器等,使其响应”。Smarr进一步解释到:

Closure模板最酷的事情是它既可以编译成Java也可以编译成JavaScript。所以,我们使用Java服务端把模板转换成HTML,但是也可以在客户端使用JavaScript动态地显示。例如,如果你直接输入详细资料页面的URL,我们将在服务端呈现它,但是如果你进入页面流中,然后导航到某人的详细资料页面,我们将使用同一模板在客户端使用AJAX技术来显示。

后端采用的是BigTable和Colossus,它是Google的实时搜索所使用的文件系统。

Smarr承认Google+团队借鉴了Google和其他公司的很多东西,他们是“站在巨人的肩膀上,充分学习了我们以前的和业界其他社交产品”,这里指的应该就是Facebook和Twitter,而且本产品在很多方面看上去和Facebook很像。

Google+ Hangouts是在线云视频会议平台,基于XMPP、Jingle、RTP、ICE、STUN、SRTP等,它与采用P2P网络的Skype方法完全不同。Hangouts是C/S及云技术,主要依赖于Google的基础设施。目前还没有数据表明Hangouts会消耗多少资源,但估计应该会很多。所有这些都是为了提供低迟延(小于100ms)的流畅的群组沟通。

Hangouts要求与Google Talk相同的插件,不过,工程师们正在努力迁移到WebRTC上。WebRTC是视频通信的JavaScript框架,由Google、Mozilla和Opera提供支持的开源产品。当WebRTC集成到Chrome后,在Firefox、Opera或Chrome中运行Hangouts时就无需下载插件了。到时,Hangouts将使用集成在WebRTC中的VP8编码,而不是现在使用的H.264。

Christian Oestlien,Google+的项目经理,透露Google为企业用户提供了特别的特性,如分析及和其他企业账户的集成等,但他没有透露详细信息。他让企业先不要创建Google+账户,暂且等待功能开放,否则也会被删除的。

查看英文原文Google+ Technological Details 

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

感觉不错 by liu jim

Google+用起来还不错,应该有前途,不知道什么时候开发API
看起来Java还是Google的主语言

圈子还是有点晕 by 陈 东

圈子还是有点晕

人多了一学是不好管理

Re: 被屏蔽的好东西 by 寇 俊

的确

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT