4

大多数人使用某种 IoC 框架——Guice、Spring 等等。我们中的许多人也需要扩展他们的应用程序,因此他们使用 Terracotta、Glassfish/JBoss/insertyourfavouritehere 集群使他们的生活变得复杂。

但这真的是要走的路吗?您是否使用上述任何一种?

以下是我们目前在尚未开源的框架中实现的一些想法,我想看看您对此有何看法,或者“它完全是 XY 的翻版!”。

  • 集群范围的对象复制——给它一个名字,每当你在这样一个对象上做某事(在任何节点上)时,它都会被复制——有不同的保证
  • 做透明的软负载平衡 - 最简单的场景:restful webservice 方法调用代理到另一个节点
  • 仅查看节点注入:向“命名”对象注入代理,并将您的调用自动代理到节点

你会用这样的东西吗?是否有当前、稳定、企业就绪的实施方案?

4

1 回答 1

2

FWIW 我在一家从事大型 Web 应用程序的公司工作,我们倾向于不使用这种形式的对象缓存。

事实上,我们倾向于通过不在会话中存储任何内容并且不缓存任何事务性且需要在当前状态下读取的内容来使我们的生活更轻松。通过这种方式,您的应用程序非常简单、易于推理并且非常容易水平扩展。

我猜想使用这些对象缓存背后的基本原理主要是为了减少持久性存储的负载,并可能减少延迟。我的建议是独立于相对笨拙的 web 应用程序来扩展这个后端。大多数大型站点通过使用只读副本和数据分片来做到这一点。看看这里:http ://highscalability.com/livejournal-architecture 。我记得很久以前看过这个,它很有趣。它也相当适合我在高流量网站中使用的那种架构。

于 2010-03-16T21:46:32.807 回答