作为概念验证,我尝试使用现有应用程序构建一个 infinispan 集群,该应用程序启动一个嵌入式缓存和一个或多个独立的 infinispan 服务器。
这背后的原因是,我想展示的是,有一种零配置自动创建集群的方法,只需启动新下载的 infinispan 独立服务器。所以我的应用程序运行一个嵌入式缓存,它将被新节点自动“加入”。
我正在为 infinispan 和 jgroups 使用非常默认的配置(见下文)。
效果是,我的两个或多个具有嵌入式缓存的应用程序“互相看到”,两个或更多独立的 infinispan 服务器互相看到。但是我的节点都没有“看到”独立节点,他们也看不到我的节点。
我使用 infinispan 6.0.2。
独立服务器是这样的:http: //downloads.jboss.org/infinispan/6.0.2.Final/infinispan-server-6.0.2.Final-bin.zip
请提供有关要检查的内容或链接到我可以研究以完成这项工作的资源的提示。
这是启动嵌入式缓存的代码:
DefaultCacheManager manager = new DefaultCacheManager(
GlobalConfigurationBuilder.defaultClusteredBuilder().transport()
.nodeName( node ).addProperty( "configurationFile", "jgroups.xml" )
.build(), new ConfigurationBuilder().clustering()
.cacheMode( CacheMode.DIST_SYNC ).build() );
Cache<String, String> cache = manager.getCache( "default" );
这是我正在使用的 jgroups-config:
<config xmlns="urn:org:jgroups"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:org:jgroups file:schema/JGroups-3.2.xsd">
<UDP
mcast_addr="${jgroups.udp.mcast_addr:228.6.7.8}"
mcast_port="${jgroups.udp.mcast_port:46655}"
tos="8"
ucast_recv_buf_size="200k"
ucast_send_buf_size="200k"
mcast_recv_buf_size="200k"
mcast_send_buf_size="200k"
loopback="true"
max_bundle_size="64000"
max_bundle_timeout="30"
ip_ttl="${jgroups.udp.ip_ttl:2}"
enable_bundling="true"
enable_diagnostics="false"
bundler_type="old"
thread_naming_pattern="pl"
thread_pool.enabled="true"
thread_pool.min_threads="2"
thread_pool.max_threads="30"
thread_pool.keep_alive_time="60000"
thread_pool.queue_enabled="true"
thread_pool.queue_max_size="100"
thread_pool.rejection_policy="Discard"
oob_thread_pool.enabled="true"
oob_thread_pool.min_threads="2"
oob_thread_pool.max_threads="30"
oob_thread_pool.keep_alive_time="60000"
oob_thread_pool.queue_enabled="false"
oob_thread_pool.queue_max_size="100"
oob_thread_pool.rejection_policy="Discard"
/>
<PING timeout="3000" num_initial_members="3"/>
<MERGE2 max_interval="30000" min_interval="10000"/>
<FD_SOCK/>
<FD_ALL timeout="15000"/>
<VERIFY_SUSPECT timeout="5000"/>
<!-- Commented when upgraded to 3.1.0.Alpha (remove eventually)
<pbcast.NAKACK exponential_backoff="0"
use_mcast_xmit="true"
retransmit_timeout="300,600,1200"
discard_delivered_msgs="true"/> -->
<pbcast.NAKACK2
xmit_interval="1000"
xmit_table_num_rows="100"
xmit_table_msgs_per_row="10000"
xmit_table_max_compaction_time="10000"
max_msg_batch_size="100"/>
<!-- Commented when upgraded to 3.1.0.Alpha (remove eventually)
<UNICAST timeout="300,600,1200"/> -->
<UNICAST2
stable_interval="5000"
xmit_interval="500"
max_bytes="1m"
xmit_table_num_rows="20"
xmit_table_msgs_per_row="10000"
xmit_table_max_compaction_time="10000"
max_msg_batch_size="100"
conn_expiry_timeout="0"/>
<pbcast.STABLE stability_delay="500" desired_avg_gossip="5000" max_bytes="1m"/>
<pbcast.GMS print_local_addr="false" join_timeout="3000" view_bundling="true"/>
<UFC max_credits="200k" min_threshold="0.20"/>
<MFC max_credits="200k" min_threshold="0.20"/>
<FRAG2 frag_size="8000" />
<RSVP timeout="60000" resend_interval="500" ack_on_delivery="true" />
</config>