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

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

有帮助吗?

解决方案

目前,Terracotta企业工具仅提供开源版本之外的一些功能,例如可视化和管理(例如将客户端踢出群集的能力)。这将继续存在分歧,企业工具可能会在管理和监控等方面拥有更多运营商级别的功能,但即使使用开源工具,您也可以管理和调整应用程序。

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

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

检验员

其他提示

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

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

希望有帮助。

您可能需要查看JBossCache / PojoCache,它是一种内存分布式缓存解决方案。不同之处在于它使用一个简单的API在缓存的“集群”中传播对象,其中Terracotta在classloading / jvm级别工作。

(它们实际上没有自己的JVM,但它们在加载类时会修改类,以允许它们“可聚集”)。

我们公司在JBossCache上有很多运气,我建议你查看一下。

<强>更新

我在OP消息中看到的是“嗯,我真的不知道我们需要什么(因此缺乏详细的要求),但可能是一些有趣的工具会神奇地解决我们所有的问题,已知和无法预料?那将是 awesome !“

采用这样的架构方法,它不会飞。没有Teracotta的成功故事会改变这一点。

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

抱歉打扰你的白日梦。

<强> IMHO:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top