什么是兵马俑?

  • 什么是兵马俑?
  • 它提供什么服务?
  • 它解决了什么问题?
  • 还有哪些产品可以解决类似于Terracotta解决的问题?

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

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

它帮助我准备了关于兵马俑的网络广播以及它如何用于聚类和缩放grails应用程序,并给了我一个关于兵马俑的很好的概述。

我喜欢在高级并行架构方面考虑Terracottas DSO :Terracotta将您的消息传递多计算机转变为通常的统一内存多处理器。 多计算机与多处理器的不同之处在于处理器共享内存,因此更容易编程,因为您只需以通常的multithreading方式写入内存。 但是,这意味着您需要使用锁定显式同步对共享数据的访问,系统可以使您免于显式消息传递数据编组的需要,并为您解决最大的并行编程问题 – 缓存一致性。 当您获取/释放锁时,多处理器会为您封送数据。 因此,这是可取的。 但是,最初你有一堆计算机 – 一台多机。

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

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

尝试Hazelcast ,它使用起来非常简单。 针对Java的点对点,高度可扩展,完全开源的集群技术。 它只是分布式Map,Queue,MultiMap,ExecutorService。 您可以将其Map用作分布式缓存。

我在http://www.Wavaworld.com/javaworld/jw-01-2009/jw-01-osjp-terracotta.html上找到了一篇关于Terracotta的JavaWorld上的文章。