这是在服务器集群上运行应用程序的能力,旨在分配负载并提供额外的冗余。
我看过一个演示GridGain我对此印象非常深刻。
还知道其他人吗?
有几个:
-
红陶 (开源,基于 Mozilla 公共许可证);
-
甲骨文一致性(以前称为 Tangosol Coherence;商业;基于JSR 107,从未被正式采用);
-
千兆空间(商业;基于JavaSpaces API, 部分Jini);
-
GridGain,您提到的(开源:LGPL);
-
内存缓存 with a Java客户端库(开源:BSD 许可证;
-
EHCache(开源:阿帕奇软件许可证;
-
OSCache(开源:修改后的 Apache 许可证; and
- 毫无疑问还有其他几个。
现在我还没有使用所有这些,但我已经使用或研究了其中的大多数。
GridGain 和 GigaSpaces 更集中于网格计算比缓存和(恕我直言)比数据网格更适合计算网格(参见计算与数据网格的解释)。我发现 GigaSpaces 是一项非常有趣的技术,它有多种许可选项,包括免费版本和面向初创公司的免费完整版本。
Coherence 和 Terracotta 尝试将缓存视为Maps,这是一个相当自然的抽象。我经常使用 Coherence,它是一款出色的高性能产品,但价格并不便宜。兵马俑我不太熟悉。我发现 Coherence 的文档有时有点缺乏,但它确实是一个强大的产品。
我主要将 OSCache 用作减少 Java Web 应用程序中的内存使用和碎片的一种方法,因为它具有相当简洁的 JSP 标记。如果您曾经查看过已编译的 JSP,您会发现它们进行了大量的字符串连接。该标记允许您有效地将一段 JSP 代码和 HTML 的结果缓存到单个字符串中,这在某些情况下可以极大地提高性能。
EHCache 是一个简单的缓存解决方案,我也在 Web 应用程序中使用过。虽然从来没有作为分布式缓存,但它可以做到这一点。我倾向于将其视为一种快速而肮脏的解决方案,但这也许是我的偏见。
memcached 在 PHP 领域尤其流行(并被 Facebook 等网站使用)。这是一个非常轻量且简单的解决方案,其优点是它不在同一进程中运行,并且如果这对您很重要,您将拥有与其他技术堆栈更好的互操作性选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)