大規模なウェブサイトのスケーラブルな技術アーキテクチャ設計、6サイトのサーバークラスタのスケーラブルなデータ・ストレージ・アーキテクチャ

データのためのスケーラブルなデータ・ストレージ・サーバ・クラスタ持続性可用性が高い要件を前方に置きます。

目的は、キャッシュデータは読み出し速度と負荷圧力データ・ストレージ・サーバを削減するため、データがデータベース・ストレージ・サーバーから取得することができますので、キャッシュの一部の損失は、通常のビジネスプロセスに影響を与えませんスピードアップすることです。

 

データ・ストレージ・サーバは、データを確認する必要があり信頼性のストレージを、いずれの場合にしなければならないデータの利用可能性及び精度を確保します

 

6.4.1リレーショナルデータベース設計の柔軟性クラスタ

スケーラビリティ設計されたリレーショナルデータベースクラスタは、データの正確性を確保するために、基本的なデータ複製リレーショナルデータベースに基づくことです。

複数のサーバは、MySQLのインスタンスを展開しますが、プライマリサーバ上のデータ書き込み動作からポイントの彼らの主な役割は、クラスタ内の他のサーバからのデータを同期するためのメインサーバが、このアーキテクチャの上に、データ読み出し動作サーバーからのデータ分析とオフライン操作。

 

データサブライブラリー:事業区分、異なるデータベース・クラスタ上で展開さまざまなビジネス・データ・テーブルに基づきます。このように、制約は、テーブルクロスデータベースを実行することはできませんが動作参加しています。

 

単一のテーブル・データ・テーブルの場合はまだ大きいですが、また、断片化の必要性、分割アップテーブルは、複数のデータベースに格納されています。

 

成熟した現在のリレーショナルデータベース製品は、主にオープンソースアメーバとコバーを含む分散データスライスをサポートします。以下に示すように、両方の製品は、コバー例えば、展開モデルに似たアーキテクチャを有します。

 

 図配備は、アプリケーションサーバとデータベースサーバとの間で(コバーの独立も一緒に展開LIB方法および用途に非展開サポート)に介在され、見ることができます。

別のMySQLクラスタ・データベース・インスタンス上で実行する分散ルールに従ってコバー、コバー分解SQLサーバおよびSQLサブライブラリを介してクラスタにアクセスするアプリケーションのJDBCドライバ(のMySQLの各インスタンスは、データの可用性を確保するために、構造から主に展開されています)。

 

次のようにシステムコンポーネント図コバーモデルは次のとおりです。

 

 実行はコバーの流れとは何ですか?SQLコバー後、コバーどのように対処するには?

 

どのようコバーストレッチをクラスタ化していますか?

Cobar的伸缩有两种:Cobar服务器集群的伸缩和MySQL服务器集群的伸缩。

 

Cobar服务器可以看作是无状态的应用服务器,其伸缩可以简单的使用负载均衡的手段实现。

 

MySQL中存储着数据,要想保证集群扩容后数据一致负载均衡,必须要做数据迁移,将集群中原来机器中的数据迁移到新添加的机器中。如下图所示:

 

 具体迁移哪些数据可以利用一致性hash算法,尽可能使需要迁移的数据量最少。

但是迁移数据需要遍历数据库中每条记录(的索引),重新进行路由计算确定其是否需要迁移,会对数据库访问造成一定压力。

 

实践中,Cobar利用了MySQL的数据同步功能进行数据迁移。数据迁移不是以数据为单位,而是以Schema为单位。

在Cobar集群初始化时,在每个MySQL实例创建多个Schema(根据业务远景规划未来集群规模,如集群最大规模为1000台数据库服务器,那么总的初始Schema数>=1000)。

集群扩容时,从每个服务器中迁移部分Schema到新的机器中,由于迁移以Schema为单位,迁移过程可以使用MySQL的同步机制,如下图所示:

 

おすすめ

転載: www.cnblogs.com/wozixiaoyao/p/11533073.html