【发布时间】:2011-08-23 04:49:59
【问题描述】:
我有一个关于管理网站上的实时供稿/投票的抽象问题。
我正在创建一个 Web 应用程序(基于 Java/Spring/Hibernate 构建),并且在用户的主页上,我想要那里团队所有成员的最新活动的实时提要,并且我正在努力找出最好的在服务器端处理此查询的方法。
蛮力方法是加载当前用户的队友列表,然后遍历他的每个队友,加载他们最新的对话/文件上传/等,然后将所有这些活动合并到一个列表中按时间戳排序并返回(举例来说,我们只返回提要的前 10 个最新活动)。
但是,这似乎非常不理想,尤其是因为需要定期执行此操作(取决于轮询间隔)。
我还考虑过将所有潜在活动(对话/状态更新/上传)作为扩展 Activity 类,然后在 DAO 中直接使用 SQL/JPQL 查询,从一组用户中选择所有最新活动被返回,但担心可能会绕过缓存并继续访问数据库也会降低性能。
以前有人处理过这类问题吗?有人知道什么是好的方法吗?
谢谢!
【问题讨论】:
-
虽然我从来没有实现过这样的东西,但我想 pubsubhubbub 解决方案可能会对你有所帮助:code.google.com/p/pubsubhubbub
-
谢谢卢卡斯,我快速浏览了一下,但这看起来不太像我需要的 - 也许我没有很好地描述我的问题,但我将通过数据模型创建一个提要(在 Hibernate 中)并希望找到一种有效的方法来定期处理 Hibernate 对象以创建提要。
标签: java web-applications feed polling