問題タブ [master-slave]
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.
mysql - mysqlスレーブデータベースの問題
現在、3つのスレーブデータベースがあります。
ただし、ほとんどの場合、そのうちの1つは他のデータベースよりも非常に低速です(マスターデータベースから1時間後になる可能性があります)
誰かが同様の問題に遭遇しましたか?原因は何でしょうか?
php - What's the best way to create a master-slave configuration for a web app?
I'm creating a server management interface for a few of my servers (which host virtual servers) and I wanted to know the best way to implement a master-slave configuration for said interface.
The master server should connect to all the slave servers in order to retrieve information (provide a high level overview) and send them commands (keeps management centralized). However, the master server itself may also have virtual servers on it, which is why I was planning to deploy the same application across all the physical nodes and figure out whether the node is a master or a slave.
//Side Note: almost seems like recursion in a way haha
A few ideas I had in mind:
- Separate database schemas for a master and a slave, the app checks the schema to determine the server type.
- A field in the server listing table that designates a server in the table as a master or slave
mysql - 選択/挿入がMySQLマスター/スレーブで正しいサーバーにヒットしていることを検証する方法
master_slave_adapter プラグイン ( http://github.com/mauricio/master_slave_adapter/tree/master ) を使用して、すべての選択をスレーブに送信し、他のすべてのステートメントをマスターに送信する Rails アプリを用意しました。レプリケーションは、Mysql マスター/スレーブを使用してセットアップされます。私は、すべての SQL ステートメントが実際に正しい場所に移動していることを検証しようとしています。スレーブ (db2) に選択し、マスター (db1) に挿入しますが、その方法がわかりません。Webサーバーでtcpdumpを使用してみました:
これは、大量の選択を伴うページ要求の出力です。
すべての選択がスレーブに送られているようには見えません。多分これはテストする正しい方法ではないでしょう、誰かがより良い方法を知っていますか?
ruby-on-rails - Ruby On Rails マスター/スレーブ Postrgres データベース
現在、マスター スレーブ バックエンドが必要な Ruby on Rails を使用してマスター スレーブ アプリをセットアップしています。私は現在、レプリケーション コンポーネントにSlonyを使用し、さまざまな DB への読み取り/書き込み接続を処理するためにMasochismを使用することを検討しています。
Ruby on Rails でマスター/スレーブ DB をセットアップするのはこれが初めてで、これらは私がよく目にする 2 つのオプションです。過去にこの状況でより良いプラグインを使用したことがありますか? Slony のスレーブ数の制限はこの状況では問題ではありません。現実的には 1 つか 2 つしか必要ないはずです。
ありがとう!
mysql - スレーブからmysqldumpを実行するときにマスターのMysqlバイナリログ位置を書き込む方法は?
私は現在、データベースをバックアップするためにMysqlスレーブでmysqldumpを実行しています。これはデータ自体のバックアップには問題なく機能しましたが、補足したいのは、mysqldumpによって生成されたデータに対応するマスターのバイナリログ位置です。
これを行うと、マスターのバイナリログ位置を取得するメインデータベースで個別のmysqldumpを実行しなくても、スレーブを復元(または新しいスレーブをセットアップ)できます。mysqldumpによって生成されたデータを取得し、それを生成したバイナリログ情報と組み合わせるだけで、出来上がり...再同期されます。
これまでのところ、私の研究により、この目標を達成できるようになりましたが、それを実現するための自動化された方法を理解できないようです。これが私が発見した「ほぼ」です:
- メインデータベースからmysqldumpを実行している場合は、mysqldumpで「--master-data」パラメーターを使用して、ダンプデータとともにマスターのバイナリ位置をログに記録できます(これは、私たちの奴隷ですが、それは私たちが達成したいことにはやり過ぎのようです)
- 自動化されていない方法でこれを実行したい場合は、スレーブのデータベースにログインして「STOPSLAVESQL_THREAD;」を実行できます。続いて「SHOWSLAVESTATUS;」(http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html)。しかし、軟膏から何かをバックアップしたいことが事前にわかっていない限り、これは私たちに何の役にも立ちません。
- 年間500ドルを吹き飛ばす場合は、InnoDbホットバックアッププラグインを使用して、メインDBからmysqldumpを実行するだけで済みます。しかし、私たちにはそのお金がなく、とにかくメインDBに余分なI/Oを追加したくありません。
これは、誰かが以前に理解していたはずの十分に一般的なことのように思えます。うまくいけば、誰かがStack Overflowを使用していますか?
ruby-on-rails - multi_db gem で古いカウントを与える ActiveRecord counter_cache
Rails アプリの PostgreSQL で Slony-I レプリケーションを使用して multi-db gem を使用しています。これはほとんど完全に機能しますが、場合によってはレプリケーションの遅延が少し発生します。ケースの 1 つは、ActiveRecord の counter_cache に関係します。
わかりやすくするために、次の 2 つのモデルを想定します。
コメントの作成後、rjs が呼び出され、コメント数が次のように更新されます。
multi-db をオフ (またはマスター データベースを指すスレーブ データベースのエントリ) にすると、これは正常に機能します。だから、私はこのようなことを試しました:
これはまだ古い結果をもたらします。設定と同様に:
への呼び出しが機能しwith_master
ていないようです。multi-db が使用しているデータベースを特定する方法について何かアドバイスはありますか? または、代わりに、そのような問題に対処する方法について?
php - ZendFrameworkアプリケーション層のマスター/スレーブスイッチ
アプリケーション層内でマスター/スレーブスイッチを実行する必要があるアプリケーションを作成しています。現在のように、マッパーの作成時にZend_Db_Tableオブジェクトをインスタンス化し、次にsetDefaultAdapterをスレーブに設定します。
これで、ベースマッパークラス内に、次のメソッドがあります。
これについては健全性チェックが必要です。オーバーヘッドはそれほど多くないと思います。もっと良い方法があるに違いないと思います。
activemq - フェイルオーバーでスレーブがアクティブになったときにのみ、スレーブ ActiveMQ で Camel ルートを開始する方法は?
埋め込み Camel ルーティングで、リモート JMS キューへの耐久性のあるコンシューマーがあります。マスター/スレーブ構成でこの種のルーティングを行うことは可能ですか? 現在、Camel ルートは、実際のフェイルオーバーが発生したときではなく、スレーブ ActiveMQ が開始されたときにすでに開始およびアクティブ化されているようです。
これにより、スレーブ インスタンスは、マスターにも送信される同じメッセージを受信するようになり、これにより、フェイルオーバー時に重複したメッセージがキューに到着します。
ActiveMQ 5.3 と Apache Camel 2.1 を使用しています。
java-me - Java me:開いているスレーブ接続から接続されたデバイスのBluetoothアドレスを取得できますか?
発生するイベントの典型的なシーケンスは次のとおりです。
- ホストデバイスはサービスを開きます(ホストデバイスはすべての着信接続を受け入れて開きます)
- リモートデバイスがホストデバイスに接続します。
- これで、ホストデバイスでスレーブ接続が開かれました。
ホストデバイスで、リモートデバイスのBluetoothアドレスを知りたい。
リモートからホストデバイスにいつでもデータとして渡すことができますが、データ転送なしで接続オブジェクトから何らかの方法で抽出できますか?
前もって感謝します...