【问题标题】:What is Terracotta?什么是兵马俑?
【发布时间】:2011-02-15 05:06:05
【问题描述】:
  • 什么是兵马俑?
  • 它提供哪些服务?
  • 它解决了什么问题?
  • 还有哪些其他产品可以解决与 Terracotta 解决的问题类似的问题?

【问题讨论】:

  • 我建议从en.wikipedia.org/wiki/Terracotta_Cluster 开始,然后再提出一个更具体的问题。
  • 维基百科声称“Terracotta 的 JVM 级集群可以将单节点、多线程应用程序转变为分布式、多节点应用程序,通常无需更改代码。”这听起来好得令人难以置信,这可能是维基百科还声称这篇文章“写得像广告”的原因之一。
  • 今天,Terracotta 提供了更多(基于多个产品),但 JVM 集群从一开始就是 Terracotta 的旗舰技术。为什么听起来太好了?无论如何,代码是开源的,请随意查看或尝试。
  • “...通常无需更改代码”听起来好得令人难以置信。与其他解决方案相比,我可能相信“代码更改更少”,但没有?

标签: java distributed-computing terracotta


【解决方案1】:

在 InfoQ 找到一篇关于 Terracotta 及其工作原理的精彩文章,由 Terracotta 的联合创始人兼软件工程师 Orion Letizi 直接撰写:

http://www.infoq.com/articles/open-terracotta-intro

它帮助我准备了关于 terracotta 以及如何将其用于集群和扩展 grails 应用程序的网络广播,并为我提供了关于 Terracotta 的一个很好的概述。

【讨论】:

    【解决方案2】:

    I like to think about Terracottas DSO in terms of advanced parallel architectures:Terracotta 将您的消息传递多计算机变成了通常的统一内存多处理器。多计算机与多处理器的不同之处在于处理器共享内存,因此更容易编程,因为您只需以通常的多线程方式写入内存。虽然,这意味着您需要使用锁显式同步对共享数据的访问,但系统使您无需显式地进行消息传递数据编组,并为您解决最大的并行编程问题——缓存一致性。当您获取/释放锁时,多处理器会为您整理数据。因此,这是可取的。但是,最初你有一堆计算机——一台多计算机。

    魔术是通过在对象字段/锁定访问点处将一些代码注入到您的类中来实现的。为了对应数据库世界,Terracotta 认为所有更新都在锁原子(事务)下完成。同样,多处理器可以有一个全局存储,Terracotta 允许将本地更新的数据备份到磁盘。

    【讨论】:

      【解决方案3】:

      还有哪些其他产品可以解决与 Terracotta 解决的问题类似的问题?

      试试Hazelcast,使用起来超级简单。点对点、高度可扩展、完全开源的 Java 集群技术。简单来说就是分布式Map、Queue、MultiMap、ExecutorService。您可以将其 Map 用作分布式缓存。

      【讨论】:

      • 查看首页 (hazelcast.com) 上列出的公司。还可以访问“推荐”,看看谁使用它。
      【解决方案4】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 2013-08-25
        • 2011-04-07
        • 1970-01-01
        • 2010-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多