2010-05-03 108 views
14
  • 什么是兵马俑?
  • 它提供哪些服务?
  • 它解决了什么问题?
  • 什么其他产品可以解决类似于兵马俑所解决的问题?
+1

我建议从http://en.wikipedia.org/wiki/Terracotta_Cluster开始,然后回来一个更具体的问题。 – skaffman 2010-05-03 21:01:49

+1

Wikipedia声称“Terracotta的JVM级集群可以将单节点,多线程应用程序转变为分布式多节点应用程序,而且通常不会更改代码。”这听起来太好了,不真实,这可能是为什么维基百科还声称文章是“写成广告”的原因之一。 – 2010-05-03 21:07:51

+1

今天,Terracotta提供了更多(基于几种产品),但JVM集群自从一开始就是Terracotta的旗舰技术。它为什么听起来太好?无论如何,该代码是开源的,随时检查或尝试。 – 2010-05-03 21:43:44

回答

8

查找有关兵马俑一个伟大的文章,它是如何工作的,在相关的直接猎户莱蒂齐,共同创始人和软件工程师秦俑写:

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

它帮助我的网上直播做准备关于兵马俑以及如何将它用于群集和缩放grails应用程序,并给了我一个关于兵马俑的好概述。

2

哪些其他产品可以解决类似于兵马俑所解决的问题?

尝试Hazelcast,这是超级简单的使用。用于Java的对等,高度可扩展的完全开放源码群集技术。它仅仅是分布式Map,Queue,MultiMap,ExecutorService。您可以将其Map用作分布式缓存。

+0

你使用这个代码生产吗? – 2010-05-04 13:18:13

+0

请参阅首页上列出的公司(http://www.hazelcast.com)。还请访问“推荐”,看看是谁用它来做什么。 – 2010-05-04 20:39:50

4

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

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