大多数人使用某种IoC框架 – Guice,
Spring,你可以命名它.我们中的许多人也需要扩展他们的应用程序,因此他们的生活与Terracotta,Glassfish / JBoss / insertyourfavouritehere集群复杂化.
但这真的是要走的路吗?你使用上述任何一种吗?
以下是我们目前在一个尚未开源的框架中实现的一些想法,我想看看你对它的看法,或者“它是一个完整的XY!”.
>群集范围的对象复制 – 为其命名,并在您执行某些操作时(在任何节点中)
在这样的对象上,它将被复制 – 具有不同的保证
>做透明的软负载均衡 – 最简单的场景:代理到另一个节点的restful webservice方法调用
>仅查看节点注入:将代理注入“命名”对象,并使您的调用自动代理到节点
你会用那样的东西吗?那里有当前的,稳定的,企业级的实施吗?
最佳答案 FWIW我在一家做大规模Web应用程序的公司工作,我们倾向于不使用这种形式的对象缓存.
实际上,我们倾向于通过不在会话中存储任何内容而不缓存任何事务性的并且需要在当前状态下读取来使我们的生活变得更容易.这样,您的应用程序非常简单,易于推理,并且非常容易水平扩展.
我想使用这些对象缓存的基本原理主要是减少持久性存储的负载,并可能减少延迟.我的建议是独立于相对愚蠢的webapp来扩展这个后端.大多数大型站点通过使用只读副本和数据分片来实现此目的.看看这里:http://highscalability.com/livejournal-architecture.我记得很久以前看过这个,这很有意思.它也非常适合我在高流量网站中使用的那种架构.