- 浏览: 208721 次
- 性别:
- 来自: 杭州
最新评论
-
李嘉图0624:
第一段代码就出错了,少了g.close();不关闭的话,也没有 ...
Jackson 入门 -
daichangfu:
不光是生僻字需要,正常的也需要啊。
解决Java应用在Linux下无法正常水印生僻字 -
yaoweinan:
不错
JGroup配置笔记 -
learnworld:
grandboy 写道我想json的数据多一些对于数据绑定回j ...
Jackson 入门 -
grandboy:
我想json的数据多一些对于数据绑定回javabean时不会出 ...
Jackson 入门
JGroup TCP比较关键的配置参数
TCP
TCP(bind_addr=192.168.30.66;start_port=7800;end_port=7081)
start_port="7800"
本节点监听的端口,默认为7800,如设置为0,将会随机选定一个端口绑定
end_port
尝试监听的最大端口,如果在start_port和end_port指定的范围内都找不到一个可用端口,则抛出一个BindException。如果不指定end_port,或者end_port<start_port,end_port将没有上限,如果start_port=end_port,JGroup将会只用该端口来绑定。
bind_addr="192.168.1.3"
JGroup监听的物理IP,如不指定,JGroup将会绑定到所有可用网络接口。当有多个网络接口时应该指定一个
TCPPING
TCPPING(initial_hosts=hosta[2300],hostb[3400],hostc[4500]; port_range=3;num_initial_members=2;timeout=3000)
initial_hosts="hosta[2300],hostb[3400],hostc[4500]"
初始成员列表,所有成员都应该列出来,否则在特定条件下会形成封闭节点。
port_range="3"
查找初始成员的端口范围,结合上述的initial_hosts配置,当前节点将查找的成员有hosta:2300, hosta:2301, hosta:2302, hostb:3400, hostb:3401, hostb:3402, hostc:4500, hostc:4501, hostc:4502.
num_initial_members="2"
等待最多初始成员回应的数量,但是不得超过timeout定义的毫秒时间。默认值为2
配置例子:
1) 假设有两个JGroup应用都在 192.168.30.66 上
TCP(bind_addr=192.168.30.66;start_port=7800;end_port=7081;loopback=true;recv_buf_size=20000000;send_buf_size=640000;discard_incompatible_packets=true;max_bundle_size=64000;max_bundle_timeout=30;use_incoming_packet_handler=true;enable_bundling=true;use_send_queues=false;sock_conn_timeout=300;skip_suspected_members=true;use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;thread_pool.rejection_policy=run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=run):TCPPING(timeout=3000;initial_hosts=192.168.30.66[7800];port_range=2;num_initial_members=2):MERGE2(max_interval=100000;min_interval=20000):FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):VIEW_SYNC(avg_send_interval=60000):pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=true;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60000):pbcast.STREAMING_STATE_TRANSFER
2) 假设有后台应用和前端应用各两个, 后台应用在192.168.30.66和192.168.30.76上; 前端应用在on 192.168.30.69和192.168.30.79上
后台应用和前端应用都可以使用同一配置
TCP(start_port=7800;end_port=7800;loopback=true;recv_buf_size=20000000;send_buf_size=640000;discard_incompatible_packets=true;max_bundle_size=64000;max_bundle_timeout=30;use_incoming_packet_handler=true;enable_bundling=true;use_send_queues=false;sock_conn_timeout=300;skip_suspected_members=true;use_concurrent_stack=true;thread_pool.enabled=true;thread_pool.min_threads=1;thread_pool.max_threads=25;thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;thread_pool.queue_max_size=100;thread_pool.rejection_policy=run;oob_thread_pool.enabled=true;oob_thread_pool.min_threads=1;oob_thread_pool.max_threads=8;oob_thread_pool.keep_alive_time=5000;oob_thread_pool.queue_enabled=false;oob_thread_pool.queue_max_size=100;oob_thread_pool.rejection_policy=run):TCPPING(timeout=3000;initial_hosts=192.168.30.66[7800],192.168.30.76[7800],192.168.30.69[7800],192.168.30.79[7800];port_range=1;num_initial_members=4):MERGE2(max_interval=100000;min_interval=20000):FD_SOCK:FD(timeout=10000;max_tries=5;shun=true):VERIFY_SUSPECT(timeout=1500):BARRIER:pbcast.NAKACK(use_mcast_xmit=false;gc_lag=0;retransmit_timeout=300,600,1200,2400,4800;discard_delivered_msgs=true):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=400000):VIEW_SYNC(avg_send_interval=60000):pbcast.GMS(print_local_addr=true;join_timeout=3000;shun=true;view_bundling=true):FC(max_credits=2000000;min_threshold=0.10):FRAG2(frag_size=60000):pbcast.STREAMING_STATE_TRANSFER
JGroup UDP比较关键的配置参数
主要配置参数
参数 |
描述 |
mcast_addr |
多播地址 |
mcast_port |
多播端口 |
配置例子:
对于TCP的两个例子都可以用以下配置
UDP(mcast_addr=224.0.0.161;mcast_port=45566;ip_ttl=32;mcast_send_buf_size=150000;mcast_recv_buf_size=80000):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=5000):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096;down_thread=false;up_thread=false):pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=true;print_local_addr=true;reject_join_from_existing_member=false):FD(timeout=2000;max_tries=5;shun=true)
注意事项
l LAN或者多个子网内建议使用TCP方式,因为不同子网中,UDP多播消息可能会给路由器丢弃
l FD和FD_SOCK同时有时会出现SocketCloesedException,这时要注意重启时间不宜过短
l 出现GMS Join Retry循环时也要注意重启时间不宜过短
官方文档
http://www.jboss.org/community/docs/DOC-10878
发表评论
-
开发新手通用代码问题
2011-06-04 06:32 13181最近辅导黄埔的同学进行开发,发现了一些问题,隐约看到当年自己写 ... -
jmockit 的使用系列
2010-12-13 21:30 94201. 入门 2. 完整的Mock步骤 ... -
jmockit 的使用示例-02完整的Mock步骤
2010-12-13 21:11 4878package jmockit.sample; impo ... -
jmockit 的使用示例-03全部mock的?
2010-12-13 21:11 3645package jmockit.sample; impo ... -
jmockit 的使用示例-04静态部分mock示例
2010-12-13 21:10 3866package jmockit.sample; impo ... -
jmockit 的使用示例-06私有成员的Mock
2010-12-13 21:10 7654目标测试代码 package jm ... -
jmockit 的使用示例-07私有静态成员Mock
2010-12-13 21:09 4693目标测试代码 package jmockit.target ... -
jmockit 的使用示例-09构造方法也可以Mock?基于状态的Mock?
2010-12-13 21:07 10378目标测试代码 package jmockit.target ... -
jmockit 的使用示例-10另一种基于状态的Mock,随穿随脱?
2010-12-13 21:07 2707目标测试代码 package jm ... -
jmockit 的使用示例-11不是吧,还能访问实际被Mock的对象?
2010-12-13 21:07 3233目标测试代码 package jmockit.target ... -
jmockit 的使用示例-07私有静态成员Mock
2010-12-13 20:40 5890目标测试代码 package jmockit.target ... -
jmockit 的使用示例-02完整的Mock步骤
2010-12-13 20:31 1462package jmockit.sample; impo ... -
开放的心态
2010-10-02 13:56 982今天看李笑来的《把时间当作朋友》,看到一句话,“我们的大脑 ... -
Jackson 入门
2010-09-15 07:17 6492同事的一些测试结果看来,Jackson在处理Json方面性能相 ... -
解决Java应用在Linux下无法正常水印生僻字
2010-04-10 13:46 5617昨天接到一个投诉,说是他的水印是一个方框。刚开始还以为是程序出 ... -
同学们,秒投简历啦!
2010-03-12 23:51 221公司业务急速扩张,急需有才能的同学加入到我们的行列中, ... -
反编译工具
2009-12-31 20:54 1135追查JVM崩溃过程中使用到的反编译工具,其中beanutils ... -
追查JVM崩溃
2009-12-31 20:25 2241JDK升级到1.6后,服务器集群经常崩溃,后来把VM的参 ... -
普通用户下实现Apache 2.2.14与jboss-5.1.0.GA集成
2009-11-29 23:05 2768Apache与jboss集成,实际是apache与tomcat ... -
swt 笔记
2009-11-27 00:24 893http://www.ibm.com/developerwor ...
相关推荐
jgroup配置[收集].pdf
jgroup配置[归类].pdf
jgroup笔记.
EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明
jgroup详细介绍
jgroup代码
Reliable group communication with JGroups 3.x Preface This is the JGroups manual. It provides information about: 1. Installation and configuration 2. Using JGroups (the API) 3. Configuration of the ...
NULL 博文链接:https://8366.iteye.com/blog/921760
jroup是一个比较优秀的集群通讯开源软件,本实例展示如何用jgroup进行不同机器之间的通讯
找不到对方在调试的时候发现只要是使用了SWT的类的地方会出现线程错误,于是我想是不是出现了线程同步的问题经询问别人后得知在SWT中使用JGroup应该要使线程同步,应该使用Display类的syncExec(Runnable r)方法于是...
最强大得UUP开源组件,用于底层通讯,以被JBOSS采用
jboss jdbc json jgroup.jar
jgroup 源码 HIBERNATE 二级缓存 集群
JGroup最大的特点就是支持协议栈的可配置性,它本是实现了基本的Java的协议栈实现,也就是最基本的消息广播的基础,同时支持附加协议栈的配置,消息的传递就是在这些协议栈之间相互传递,封装,检查,丢弃,重发。...
使用JGroup实现分布式数据结构(堆栈和集合) 介绍 [什么是JGroups?]( ) [JGroup入门]( ) JGroups是完全用Java编写的可靠的组通信工具包。 它基于IP多播(也支持TCP),但是有一些特殊功能,例如可靠性和组...
其实回顾一下集中式的构架,无非两种情况:一是节点均衡的网状(JBoss Tree Cache),利用JGroup的多播通信机制来同步数据;二是Master-Slaves模式(分布式文件系统),由Master来管理Slave,比如如何选择Slave,...
jgroups官方帮助文档html格式2.X版本
NULL 博文链接:https://hxy-go.iteye.com/blog/518795
NULL 博文链接:https://wiselyman.iteye.com/blog/2114715