問題タブ [raft]

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.

0 投票する
0 に答える
526 参照

neo4j - Neo4j カジュアル クラスタリング - サーバーがお互いを検出できない

Neo4j (3.1 エンタープライズ) Causal クラスターをデプロイしようとしていました。オペレーション マニュアルを注意深く読み、ローカル マシンに 3 コア クラスターを作成しようとしました (新規インストールと Docker の両方を使用)。しかし、クラスターを別のマシン (Google Cloud Compute) にデプロイしようとすると、すべてのクラスター メンバーが次の場所でスタックします。

ポートを変更して、パブリック/プライベート IP を使用しようとしました。また、5000 ポートが開いていることも確認しました (はい、必要なファイアウォール ルールを追加しました)。

しかし、まだクラスターを起動することができません。

編集:

異なる GCP マシンで次の Docker コンテナを実行しています。

0 投票する
1 に答える
413 参照

consensus - パーティション下の Raft レプリケーション

  1. 7 メンバー クラスタ。そのうちの 1 つがリーダーです。
  2. リーダーはログの複製を試みます (いくつかの書き込み)
  3. ネットワーク パーティションが発生します。それぞれ3名と4名。
  4. リーダーは少数派のパーティションに行き着く
  5. リーダーが 2 人のフォロワーにしか到達しない → レプリケーションの失敗

この状況ではどうなりますか?

私が理解しているように、2人のフォロワーは「悪い」書き込みを適用し、ネットワークパーティションが修復されると、その書き込みを多数派リーダーの履歴で上書きします. しかし、これは線形化に違反しています。

0 投票する
2 に答える
301 参照

thrift - 分散データ システム (クライアント、サーバー) のスリフト実装を Raft プロトコルと統合する

だから、まず第一に、私の英語でごめんなさい。私はネイティブスピーカーではありません。

問題は..Thrift を使用して分散データ (3 サーバー) を使用する Cliente-Server アプリケーションを既に実装しています。現在 (プロジェクトの最終段階) は、Raft の実装 (Java を使用しているため、オプションは模倣) を使用して各サーバーを複製することです。しかし、Thrift は彼のやり方でサーバーとクライアントを作成し (Grafosd.Client client = new... のようなもの)、Grafosd は Thrift によって生成されます。また、Thrift はデータを Handler? に保存します。そして、copycat は別の方法でサーバーとクライアントを作成します (CopycatClient client = builder.build(); のようなもの)。データは StateMachine? に格納されます。

したがって、両方を統合するのは困難です。Raft プロトコルの実装で Thrift Client-Server を使用したことがある人はいますか? (真似する必要はありません。Java での Raft の任意の実装にすることができます)。