zoukankan      html  css  js  c++  java
  • 分布式缓存之Ehcache与terracotta

    1、介绍

    Terracotta服务器为Terracotta产品提供分布式数据平台。Terracotta服务器集群被称为Terracotta服务器阵列(TSA)。Terracotta服务器阵列可以从单个服务器,到一个用于高可用性(HA)的基本的双服务器串联,再到一个提供可配置的规模、高性能和深度故障转移覆盖的多服务器阵列。

    Terracotta服务器的主要特性包括:

    • 分布式内存数据管理:在内存中管理比数据网格多10-100x的数据
    • 不复杂的可伸缩性:简单的配置和部署选项,用于扩展以满足日益增长的需求并促进容量计划
    • 高可用性:正常运行和服务的即时故障转移
    • 可配置的健康监测:Terracotta健康检查器监控客户端和服务器的健康状况
    • 持久化状态:自动永久存储所有当前共享内存数据,并在服务器重启后实现快速的恢复
    • 节点自动重连:临时断开的服务器实例和客户端重新加入集群,而不需要操作员干预

    服务器目录说明 

    server
    └─bin -- 可执行文件,如启动服务器的文件 start-tc-server
    └─conf -- 配置文件
    └─lib
    └─plugins

    2、配置文件

    Terracotta配置文件是一个xml格式的文件,名为tc-config。

    该文件用于配置单个Terracotta服务器阵列(TSA)条带的所有成员。

    您可以使用工具包中提供的示例配置文件作为Terracotta配置的基础。一些示例中有描述配置元素的内联注释。

    2.1 部分配置的解释

    元素名称
    描述
    Servers
    Servers部分定义了组成集群的所有服务器。通过配置和运行至少2个服务器,可以实现高可用性。
    请注意,如果没有明确配置哪个服务器充当主动或被动的角色,这样可能会在集群的生命周期中发生变化。
     
    服务器部分中的每个服务器元素都是由name属性指定的名称标识的:
    <server ... name="ServerName">

    Plugins

    Plugins部分通过注册和配置可提供给这些服务器的附加服务,以及提供对所有服务可用的通用配置信息,扩展了列出的服务器的功能。

     
    使用扩展点是服务器使用您的应用程序端点(服务)的必要条件。

    Properties

    tc-properties部分公开了一个键-值对的列表,以进一步定制集群的行为。注意,这个部分通常是空的。

     

    2.2 简单的配置示例

    这是一个非常简单的服务器配置文件的示例。

    <tc-config xmlns="http://www.terracotta.org/config">
    <servers>
    <server host="localhost" name="testServer0">
    <logs>terracotta-kit-test/testServer0/logs</logs>
    <tsa-port>26270</tsa-port>
    <tsa-group-port>26271</tsa-group-port>
    </server>
    </servers>
    </tc-config>

    这显示了标准配置的关键组件,但是只描述了一个没有使用扩展点的服务器。

    关键点:

    1. 配置命名空间http://www.terracotta.org/config。
    2. 只有一个名为testServer0的服务器。(服务器名称很重要,因为它在启动服务器时会被使用;在实际部署中,应该用完整的主机名或服务器的IP地址替换localhost。)
    3. 给出了一个日志目录的相对路径。(在实际部署中,应该用完整的主机名或服务器的IP地址替换localhost。)
    4. tsa-port是客户端连接到服务器时使用的端口(默认为9410)。
    5. 尽管在这种情况下没有其他服务器(默认为9530),但tsa-group端口是用于跨服务器通信的。
    6. 在上面的示例配置中,不可能重新启动或故障转移,因为重新启动支持需要一个扩展点,该扩展点提供了该功能,而故障转移至少需要在集群中至少有两个服务器。

    2.3 参数替换

    参数替换提供了在Terracotta服务器配置文件中使用预定义的系统属性替换变量的方法。因此,可以根据特定于机器的属性来智能地填充大量的字段。参数替换通常用于主机名、IP地址和目录路径替换。

    可使用的参数替换如下:

    参数名称

    描述

    %h

    完整的主机名

    %i

    IP地址    

    %H

    用户主目录

    %n

    用户名

    %o

    操作系统名称

    %a

    处理器架构

    %v

    操作系统版本

    %t

    临时目录(在Linux或Solaris上,例如,/tmp)

    %(property)

    JVM的Java系统属性(例如%(Java.home),%(logs.path))

    %D

    时间戳 (yyyyMMddHHmmssSSS)

    可以在适当的地方使用这些参数,包括期望字符串或值路径的元素或属性。

     

    3、启动服务器

    启动脚本参数:

    • [-f /path/to/tc-config.xml] - 指定配置文件路径
    • [-n server_name] - 在配置了多个服务器的情况下指定启动服务器名称

    On Windows:

    cd <path/to/terracotta/kit>/server/bin
    start-tc-server.bat -f <path/to/server/config>/tc-config.xml

     On Unix/Mac:

    cd <path/to/terracotta/kit>/server/bin
    ./start-tc-server.sh -f <path/to/server/config>/tc-config.xml

     注意:在启动Terracotta服务器前,请先检查需要的java版本。Terracotta5.x需要Java 8的支持。

    检查下面的信息日志,以确认服务器是否成功启动, Terracotta Server instance has started up as ACTIVE node on 0:0:0:0:0:0:0:0:9410 successfully, and is now ready for work.

    windows下启动成功示例:

    Terracotta服务器下载地址:http://www.terracotta.org/open-source/

     转载请注明出处:http://www.cnblogs.com/cjh-notes/p/7912674.html

  • 相关阅读:
    html学习之——标签语义化
    前端学习之---性能优化
    git学习之---如何把一个写好的项目传到GitHub上
    css学习体会之——块级元素,行内元素长宽设置
    部署ingress-nginx
    K8S
    ELK-Trie树
    ELK 日常问题处理
    GFS 日常操作
    MegaCli修复RAID5
  • 原文地址:https://www.cnblogs.com/cjh-notes/p/7912674.html
Copyright © 2011-2022 走看看