InfoQ

技术访谈

Alexandru Popescu谈InfoQ.com网站架构

受访人 Alexandru Popescu 采访人 Ryan Slobojan,翻译:崔康 发布于 2008年11月4日 上午12时6分

社区
Architecture,
Java
主题
门户/内容管理系统
标签
Hibernate,
MySQL,
DWR,
InfoQ,
S3
概要
在QCon伦敦2008会议的采访中,InfoQ首席架构师Alexandru Popescu谈论了InfoQ的架构、WebWork与DWR的集成、Hibernate与JCR、Hibernate可扩展性、MySQL拷贝、最新 InfoQ视频流系统、视频编码过程、网站搜索和InfoQ未来规划。

个人简介
Alexandru Popescu是InfoQ.com的首席架构师和联合创始人。同时,他作为TestNG框架的联合创始人、WebWork和Magnolia项目的提交者,参与了许多开源工程和前沿技术。在AspectWerkz项目合并到AspectJ之前,Alexandru曾经是三个提交者之一。他的博客地址是 http://themindstorms.blogspot.com/。
大家好,我是Ryan Slobojan,坐在我旁边的是InfoQ.com的首席架构师Alexandru Popescu。Alexandru,能否告诉我们InfoQ网站的一些架构信息—它是什么样子的?又是如何构建的?
能否给我们描述一下,当你作为一个用户和一个作者发出请求时,内部会发生什么变化?
你刚才提到使用WebWork和DWR处理前端。请问它们能够无缝集成吗,或者存在哪些挑战吗?
如果你有机会从头重新设计InfoQ.com,你会保留哪些,改变哪些?
能否提供一些关键的数据,比如InfoQ每天处理多少用户请求?其可扩展性呢?
Hibernate真的可以扩展吗?这种扩展性有用吗?它是一个适合扩展的框架吗还是……还有一个问题是你对数据库分区吗?
你们在使用MySQL是吗?
当数据量变得太大,你遇到过拷贝问题吗?比如从master拷贝到slaves?
你们使用了多少缓存?在何处缓存数据,只有一个吗?使用分布式缓存吗?
那么是在Hibernate之上还是之下?
最近视频流系统重新做了设计。你能详细介绍一下吗,比如新的架构是什么样子的?
当你获得视频的时候:InfoQ不做其他工作吗,所有的视频都是适合Flash播放的编码格式吗?有时你是否需要使用第三方或者内部、外部的编码转换机制?
你提到你把视频存储到Amazon服务上。你得到的是一个放了一些数据的容器,不管它多大、是什么,你只是把数据放进去,他们负责传递。有没有一个URL可以提供给客户或者用户,在他的浏览器上使用?从内部键值到URL的映射关系存在何处?你如何知道你把视频存在哪里了?
你刚才说把Hibernate对象映射到其它对象上,为什么要这样做?
你是否使用了Hibernate提供的关联机制?例如,我创建了一个用户。一个用户可以有多种角色(你可以配置Hibernate来获取用户和全部角色)。Hibernate提供了这种功能。你说在更高一层作了聚合,这是否意味着你只能在更高的层次上获取单实体或者实体集合?
所以聚合意味着你不得不组合来自不同存储的数据。
InfoQ未来有什么规划吗?如何进行开发的?是围绕一个需求清单吗?
你如何实现网站搜索?采用了哪些技术?
show all  show all
很棒的文章。挑个小错 发表人 图灵 刘江 发表于 2008年11月4日 上午8时14分
Re: 很棒的文章。挑个小错 发表人 霍 泰稳 发表于 2008年11月4日 下午7时36分
很棒的访谈 发表人 玉峰 王 发表于 2008年11月6日 上午4时20分
Re: 很棒的访谈 发表人 lancelot dawson 发表于 2008年11月10日 上午6时46分
好文章! 发表人 vector chen 发表于 2008年11月18日 上午3时18分
高深... 发表人 子 棋 发表于 2009年9月9日 上午9时28分
  1. 返回顶部

    很棒的文章。挑个小错

    2008年11月4日 上午8时14分 发表人 图灵 刘江

    这种实战经验性的文章应该越多越好。JCR以前还真没怎么注意过。

    挑错:第一问的回答中两处porlet应该是portlet。

  2. 返回顶部

    Re: 很棒的文章。挑个小错

    2008年11月4日 下午7时36分 发表人 霍 泰稳

    已经修改,谢谢刘江的指正!

  3. 返回顶部

    很棒的访谈

    2008年11月6日 上午4时20分 发表人 玉峰 王

    InfoQ越做越好了 :-)

  4. 返回顶部

    Re: 很棒的访谈

    2008年11月10日 上午6时46分 发表人 lancelot dawson

    为什么我是电信的还是无法播放? 感觉DNS解析有问题...

  5. 返回顶部

    好文章!

    2008年11月18日 上午3时18分 发表人 vector chen

    挑错,我们一个问题一个问题的看。到目前为止,我还没有在Hinernate的层面上发现任何问题!
    应该是hibernate!笔误吧!

  6. 返回顶部

    高深...

    2009年9月9日 上午9时28分 发表人 子 棋

    太高深了 看不懂...

深度内容

模块化Java:声明式模块化

本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。

Ian Robinson和Jim Webber谈论基于Web的整合

本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。

项目管理修炼之道(精选版)

项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。

那是鸟,还是飞机?不,那是超人!

在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。

访谈和书摘:Eben Hewitt的新书《Java SOA Cookbook》

Java SOA Cookbook

Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。

Mark Richard的《Java消息服务》第二版

Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。

模块化Java:动态模块化

本文是“模块化Java”系列文章的第三篇,讨论动态模块化,内容涉及如何解析bundle类、bundle如何变化、以及bundle之间如何通信。

让测试也敏捷起来

对于测试组织来说,敏捷方法带来的快速迭代却让测试本身变得困难起来:缺乏“足够详细的文档”,缺乏“仔细设计用例的时间”等等。在本演讲中,段念将与大家探讨如何在敏捷过程中进行测试。