問題タブ [multi-master-replication]
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.
load-balancing - Postgresql 9.4 の HAProxy を使用した負荷分散
4ノード(仮想マシン)間でBDR(Bi-Directional Replication)を使ってPostgreSQLのマルチマスターレプリケーションをセットアップしました。
今、高可用性のためにロードバランサーを配置したいと考えています。このために、5432/tcp で接続をリッスンしている別の仮想マシンに「HAProxy」をインストールして構成しました。haproxy の構成は次のとおりです。
HAProxy サーバーの IP アドレスは 192.168.123.5 です。
アプリケーションで HAproxy サーバーの IP アドレスを使用してデータベースに接続しました (接続を実際のデータベース サーバーにリダイレクトする必要があります)。しかし、その時点で次のエラーが発生します。
サーバーへの接続エラー: サーバーが予期せず接続を閉じました。これはおそらく、リクエストの処理前または処理中にサーバーが異常終了したことを意味します。
そして、私は2つの方法で問題を解決しようとしたことに注意してください. まず、すべてのサーバー (HAProxy およびすべての postgres サーバー) でファイアウォールを無効にし、構成を次のように置き換えようとしました。
また
また
しかし、私の場合、すべてが機能していませんでした。
問題を解決するのを手伝ってください。このシナリオで私が間違っていることは何ですか?
前もって感謝します!
mysql - MySQL カスタム レプリケーション
奇妙なシナリオがあり、それを機能させる最善の方法が見つからないようです。
Linode サーバーに在庫アプリを保存しています。このアプリは、さまざまな企業を処理します。各企業には独自のデータベースがあります。
すべての企業は、異なる場所に複数の店舗を持っています。すべての店舗が同じアプリを使用する必要があり、同時にデータを同期する必要があります。
データを複製する必要がありますが、すべてのストア/アプリが書き込み/読み取りと複製を同時に実行できる必要があります。問題は、彼らのほとんどが何時間もインターネットに接続できないことです。彼らは世界から完全に切り離されています(LANのみ)。
従来の MySQL レプリケーションは機能しません。動作を維持するにはインターネット接続が必要だからです。
私は何をしますか???
より高いレベルでデータを複製する独自のソフトウェア ソリューションを持つことは良い考えですか? はいの場合、私が従うべきベストプラクティスはありますか?
また、一部のクライアントがますます多くのストアを開き続けるため、ID 生成に mysql auto_increment ステップとオフセットを使用できません。ストアの一意の ID (STOREID-UNIQUEID) を前に付けて ID が衝突しないように、エンティティごとに独自の GUID を生成する必要がありますか?
redis - Redis マルチマスター構成でデータを同期する
私は Redis の初心者であり、Redis が適切なツールであるかどうかを理解するのに誰かが助けてくれるかどうか疑問に思っていました。これは私のシナリオです:
多くの異なるノードがあり、すべてがマスターのように動作し、クライアント接続を受け入れて、いくつかの地理的データ データと着信レコードのタイムスタンプを読み書きします。各マスターノードは、ネットワークの状態に応じて、ランダムにのみ通信し、他のノードと通信できるドローンにホストできます。これが発生した場合、年齢に応じてデータを同期する必要があります (指定された時間より新しいもののみ)。
Redis でこれを実現する方法はありますか? または、この機能をアプリケーション レベルで実装する必要がありますか? マスター/スレーブ構成を試してみましたが成功しませんでした。Redis クラスターが私のニーズをある程度満たすことができるかどうか疑問に思っていました。
私はグーグルで検索しましたが、私が見つけたものは私にとって良い答えではありませんでした
https://serverfault.com/questions/717406/redis-multi-master-replication
database - レプリケーション レベルをカスタマイズできるマルチ マスター データベースはありますか?
ユーザーがさまざまな大陸から話せるようにするには、マルチマスター データベースが必要です。各ユーザーは自分のデータを自分のローカル マスター データベースに書き込み、他の国/大陸の他のマスター データベースにデータをレプリケートします。問題は、すべてのユーザー データのすべてのコピーをすべてのデータ センターに保存できないことです。レプリケーション レベルを設定できるデータベース/ソリューションのようなものが必要です。
任意のノードから任意のデータを読み取る機能が必要ですが、データを複数のノードに保存する必要があります (すべてのノードではなく 3 つのノード)。
解決策はありますか?データベースとアプリケーションの間のプロキシか、賢いクラスターか? どんなアイデアやヒントも楽しいでしょう
database - OrientDB マスター ノードが最新の状態になったときに通知を受け取ることはできますか?
つまり、3 つのマスター ノードを持つマルチマスター クラスターがある場合、新しいマスター ノード (4 番目のノード) を追加した後、最新の状態になったときに何らかの方法で通知を受けるか、5 秒ごとに確認する必要があります。最新の場合。
実現することは可能ですか?
cluster-computing - すべての OrientDB マスター ノードに同じデータがありますか?
マスター ノードを OrientDB クラスターに動的に追加すると、すべてのマスター ノードの状態が更新されますか? つまり、何らかのデータを含む実行中のマスター ノードが既にある場合、このデータが新しいマスター ノードにレプリケートされることを確認できますか?
replication - OpenDJ マルチマスター レプリケーションが失敗する (登録情報の初期化ステップでハングする):: javax.naming.AuthenticationException
OpenDJ-2.4.6 と Oracle JDK 7.80 を使用しています。2 台のサーバーでマルチマスター レプリケーションを実行したいと考えています。これらのサーバーの OS は Amazon Linux です。
OpenDJ のセットアップは問題なく動作します。サーバーもエラーなしで起動できます。
次のように「 dsreplication」スクリプトを実行すると、次のようになります。
./dsreplication enable --host1 server1.example,com --port1 4444 --bindDN1 "cn=Directory Manager" --bindPassword1 "Passw0rd" --replicationPort1 1388 --host2 server2.example,com --port2 4444 --bindDN2 "cn=Directory Manager" --bindPassword2 "Passw0rd" --replicationPort2 1388 --adminUID admin --adminPassword "Passw0rd" --baseDN "dc=example,dc=com"
スクリプトは次のステップでハングします。
ログを確認すると、エラーは報告されていません。
しかし、次のコマンドを実行すると:
次のエラーがスローされます。
既存のサーバーの構成を読み取っているときに次のエラーが発生したため、表示された情報が完全ではない可能性があります: server2.example.com:4444 のエラー: サーバーへの接続中にエラーが発生しました。詳細: javax.naming.AuthenticationException: [LDAP: エラー コード 49 - 無効な資格情報] サーバーのエラー:4444: サーバーへの接続中にエラーが発生しました。詳細: javax.naming.AuthenticationException: [LDAP: エラー コード 49 - 無効な資格情報]
私を助けてください。
前もって感謝します。