目录
https://github.com/terracotta-oss
Terracotta服务器为Terracotta产品(例如Ehcache)提供了强大的分布式内存数据管理功能,并且是Terracotta集群的骨干。
Terracotta服务器阵列可以从基本的两节点串联到多节点阵列(Terracotta服务器阵列(TSA))不等,可提供可配置的规模,高性能和深层的故障转移范围。
立即为您的Ehcache部署添加分布式缓存功能!
Terracotta还提供了其他可能感兴趣的其他开源项目和代码库。
Software AG的 商业支持版本中提供了诸如快速重启持久性,高级管理功能和安全性之类的高级功能。
安装和使用Terracotta Server就像下载工具包一样简单,并确保正确的文件位于应用程序的类路径中。唯一的平台要求是使用JDK 1.6或更高版本。
只需下载,更改一些配置项并启动,即可轻松启动Terracotta Server4.x。由于不使用服务器就不会很有趣,因此本指南将向您展示如何将Terracotta服务器置于其最常见的用途:群集Ehcache缓存。
安装和使用Terracotta Server就像下载工具包一样简单,并确保正确的文件位于应用程序的类路径中。唯一的平台要求是使用JDK 1.6或更高版本。
该工具包打包为tar.gz文件。下载它,然后在命令行或使用适当的解压缩应用程序将其解压缩。
将以下JAR从工具包中添加到应用程序的类路径(如果尚未存在):
apis/ehcache/lib/ehcache-<version>.jar
–该文件包含Ehcache API。apis/ehcache/lib/slf4j-api-<version>.jar
–该文件是BigMemory Max日志记录框架的桥梁或日志记录外观。apis/toolkit/lib/terracotta-toolkit-runtime-<version>.jar
–此JAR包含用于将Ehcache连接到Terracotta Server的库。配置Ehcache以使用Terracotta服务器。创建一个“ ehcache.xml”配置文件,或修改您自己的现有Ehcache配置,或更新已下载的Terracotta Server套件的config-samples /目录中提供的配置。例如:
<span style="color:#333333"><code><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
name="myBigMemoryMaxConfig">
<!-- Tell BigMemory where to write its data to disk. -->
<diskStore path="/path/to/my/disk/store/directory"/>
<!-- Set 'maxBytesLocalOffHeap' to the amount of off-heap in-memory
storage you want to use. This memory is invisible to the Java garbage
collector, providing for gigabytes to terabytes of in-memory data without
garbage collection pauses. -->
<cache name="myBigMemoryMaxStore"
maxBytesLocalHeap="512M"
maxBytesLocalOffHeap="8G">
<!-- Tell BigMemory to use the "localRestartable" persistence
strategy for fast restart (optional). -->
<persistence strategy="localRestartable"/>
<!-- Include the terracotta element so that the data set will be
managed as a client of the Terracotta server array. -->
<terracotta/>
</cache>
<!-- Specify where to find the server array configuration. In this
case, the configuration is retrieved from the local server. -->
<terracottaConfig url="localhost:9510" />
</ehcache>
</code></span>
确保您的“ ehcache.xml”文件位于类路径的顶层。
1-使用-XX:MaxDirectMemorySize Java选项在JVM中分配足够的直接内存以适应您在配置中指定的堆外存储,另外至少要有250MB的空间以允许应用程序中可能发生的其他直接内存使用。例如:-XX:MaxDirectMemorySize=9G
将MaxDirectMemorySize设置为您拥有的BigMemory的数量。
2-此外,使用-Xmx Java选项分配至少足够的堆以容纳配置中指定的堆上存储,再加上足够的额外堆来运行应用程序的其余部分。例如:-Xmx1g
3-如有必要,定义JAVA_HOME环境变量。
您应该能够在不更改配置的情况下运行服务器进行测试,但是在启动服务器之前,我们将为您提供在哪里可以找到配置文件的指针。
要配置Terracotta服务器,请创建“ tc-config.xml”配置文件,或更新terracotta套件的“ config-samples /”目录中提供的文件。例如:
<span style="color:#333333"><code class="language-xml"><?xml version="1.0" encoding="UTF-8" ?>
<tc:tc-config xmlns:tc="http://www.terracotta.org/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-9.xsd">
<servers>
<server host="localhost" name="My Server Name">
<!-- Specify the port clients will connect to the server on. -->
<tsa-port>9510</tsa-port>
<!-- Configure memory (off-heap) space to use on the server. -->
<dataStorage size=”4g”>
</dataStorage>
</server>
</servers>
<clients>
<logs>logs-%i</logs>
</clients>
</tc:tc-config></code></span>
将您的`tc-config.xml`文件放置在Terracotta`server /`目录中。
在终端中,转到您的Terracotta`server /`目录。然后执行start-tc-server命令。对于* nix系统:
%> cd /path/to/terracotta-<version>/server
%> ./bin/start-tc-server.sh
对于Windows系统:
> cd \path\to\terracotta-<version>\server
> .\bin\start-tc-server.bat
您应该在终端中看到服务器已启动的确认。
目前使用Terracotta的案例并未没有特别广泛,有关session共享的请参考如下两篇博客:
https://blog.51cto.com/icenycmh/1844360
http://www.360doc.com/content/13/0306/20/2569758_269723508.shtml