ホームページ  >  記事  >  データベース  >  mysqlルーターはどうですか

mysqlルーターはどうですか

(*-*)浩
(*-*)浩オリジナル
2019-05-25 16:17:272861ブラウズ

MySQL Router は、MySQL Proxy の代わりに使用されます。MySQL Router とアプリケーションを同じマシンにデプロイすることをお勧めします。アプリケーションは MySQL と同じように MySQL Proxy にアクセスし、MySQL Proxy はデータをバックエンド MySQL に転送します。さまざまなオペレーティング システムをサポートします。

mysqlルーターはどうですか

#作業モード

読み取り/書き込み

はマルチマスターサーバーに使用され、私の個人的な感覚では、アクティブとスタンバイに使用でき、スプリット ブレイン問題を回避するためにマルチマスターにも使用できますが、実際にはマルチマスターの 1 つだけがアクティブです。さらに、MySQL のマスター/スレーブおよびマルチマスター レプリケーションは復元が面倒で、手動操作が必要です。対照的に、MySQL グループ レプリケーションは、よりシンプルなクラスター自動メンテナンス ソリューションを提供します。

すべてのリクエストは最初のサーバーに送信され、後続の 2 番目のサーバーは最初のサーバーがダウンした後にのみ使用されます。

ダウンしたサーバーの回復検出はサポートされていません。

次の 2 つの状況では使用できません。

スレーブが最初にダウンし、その後回復し、マスターが再びダウンします。 マシン

マスターが最初にクラッシュし、その後回復し、スレーブが再びクラッシュします。

[routing:example_strategy]
bind_port = 7001
destinations = master1.example.com,master2.example.com,master3.example.com
mode = read-writ

読み取り専用

は、次の目的で使用されます。スレーブサーバークラスターのルーティング。

各リクエストはポーリング方式ですべてのサーバーにアクセスします。 1 つのサーバーがダウンすると、次のサーバーが試行されます。すべてのサーバーがダウンすると、ルーティングは終了します。再度利用可能になったサーバーは、元の順序で利用可能なリストに再度追加されます。

[routing:ro_route]
bind_port = 7002
destinations = slave1.example.com,slave2.example.com,slave3.example.com
mode = read-only

スタートアップ

mysqlrouter --config=/path/to/file/my_router.ini
データベース接続の maxStatements=0 を設定する必要があります。そうでない場合、ホスト マシンがダウンすると、接続プールはスタンバイ マシン上で対応するステートメントを見つけることができず、エラーが報告されます。

パフォーマンス

は MySQL Proxy よりもはるかに高く、MySQL への直接接続と比較してパフォーマンスの損失は非常にわずかです。

以上がmysqlルーターはどうですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。