JBoss DataGrid的集群部署与访问

本文详细介绍了JBoss DataGrid的集群部署,包括选用的分布模式,配置缓存容器和缓存,启动JDG集群的步骤。在Distribution模式下,数据在集群子集中复制,提高容错效率。配置缓存时,需在clustered.xml文件中设置,并定义过期策略、回收策略、锁等。启动JDG集群时,注意nodeName的区别和端口设置。客户端访问通过HotRod协议,配置文件hotrod-client.properties中设置服务器列表、并发参数等。
摘要由CSDN通过智能技术生成

集群部署

JDG的缓存模式包括本地(Local)模式和集群(Clustered)模式。本项目采用多节点的Clustered模式部署,数据在多个节点的子集间进行复制,而不是同步复制到所有的节点。使用子集复制可以提升容错的效率但对可伸缩性不会造成太大影响。在使用Clustered模式部署之前,应该配置JGroup。

1.       使用UDP方式广播。

l  适用于大的集群(超过100节点);

l  适用于Invalidation和Replication模式;

l  提高socket通信的效率。

2.       使用TCP方式广播。

更适合于distribution模式的小规模(少于100节点)的集群,这时因为TCP协议在点对点通信中更加高效。

Clustered模式又分为Invalidation、Replication和Distribution模式。

Distribution模式

JDG的Distribution模式可以存储缓存数据在集群的子集节点,而不是存储数据到每一个节点中。通常存储到多于1个节点来提供数据冗余和容错。

Distribution模式使用一致性Hash算法从集群中选择存储数据的节点,一致性Hash算法配置为一个缓存数据存储到多个副本。副本数的设置需要平衡性能和容错,过多的副本会影响性能而过少的副本会造成节点失效时丢失数据。

在Distribution模式中,一个put操作会执行num_copies次远程调用,同样在任意节点的get操作会执行至少一次的远程调用。实际上,get操作甚至也会执行num_copies次远程调用,但它们是并行的,只要有一个返回,结果就会被返回给调用者。

读一致性

由于get操作是并行从多个节点取数并使用第一个返回的结果,在使用异步方式时可能会导致数据的不一致。注意这种情况只会出现在异步调用方式,如果是同步方式,则不会出现读不一致。

配置缓存容器和缓存

JDG的Cache在使用时,必须在standalone/configuration/clustered.xml配置文件中设置要使用的Cache配置。如果客户端访问了未配置命名的Cache,将视为非法操作。

在<subsystemxmlns="urn:infinispan:server:core:5.2"default-cache-container="clustered"> …… </subsystem>中配置cache-container和distributed-cache,本项目使用分布式缓存模式。

节点<cache-containername="clustered" default-cache="default">中增加对Cache的配置节点,如下面的名称为default的cache(默认缓存配置):

<cache-container name="clustered" default-cache="default">

    <transport executor="infinispan-transport" lock-timeout="60000"/>

<distributed-cache name="default" mode="SYNC" segments="20" owners="2" remote-timeout="30000" start="EAGER">

         <locking isolation="READ_COMMITTED" acquire-timeout="30000" concurrency-level="1000" striping="false"/>

         <transaction mode="NONE"/>

</distributed-cache>

</cache-container>

 

以上的配置项目并非所有的都是必须,各节点说明见下:

#定义缓存默认的过期策略

#lifespan: 缓存条目最大的生存时间,单位毫秒,-1表示从不过期。

# max-idle: 缓存条目的最大空闲时间,单位毫秒,-1表示从不过期。如果空闲时间超过该值,条目将被视为过期。

#interval: 从缓存中清除过期条目的执行间隔时间(毫秒)。如果要完全禁用定期回收任务,设置为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值