問題タブ [jgroups]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - EhCache + JGroupsは「レプリケーションキューのフラッシュ時に例外:null」を出します
JGroupsベースのレプリケーションでEhCacheを構成しようとしていますが、最初の要素がキャッシュに追加されるとすぐに、次の例外でログがフラッディングします。
ehcache.xmlは次のようになります。
jgroups.xml
このようなものです:
jgroupsバージョン2.8.1.GA、ehcache-coreバージョン2.5.1、ehcache-jgroupsreplicationバージョン1.5を使用します。
私は何が間違っているのですか?
更新:に変更するreplicateAsynchronously=false
と、次の例外が発生します。
更新2:問題はTerracotaのJIRAで作成されます:https ://jira.terracotta.org/jira/browse/EHC-927
jgroups - JGroup ReplicatedHashMap は自動的に初期状態を取得しますか
JGroup の ReplciatedHashMap でこの動作が見られますが、これは正しくないと思います。クラスター内に 2 つのメンバー A と B があります。A はいくつかのアイテムをレプリケートされたハッシュ マップに配置し、B はそのコピーに同じアイテムを表示します。ここで、A はチャネルを閉じて再度開き、ハッシュ マップを作成します。この時点で、A のハッシュ マップには B と同じ内容が含まれていると予想されますが、A のハッシュ マップは空のままです。私の期待は、ハッシュマップの内容がクラスター全体で一貫していることでした。
それで、私は何を間違っていますか?ビューの変更時に初期状態を設定する必要がありますか? 私はプロトコル仕様に「udp.xml」を使用しており、非常に基本的なことを行っています。どんなポインタでも大歓迎です。
java - OSGi バンドルでのデシリアライズ中に ClassNotFoundException が発生する
OSGi バンドル (と呼ばれるnet.beaconcontroller.cluster
) には、org.jgroups.blocks.ReplicatedHashMap
タイプの があり<Long, net.beaconcontroller.cluster.ControllerInfo>
ます。問題は、ディスパッチ中 (つまりControllerInfo
、リモート エンドでのデシリアライズ) に JGroups がエラーを出すことClassNotFoundException
です。(スタックトレースを添付します。) 追加
バンドルの startUp() メソッドへの行はnet.beaconcontroller.cluster
効果がありませんでした。何が欠けている可能性がありますか?
java - Jgroup の例
jgroup コードの例を示す Web サイトはありますか? jgroups.org のチュートリアルとマニュアルはあまり良くなく、Google でざっと検索してもあまり出てきません。オブジェクトをシリアル化し、チャネルを介して別の JVM などに送信する例を探しています。
前もって感謝します、
――ジャスティン・リチャード・ブレイスタイン
java - どのノードをコーディネータにする JGroups を強制するにはどうすればよいですか?
JGroups が特定のサーバーをコーディネーターとして使用するよう強制する方法を探しています。そのサーバーが存在しない場合は、指定されたサーバーがクラスターに再参加し、コーディネーターになるまで新しいコーディネーターを選出します。
この場合、更新のためにトピックをリッスンするコーディネーターによってクラスターにプッシュする情報がありますが、これらの更新のフェッチと処理はリソースを大量に消費する可能性があるため、外部に何かをサーバーに送信したくありません。そのため、クラスターの前のロードバランサーでは、コーディネーターに送信しないように設定しています。ただし、Coordinator はランダムに選出されるため、基本的には、1 台のマシンだけがそこにあるまでクラスターをシャットダウンしてから、残りのクラスターのバックアップを開始する必要があります。
multithreading - JGroups RPC: NoSuchMethodException
3 つのサーバー ノード (アメリカ領サモア、アラスカ、アラバマ) と 1 つのクライアント ノード (VoterClient) で構成されるビューを用意します。ビュー内の最初のサーバー (以下の場合はアメリカ領サモア) で投票メソッドを呼び出そうとすると、常に NoSuchMethodException が発生します。以下に示すように、ビュー内のノードのリストを次に示します (ping_dest はアメリカ領サモア、pingable_mbrs=[アメリカ領サモア、アラスカ、アラバマ、VoterClient])。だから私が電話するとき
ここでaddress1
は のアドレスであり"American Samoa"
、 およびobj.ID
はobj.candidate
リモートString
投票メソッドのパラメーターです。NoSuchMethodException が発生します。
ここに私のログと例外があります:
投票方法は次のとおりです。
これがドライバークラスです(メインメソッドのスニペット)。各状態のサーバーを初期化する方法。
GMS によって選出されたコーディネーターと関係があると思います。コーディネーターが投票サーバーの状態と同じ場合、クライアントは投票できません。以下は、コーディネーターのアメリカ領サモアがどのように選出されるかを示しています。
java - JGroups、Terracotta & Hazelcast
これら 3 つのプロジェクトに頭を悩ませようとしていますが、それらはすべて、クラスタ化しようとしたときに発生するわずかに異なる問題を処理しているようです。しかし、それらのドキュメントはすべて、すでに「よく知っている」開発者向けに書かれており、私のような初心者には理解が難しいものです。
- それぞれが解決しようとしている具体的な問題は何ですか? また、これらの問題は互いにどのように異なるのでしょうか?
- それらのそれぞれを使用したクラスタリングは、アプリ サーバーのクラスタリング (JBoss や GlassFish の組み込みのクラスタリング機能など) とどのように異なりますか?
- これらのフレームワークが解決する問題は、同じプロジェクトでの使用を保証するのに十分なほど異なっていますか? それとも、彼らは互いに競争相手であり、同じ/類似の問題に対して異なる解決策を持っていますか?
これらの好奇心旺盛でありながらとらえどころのないフレームワークについての洞察をお寄せいただきありがとうございます。
osgi - スタンドアロン.xmlファイルの設定からJBoss7.xでJGroupsチャネルを作成するにはどうすればよいですか?
JBoss7.x用のOSGIサービスを作成していますが、ドメイン関連のRPC用に新しいJChannelを作成する必要があります。スタンドアロン.xmlファイルのプロトコルスタック定義の1つを使用したいのですが、可能であれば共有トランスポートを使用したいと思います。
どこから情報にアクセスし始めるのか、どのように情報を注入するのかわかりません。
JBoss ASコードを見ると、おそらくJChannelFactoryインスタンスを取得する必要があると思います。OSGIでこれをどのように行うのですか?
jgroups - メンバーはクラスターを形成しません
WAN 上に 1 つの受信機と複数の送信機を持つクラスターを作成する必要があります。問題はJChannel.connect()
、各メンバーで同じクラスター名を使用して呼び出した後、共通のビューが作成された共通のクラスターがなく、各コンポーネントが独自のものを参照することです。その結果、受信者にメッセージを送信するときに、受信者の物理アドレスを特定できず、すべてのメッセージが破棄されます。
送り主 :
受信機:
jgroups が提供する tcp.xml は、TCPPING に小さな変更を加えて使用されました。
出力:
手伝っていただけませんか?概念が間違っている可能性がありますが、ターゲットが WAN で動作しているため、ユニキャストと TCP を使用する必要があります。