MyCATとは
MyCATの主な機能
1. ここでは、MySQL マスター スレーブ レプリケーションの実装に基づいて、読み取りと書き込みの分離に mycat を使用します。アーキテクチャ図は次のとおりです。 2. デモ 2.1 MySQLマスターにデータベースを作成する db1を作成する 2.2 データベースdb1にstudentテーブルを作成する 同時に、MySQLマスタースレーブレプリケーションが設定されているため、MySQLスレーブにも同じデータベースとテーブルが存在します。 2.3 mycat設定ファイルserver.xmlを編集する <!-- mycat のログインユーザー名を示します --> <ユーザー名="テスト"> <!-- mycat のログイン パスワードを示します --> <property name="password">テスト</property> <!-- カスタマイズ可能な mycat の論理データベース名を示します --> <property name="schemas">TESTDB</property> </ユーザー> <ユーザー名="ユーザー"> <property name="password">ユーザー</property> <property name="schemas">TESTDB</property> <プロパティ名="readOnly">true</プロパティ> </ユーザー> 2.4 mycat設定ファイルschema.xmlを編集する <!--TESTDB は、mycat の論理データベース名を表します。スキーマ ノードに子ノード テーブルがない場合は、dataNode 属性が存在する必要があります (実際の mysql データベースを指します)。 --> <スキーマ名="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </スキーマ> <!--マスターデータベース db1 を指定します--> <データノード名="dn1" データホスト="192.168.0.4" データベース="db1" /> <!-- マスター IP を指定します --> <dataHost name="192.168.0.4" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!--MySQL のハートビート ステータスを示します--> <heartbeat>ユーザーを選択()</heartbeat> <!-- マスターが書き込みを担当します --> <writeHost ホスト="hostM1" url="192.168.0.4:3306" ユーザー="root" パスワード="admin"> <!--スレーブは読み取りを担当します--> <readHost ホスト="hostS2" url="192.168.0.5:3306" ユーザー="root" パスワード="admin" /> </writeHost> </データホスト> この時点で、mycatを使用して読み書きを分離する設定が完了しました。 dataHostノードの次の3つのプロパティに注意してください バランス、スイッチタイプ、書き込みタイプ balance="0" の場合、読み取り/書き込み分離メカニズムは有効にならず、すべての読み取り操作は現在利用可能な writeHost に送信されます。 balance="1" の場合、すべての readHost とスタンバイ writeHost が SELECT ステートメントの負荷分散に参加します。簡単に言うと、デュアル マスターおよびデュアル スレーブ モード (M1->S1、M2->S2、および M1 と M2 が相互にマスターとスレーブ) の場合、通常の状況では、M2、S1、および S2 はすべて SELECT ステートメントの負荷分散に参加します。 balance="2" の場合、すべての読み取り操作は writeHost と readhost にランダムに分散されます。 balance="3" の場合、すべての読み取り要求は writeHost の下の readhost にランダムに分散されて実行され、writeHost は読み取りの負荷を負いません。 writeTypeは書き込みモードを示します writeType="0"、すべての操作は最初に構成された writehost に送信されます writeType="1"、設定されたすべての書き込みホストにランダムに送信します writeType="2"、書き込み操作は実行されません switchType はスイッチング モードを指し、現在可能な値は 4 つあります。 switchType='-1'は自動切り替えなしを意味します switchType='1' デフォルト値、自動切り替えを示す switchType='2'は、MySQLのマスタースレーブ同期のステータスに基づいて切り替えるかどうかを決定します。ハートビートステートメントは、スレーブステータスを表示します。 switchType='3' は、MySQL galary cluster (クラスターに適しています) (1.4.1) の切り替えメカニズムに基づいており、ハートビート ステートメントは 'wsrep%' のようなステータスを表示します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: LinuxベースのLVMシームレスディスク水平拡張の詳細な説明
1. 構成デフォルトでは、最初の 2 つはチェックされていないので、チェックする必要があります。 (...
<br />解決手順は次のとおりです。スタート -> 実行 -> reged...
<br />著者はかつてWebデザインの初心者でしたが、継続的な探求と実践を通じて、今で...
私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...
序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...
序文以前のプロジェクトでは、SQL の CASE WHEN ソート関数が使用されました。ではブログメ...
1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...
目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...
サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...
目次1. オブジェクトリテラル2. newキーワードはオブジェクトを作成する3. Object.cr...
シンプルなシームレススクロールカルーセルには多くの抜け穴があり、後から画像を追加するのは非常に不便で...
異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....
機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...
ReactRouterの実装ReactRouterはReactのコアコンポーネントです。主にReac...
この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...