0
Jgroup 클러스터링에서 상태 전송 시간을 어떻게 지정할 수 있습니까?jgroup 복제 된 hashmap에서 상태 전송에 시간 초과를 지정하는 방법은 무엇입니까?
public static ReplicatedHashMap<Integer, BaseSeatLayout> _baseSeatLayoutCache;
JChannel baseRouteCache = new JChannel(props);
baseRouteCache.connect("Master-Cluster");
client.startBaseRouteCache(baseRouteCache);
_baseSeatLayoutCache = new ReplicatedHashMap<>(channel);
_baseSeatLayoutCache.addNotifier(this);
_baseSeatLayoutCache.start(10000);
loadData()// This will load around 2 millions entry
같은 코드는 내가 loadData()없이 슬레이브 장치 (또는 기계 2)를 실행하고,하지만 난 그 코드를 실행하면 10000ms이 경과 한대로 난 상태 시간 제한 예외에 대한 예외를 얻고있다 및 일부 부분적인 데이터가 점점 복제. 초기 상태 전송에 대한 시간 초과를 어떻게 변경할 수 있습니까? 내 tcp.xml
은 다음과 같다 내가 TCP 프로토콜을 사용하고
는
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:org:jgroups"
xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
<TCP bind_port="7800"
recv_buf_size="${tcp.recv_buf_size:130k}"
send_buf_size="${tcp.send_buf_size:130k}"
max_bundle_size="64K"
sock_conn_timeout="300"
thread_pool.min_threads="0"
thread_pool.max_threads="20"
thread_pool.keep_alive_time="30000"/>
<TCPPING async_discovery="true"
initial_hosts="${jgroups.tcpping.initial_hosts:10.120.19.145[7800],localhost[7801]}"
port_range="2" />
<MERGE3 min_interval="10000"
max_interval="30000"/>
<FD_SOCK/>
<FD timeout="3000" max_tries="3" />
<VERIFY_SUSPECT timeout="1500" />
<BARRIER />
<pbcast.NAKACK2 use_mcast_xmit="false"
discard_delivered_msgs="true"/>
<UNICAST3 />
<pbcast.STABLE desired_avg_gossip="50000"
max_bytes="4M"/>
<pbcast.GMS print_local_addr="true" join_timeout="2000"
view_bundling="true"/>
<MFC max_credits="2M"
min_threshold="0.4"/>
<FRAG2 frag_size="60K" />
<pbcast.STATE_TRANSFER/>
</config>
ReplicatedHashMap에서 10GB의 데이터를 전송할 수 있습니까? –
예. 그러나 이는 모든 구성원이 캐시에 '10 * N GB'의 데이터를 가져야한다는 것을 의미합니다. 여기서 'N'은 캐시의 구성원 수입니다. 대신 _replicated_ 하나보다는 _distributed_ 캐시를 사용합니다. 데이터는 모든 구성원에게 복사되지 않지만 하위 집합에만 복사됩니다. 'ReplCache'는 JGroups의 샘플 (장난감) impl입니다. Infinispan (infinispan.org)은 실제 구현입니다. –
그것은 내가 다른 머신 (예 : 노예)에서 동일한 데이터를 한 머신 (즉 마스터) 양식 DB의 데이터에 복사하고 다른 머신이 클러스터에서 아무 것도로드하지 않으므로 마스터에서만 읽을 수 있도록하려는 것과 같습니다. –