質問

Predisは、クライアント側のシャード(キーの一貫したハッシュのサポート)を持っていると主張しています。 http://github.com/nrk/predis

一連のプロファイル(ノード)への接続を使用してシャードを行うことができますが、一貫したハッシュではありません。プールに別のノードを追加すると、キーの一部が見つかりません。誰かがこれについて何か経験がありますか?

PHP 5.2(およびRedisのPHP 5.2バージョン)を使用します。

役に立ちましたか?

解決

は、domain \ sn_spappprodアカウントに関する権限の問題のように見えます。必要な権利を持つSQLログインがありますか?マルチサーバーファームがある場合は、すべてのサーバーにエイリアスがありますか?

ユーザーがアクセスできるかどうかを確認するための素敵なトリックは、この記事それをする方法について。そのテストがエラーを返す場合、SQL Serverへの接続はOKです - テストを実行するときは必ず別名Server2を使用してください。

テストがエラーを返す場合、あなたのエイリアスはおそらくサーバー上で正しく構成されていない。

設定ウィザードを実行するために必要な権限が必要である可能性があります。

他のヒント

解決策は、仮想シャードを使用することです。 Predisフレームワークが機能することはわかりませんが、何らかのアレイを使用していると予測しています。おそらく、起動時の各シャードに関する情報を記入します。

最大10個のシャードがあると仮定します(この数に到達する可能性は低いはずです)。次に、3つの実際のサーバーのみを指すシャードアレイを作成します。将来、新しいノードを追加すると、関連データを新しいシャードに移行し、マッピングを変更します。このアプローチは、フォームの変更ハッシュ関数を保持します。

初期マッピング:

0 => 0 //node #0
1 => 0
2 => 0
3 => 1 //node #1
4 => 1
5 => 1
6 => 2 //node #2
7 => 2
8 => 2
9 => 2

新しいノードを追加すると、マッピングのみが変更されます。

0 => 0
1 => 0
2 => 3 // new node #3
3 => 1
4 => 1
5 => 3 // new node #3
7 => 2
8 => 2
9 => 3 // new node #3

したがって、h(x)= 9または5または2でデータをノード#3に移動する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top