9

有没有人有使用 Terracotta 的开源产品而不是他们的企业产品的经验?具体来说,我很感兴趣在没有企业工具的情况下使用 terracotta 来管理集群是否值得?

过度简化的使用总结:我们是一家预算有限的小型初创公司,需要处理数百万条记录并扩展为每天数十万的页面浏览量。

4

4 回答 4

8

我正在将 Terracotta 与我的项目(传感器节点网络模拟器)集成在一起。大约三周前,我从我的一位同事那里得知了 Terracotta。现在我的应用程序利用了使用 Terracotta 的网格计算。下面我总结了我使用 Terracotta 的经验的一些要点。

  • Terracotta 网站包含非常详细的文档。本文可能是开发人员概念和架构指南的一个很好的起点
  • 当您遇到问题并且在文档中找不到答案时,Terracotta 社区论坛是提问的好地方。似乎 Terracotta 开发人员会定期检查它并且反应灵敏。
  • 即使 Terracotta 在 JVM 下运行,并且宣传说让您的应用程序在集群中运行只是配置问题,您应该做好准备,可能需要在您的应用程序中引入一些重大更改以使其运行得相当好. 例如,我必须完全重写我的应用程序的同步逻辑。
  • 与 Eclipse 的良好集成。
  • Admin Console 是一个很棒的工具,它在调整我的应用程序以在 Terracotta 下表现得体方面帮助了我很多。它从您只能想到的服务器和客户端收集所有性能指标。它当然有一些与 GUI 相关的问题,但谁没有:-)
  • 首选标准 Java 同步原语(同步/等待/通知)而不是 java.util.concurrent.* 公民。我发现标准原语提供了更高的灵活性(可以配置为读或写集群锁,甚至根本不是锁),更容易在管理控制台中跟踪(你会看到对象的类名被锁定而不是然后例如一些ReentrantLock)。

希望有帮助。

于 2008-11-13T21:01:10.043 回答
5

目前,Terracotta 企业工具只提供了一些超越开源版本的功能,比如可视化和管理(比如将客户端踢出集群的能力)。这种情况将继续分化,企业工具可能会在管理和监控等方面拥有更多操作员级别的功能,但即使使用开源工具,您当然也可以管理和调整应用程序。

企业许可证还为您提供支持、赔偿等内容,这些对您而言可能与工具一样重要,也可能不重要。

我会敦促你自己尝试一下。如果您想查看使用 Terracotta 的真实应用程序示例,您应该查看刚刚发布的这个参考网络应用程序:

考官

于 2008-11-11T20:18:46.983 回答
1

你可能想看看 JBossCache/PojoCache 这是一个内存分布式缓存解决方案。不同之处在于它使用一个简单的 API 在您的缓存“集群”中传播对象,而 Terracotta 在类加载/jvm 级别上工作。

(它们实际上并没有自己的 JVM,但它们在加载类时会修改类以使它们成为“可集群的”)

我们公司对 JBossCache 非常满意,我建议您检查一下。

于 2008-11-11T02:58:25.277 回答
-8

更新

我在 OP 消息中看到的是“好吧,我真的不知道我们需要什么(因此缺乏详细的要求),但可能是一些企业工具会神奇地解决我们所有已知和不可预见的问题?那太棒了!”

使用这样的架构方法,它不会飞。没有任何 Teracotta 的成功案例可以改变这一点。

当 OSS 周围的社区可以取代商业支持时,OSS 是有益的。假设这家伙在生产中遇到问题。社区无能为力——对于像这样不起眼的产品来说,它太小了。服务器停机,业务处于危险之中。你看?您需要预先获得商业许可证。没钱?好吧,那么您不是一家企业,而且可能不会成为一家(如果没有人愿意投资的话)。

很抱歉打扰你做白日梦。

恕我直言:

Terracotta 是一种集群解决方案。大型企业级应用程序需要集群。大型应用程序意味着大量预算。大预算意味着您可以负担得起 Terracotta 的商业许可。

换句话说:如果你没有预算购买它,它可能对你的项目没有好处。

于 2008-11-11T01:06:46.483 回答