- 浏览: 824449 次
- 性别:
- 来自: 株洲->深圳
文章分类
- 全部博客 (283)
- JAVA (54)
- 数据库 (25)
- Linux (22)
- Spring (9)
- Hibernate (7)
- mybatis (1)
- struts (10)
- javascript (22)
- Web (11)
- 异常 (30)
- 工具 (21)
- pay (9)
- 软件相关 (7)
- 其它 (28)
- python (1)
- 缓存 (9)
- 面试题 (2)
- 代码规范 (14)
- 网络编程 (1)
- 架构设计 (1)
- 程序测试 (3)
- 移动 (1)
- 安全 (2)
- 服务器 (4)
- 程序员 (1)
- php (4)
- 非技术 (7)
- web容器 (3)
- 竞彩篮球 (1)
- nginx (5)
- 加密 (2)
- jquery (2)
- 原理 (2)
- 项目管理 (1)
- www..betradar.com (0)
- www.betradar.com (1)
- 爬虫 (1)
最新评论
-
July01:
有一款web 打印控件StratoIO,浏览器和系统的兼容性都 ...
WEB免费打印控件推荐(4款) -
lihaimian:
你好,有个问题咨询一个,为何我在java中,无法使用与运算符, ...
位运算、异或的实际应用 -
小黄牛:
很好谢谢分享!推荐几篇spring boot基础入门文章:ht ...
Spring Boot 快速入门 (官方quick start) -
littlesheep:
我按照你的方法从新生成了密钥可是还是报者个错误...
狗日的支付宝 -
di1984HIT:
学习了~~~
javassist:增强型的java反射工具,获取方法参数名
集群的事例是由别人提供(附件也提供下载,我将相关包已导入),我主要解释相关配置及注意事项
本事例采用的jgroups udp实现ehcache集群,下载下来找两台局域网的机器就能测试啦。
核心配置:
<ehcache updateCheck="false" dynamicConfig="false"> <diskStore path="java.io.tmpdir/ehcache"/> <!-- mcast_addr=231.12.21.132; --> <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory" properties="connect=UDP(mcast_addr=231.12.21.132;mcast_port=45566;bind_port=33433;ip_ttl=32; mcast_send_buf_size=150000;mcast_recv_buf_size=80000): PING(timeout=2000;num_initial_members=6): MERGE2(min_interval=5000;max_interval=10000): FD_SOCK:VERIFY_SUSPECT(timeout=1500): pbcast.NAKACK(gc_lag=10;retransmit_timeout=3000): UNICAST(timeout=5000): pbcast.STABLE(desired_avg_gossip=20000): FRAG: pbcast.GMS(join_timeout=5000;join_retry_timeout=2000; shun=false;print_local_addr=true)" propertySeparator="::" /> <defaultCache maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" /> <cache name="mycache" maxElementsInMemory="10" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory" properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" /> </cache> </ehcache>
参数解释:
mcast_addr: 组播地址;如果不设置默认为 228.8.8.8. (我的理解是就相当于是一个组,每个节点配置都一样)
mcast_port: 组播的发送端口;如是不设置默认为7600
ip_ttl: time-to-live 数据包在当前sokets中存活时间,默认为32s
bind_port: 当前节点传输端口,如果不配置系统随机分配。(官方配置没提供这个端口配置,如果采用随机分配对后面服务器部署防火墙策略不好控制)
jgroups官方udp api: http://www.jgroups.org/javadoc/org/jgroups/protocols/UDP.html
public class UDP extends TP IP multicast transport based on UDP. Messages to the group (msg.dest == null) will be multicast (to all group members), whereas point-to-point messages (msg.dest != null) will be unicast to a single member. Uses a multicast and a unicast socket. The following properties are read by the UDP protocol: 参数: param mcast_addr - the multicast address to use; default is 228.8.8.8. param mcast_port - (int) the port that the multicast is sent on; default is 7600 param ip_mcast - (boolean) flag whether to use IP multicast; default is true. param ip_ttl - the default time-to-live for multicast packets sent out on this socket; default is 32. param use_packet_handler - boolean, defaults to false. If set, the mcast and ucast receiver threads just put the datagram's payload (a byte buffer) into a queue, from where a separate thread will dequeue and handle them (unmarshal and pass up). This frees the receiver threads from having to do message unmarshalling; this time can now be spent receiving packets. If you have lots of retransmissions because of network input buffer overflow, consider setting this property to true.
在linux服务器部署 防火墙端口开放策略:
mcast_port 与 bind_port 端口都要打开
/etc/sysconfig/iptables 配置:
[root@ldap apache-tomcat-7.0.12]# cat /etc/sysconfig/iptables # Generated by iptables-save v1.3.5 on Sat Jul 21 13:57:58 2012 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -p udp --dport 33433 -j ACCEPT -A INPUT -p udp --dport 45566 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
mcast_port : -A INPUT -p udp --dport 33433 -j ACCEPT
bind_port: -A INPUT -p udp --dport 33433 -j ACCEPT
可能会碰到的问题:
java.lang.RuntimeException: the type of the stack (IPv6) and the user supplied addresses (IPv4) don't match: /231.12.21.132.
解决方案:http://nassir.iteye.com/blog/1602522
linux服务器配置使用命令:
netstat -alu 查看所有udp端口
查看Linux下端口被哪个进程占用
如:查看9425 被哪个程序占用
lsof -i:9425
参考:
深入探讨在集群环境中使用 EhCache 缓存系统
http://www.ibm.com/developerworks/cn/java/j-lo-ehcache/index.html
Ehcache详细解读
http://raychase.iteye.com/blog/1545906
官方jGroups集群配置
http://ehcache.org/documentation/replication/jgroups-replicated-caching
(原)EhCache 集群演示程序
http://www.oschina.net/question/12_3984
- EhCache-Cluster-Tester.zip (2.7 MB)
- 下载次数: 157
发表评论
-
[转]memcached底层工作原理
2014-10-28 16:40 18791、memcached是怎么工作的? Memcached的神奇 ... -
[转]Memcached性能检测
2014-10-20 15:22 1364Memcached性能检测 ... -
[转]Memcache内存分配策略
2014-10-20 14:24 1335一、Memcache内存分配机 ... -
linux 服务器挂载出问题,导致写文件失败,程序超时
2014-07-11 11:07 0linux 服务器挂载出问题,导致写文件失败,程序超时 -
HessianProxy cannot connect to 'http://localhost
2014-04-12 10:57 3280HessianProxy cannot connect t ... -
位运算、异或的实际应用
2013-12-24 15:53 10886一. 位操作基础,用 ... -
了解LinkedList原理
2013-12-25 14:38 11681.LinkedList介绍 线性链表集合,循环链表ht ... -
了解ArrayList原理
2013-12-18 10:45 11161.ArrayList 介绍 有序集合,按顺序存储元素 ... -
java Cookie的有效期
2013-12-03 19:55 6031Cookie的有效期 Cookie的maxAge决定着Co ... -
10 道 Java 泛型面试题
2013-10-20 19:07 1804关于泛型的面试题在 Java面试中变得越来越常见,因为 Ja ... -
memcached安装步骤
2013-08-10 10:15 1182版本:memcached-1.4.13 由于memc ... -
tomcat 访问记录日志
2013-05-17 01:43 1730Tomcat7.0.xx访问请求记录是默认打开的 ... -
支付宝RSA 公私钥 程序生成,openssl rsa 密钥程序生成,想要多少有多少
2013-05-01 00:21 30591.先配置好openssl 环境变量 保证cmd 输 ... -
MD2withRSA is disabled
2013-04-25 14:44 1761请求https报以一错误: javax.net.ssl.S ... -
狗日的支付宝
2013-04-24 23:26 14714用openssl 生成的密钥老是报以下错误: ja ... -
quartz 启动时会自动启动检测是否有可用的新版本
2013-04-24 20:06 1846日志提示: [org.quartz.utils.Updat ... -
Data truncation: Incorrect datetime value: '' for column 'createTime' at row
2013-03-22 17:11 22044mysql SQL Error: 0, SQLState: ... -
session失效通过头信息判断跳转
2013-03-13 18:06 1675/** * 拦截用户是否登录跳转到登录页 * 页面请 ... -
jsonlib转换树型数据没其它框架好
2013-01-26 14:39 1445jsonlib的性能请看这篇文章:http://wangym ... -
[ava.net.SocketException四大异常解决方案
2012-12-05 12:31 5309java.net.SocketException如何才能 ...
相关推荐
ehcache集群同步配置实例加说明文档
在配置中,需要指定集群使用的通信机制,例如JGroups配置文件。JGroups配置文件定义了集群的网络拓扑、传输协议、心跳策略等参数。 5. **Ehcache与JGroups集成**:集成Ehcache和JGroups通常涉及以下步骤: - 引入...
EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明
在Ehcache集群方案中,一个关键组件是JGroups。JGroups是一个用于构建集群通信的框架,它允许节点之间进行可靠的消息传递。Ehcache利用JGroups来实现节点间的通信和数据同步,确保即使在某个节点失败时,数据也能在...
以下是如何使用EhCache实现缓存集群的详细步骤: 首先,确保缓存对象是可序列化的。在上述例子中,`User`实体需要实现`Serializable`接口,以便在进程间传递时能够正确地进行序列化和反序列化。如果不这样做,当...
1. **负载均衡**:Ehcache集群可以将数据分布在多个节点上,从而将负载分散到各个服务器,降低单个节点的压力。 2. **高可用性**:如果一个节点失效,其他节点仍然可以提供服务,确保系统连续运行。 3. **数据冗余**...
在`EhcacheClusterDemo`这个示例项目中,可能包含了配置文件和示例代码,用于展示如何使用Ehcache和Jgroups实现集群。可以深入研究这些示例,了解如何在实际项目中应用这些配置和代码。 集群配置对于大型分布式系统...
### Ehcache集群环境配置 #### 一、Ehcache简介 Ehcache 是一款开源的高性能 Java 缓存框架,广泛应用于 Java 应用程序中,以提高应用程序性能。其核心设计采用三层类层次结构,主要包括 CacheManager、Cache 和 ...
**Ehcache 使用详解与集群配置** Ehcache 是一个广泛使用的开源Java缓存系统,它提供了内存和磁盘存储,以及对缓存数据的分布式处理能力。在Java应用程序中,Ehcache能够显著提高性能,减少数据库负载,通过缓存...
ehcache提供三种网络连接策略来实现集群,rmi,jgroup还有jms。这里只说rmi方式。同时ehcache可以可以实现多播的方式实现集群。也可以手动指定集群主机序列实现集群,本例应用手动指定。
Ehcache是一款广泛使用的开源Java缓存库,它允许应用程序高效地存储和检索数据,以减少对数据库的访问,从而提高性能。RMI(Remote Method Invocation)是Java中的一种技术,用于在分布式环境中调用远程对象的方法。...
TSA 是一个专门用于Ehcache集群的服务器,它提供了分布式锁服务、数据复制和故障检测等功能。当一个节点更新缓存时,TSA会确保这些更改被传播到集群中的其他节点,从而保持数据一致性。 Ehcache 3 集群支持的主要...
描述部分提到的“Ehcache集群配置手册帮助你梳理Ehcache集群部署的配置”,意味着本手册旨在为开发者提供一个详细的指南,指导如何通过远程复制技术配置Ehcache集群,以实现缓存数据的一致性和同步。在分布式系统中...
由于 JGroups 的包比较大,有两兆多,因此没有放到这个zip包里,请大家自行下载 JGroups 的jar包(jgroups-all.jar),并放入解压后的 webapp/WEB-INF/lib 目录下即可。 只需要将解压后的 webapp 目录配置到tomcat下做...
6. **监控与优化**:在运行时,需要监控Ehcache RMI集群的性能,包括网络延迟、同步效率、内存使用等。根据实际情况可能需要调整复制策略、缓存大小、RMI超时等参数以优化性能。 使用Ehcache RMI Replicated ...
4. 参考文档:`ehcache-reference-guide`可能包含Ehcache的官方参考指南,涵盖了各种配置选项、最佳实践以及常见问题解答,对于理解和使用Ehcache集群至关重要。 使用Ehcache集群的关键知识点包括: 1. **配置**: ...
### ehcache配置使用详解 #### 一、ehcache概述与特性 **背景介绍:** 缓存作为提升系统响应速度和降低数据库压力的关键技术,在现代软件架构中占据着重要位置。ehcache,作为一款高性能的开源Java缓存框架,旨在...
ehcache3集群相关资源,包括ehcache-clustered-3.10.0-kit、ehcache-3.10.0.jar、ehcache-clustered-3.10.0.jar、terracotta-3.7.7.tar.gz、ehcache-transactions-3.10.0.jar
在集群环境中使用EhCache,可以实现数据的共享和一致性,有效减轻数据库的压力。本篇文章将深入探讨EhCache在集群环境中的应用及其配置文件的详细设置。 一、EhCache概述 EhCache是由Terracotta公司开发的内存缓存...