3

EHCache + JGroups を使用して、Web アプリケーションのキャッシュを 3 つの tomcat インスタンスに複製します。

<!-- Use jgroups (UDP) to replicate cache among the cluster -->
    <cacheManagerPeerProviderFactory
        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
properties="channelName=EH_CACHE_STA::connect=UDP(mcast_addr=229.10.10.10;mcast_port=45567;):PING:MERGE2:FD_SOCK:VERIFY_SUSPECT:pbcast.NAKACK:UNICAST:pbcast.STABLE:FRAG:pbcast.GMS"
        propertySeparator="::" />

Tomcat インスタンスが再起動しないことがあります。jgroups ログで、次のことがわかります。

[webapp] WARN  2012-12-14 15:36:55,784 [GMS] : join(tc-fr-sta-tomcat1-32427) sent to b0dc40aa-12aa-4045-01e4-c80b013dbb13 timed out (after 5000 ms), retrying
[webapp] WARN  2012-12-14 15:36:55,785 [UDP] : tc-fr-sta-tomcat1-32427: no physical address for b0dc40aa-12aa-4045-01e4-c80b013dbb13, dropping message

ノードが自分自身に参加しようとしているようです???! クラスターを復元するには、本番環境ですべての tomcat を再起動する必要があります。誰でもこの問題を解決するのを手伝ってくれますか?

4

1 に答える 1

2

これは (java -jar jgroups.jar) で実行されている JGroups のどのバージョンですか? 最新の安定版で実行することをお勧めします。また、UDP で timer_type="old" を設定します。

さらに、ehcache で JGroups 構成を XML ファイルで定義できるようにするとよいでしょう。おそらく最新バージョンではこれが行われますか? (私は ehcache の専門家ではありません)。乾杯、ベラ

于 2012-12-15T09:03:36.573 に答える