答案 0 :(得分:8)
在Terracotta的联合创始人兼软件工程师Orion Letizi直接撰写的InfoQ上找到一篇关于Terracotta以及它如何工作的精彩文章:
http://www.infoq.com/articles/open-terracotta-intro
它帮助我准备了一个关于兵马俑的网络广播,以及它如何用于聚类和缩放grails应用程序,并给了我一个关于兵马俑的很好的概述。
答案 1 :(得分:5)
I like to think about Terracottas DSO in terms of advanced parallel architectures:Terracotta将您的消息传递多台计算机转变为通常的统一内存多处理器。多计算机与多处理器的不同之处在于处理器共享内存,因此更容易编程,因为您只需以通常的多线程方式写入内存。但是,这意味着您需要使用锁定显式同步对共享数据的访问,系统可以使您免于显式消息传递数据封送的需要,并为您解决最大的并行编程问题 - 缓存一致性。当您获取/释放锁时,多处理器会为您封送数据。因此,这是可取的。但是,最初你有一堆计算机 - 一台多机。
通过在对象字段/锁定访问点的类中注入一些代码来实现神奇。为了对应DB世界,Terracotta考虑在锁原子(事务)下完成的所有更新。同样,多处理器可以拥有全局存储,Terracotta允许将本地更新的数据备份到磁盘。
答案 2 :(得分:2)
还有哪些其他产品可以解决类似于Terracotta解决的问题?
试试Hazelcast,使用起来非常简单。针对Java的点对点,高度可扩展,完全开源的集群技术。它只是分布式Map,Queue,MultiMap,ExecutorService。您可以将其Map用作分布式缓存。
答案 3 :(得分:0)