当Terracotta服务器用作Hibernate的EHCache后端时,它会做什么?

Itt*_*tai 6 java hibernate terracotta ehcache distributed-caching


我的DAL实现了Hibernate,我希望将EHCache其作为其二级缓存及其分布式功能(用于可伸缩性和HA).
眼见为EHCache提供分布式缓存只与Terracotta我的问题是什么角色Terracotta服务器实例?它是否也包含数据?它是否只协调分区缓存部分之间的分配?
我的困惑主要来自这个解释关于TSA它说的服务器保存的数据,但我想,也许在我的方案中的高速缓存和Terracotta服务器被排序的合并.我对么?
如果服务器确实持有数据,那么为什么瓶颈不应该从数据库移动到Terracotta服务器?

更新: Affe的回答回答了我的问题的第二部分,这是重要的部分,但以防万一有人来寻找第一部分,我会说TC服务器必须保存内存中的EHCache所拥有的所有数据,所以如果你想要一个分布式缓存(不复制),那么L2(TC服务器)也必须自己拥有所有对象.

感谢提前,
Ittai

Aff*_*ffe 4

这个想法是,通过 terracotta 驱动程序联系 terracotta 集群并执行基本的 Map 查找操作,仍然比获取数据库连接和执行 SQL 语句要快得多。即使这确实成为应用程序的瓶颈,总体吞吐量预计仍显着高于 JDBC 连接 + SQL 瓶颈。打开连接和打开游标是数据库中的大量资源消耗,而 terracotta 集群的打开套接字则不然!