まず、機能統合
1、それぞれがどのように機能しますか?
オフライン同期:他のオブジェクトに同期したデータストレージのクエリに応じとして理解SQL。
リアルタイムサブスクリプション:mysqlの-binlogの、カプセル化されたイベントメッセージキューに格納された変数データを解析し、リアルタイム、消費のためのユーザのサブスクリプション。
リアルタイム同期:いくつかの一般的な材料は今のクライアントをサブスクライブしているが、リアルタイムのニュースの消費量は、変更がターゲットストレージ上のデータに適用されます。
2、どのように一つのプラットフォームアーキテクチャの下に3つの機能を統合するには?
オフライン同期、リアルタイムのサブスクリプション、リアルタイム同期は3つの操作、すなわちBatchJob、StreamJob、PieJobに抽象的な3を必要とします。
私。BatchJob Sqoop参照モデル、データは、指定されたルールに従って、フラグメント化に同期し、ジョブスライスに応じて複数のタスクに分割し、各同期サブタスクのみスライスデータされ、複数のタスクとすることができます同期効率をスピードアップするために、実行します。
II。基づいBatchJobモードでは、StreamJobはまた、例えばに従って分類することができるが、各タスクは、バイナリログのMySQLののコレクションを解析する責任があるタスクのMySQLの複数の収集、及び消費のためのローカル加入者に格納されたイベントカプセル化されたメッセージを解析します;
III。PieJobは、クライアントのサブスクリプションパッケージで、各クライアントはタスクとして登録することができます。
三つの異なるジョブが最終的に統一されたモデルを使用して、スライスを介して実行する複数のタスクに分割することができます。
第二に、タスクの詳細
タスクは、それぞれの具体的な実装の詳細の仕事のための内部断片化した後に発生しました
1、Btchtsk
キャッシュ層としてデータ、データを書き込むための責任シンカー、ストレージを取るための責任フェッ。
2、StreamTask
ビンログを引っ張っする責任RelayLogTask、解析を担当しHHLTask BINLOG、および解析されたイベントデータパッケージを変更するには、メッセージ本体を使用して簡単に、そして最終的にHHLに保存されています。
HHLはカフカを描く達成、それはメッセージキューの簡易版として見ることができます。順次圧縮されたファイルを書き込み、シリアル化されたメッセージを使用してくださいいるProtobuf。インデックスブロック指定したサイズを提供しながら。
以下に詳細にStreamTask内のクライアントを扱うClientServer上のサブスクリプション要求を提供します:
特定のサイトへの加入要求を受信すると速やかに指定されたフィルタ、クライアントへの最終的なプッシュを介して濾過した後、サイトのすべてのメッセージを位置決めメッセージに対応するデータブロックをスキャンし、その後、インデックスによってデータブロックを対応する見つけます。
ニュースサーバに購読クライアント自身によって、クライアントのサイトに保存されていない顧客のサブスクリプションのステータスを維持しません。サーバーは、常にユーザーにプッシュ指定されたサイトの後にメッセージのための唯一の責任です。
3、PieTask
PieTaskは、実際にクライアントのパッケージが、これは主に、クライアントの実装を紹介しています。
並行処理を使用してクライアント・モード、メッセージを受信するための責任のコネクタは、異なるプロセッサ(スレッド)処理にメッセージを配信するための責任paritioner。
クライアントは、現在処理されている自分のサイトを記録する必要がありますが、同時実行のシナリオで録音されたメッセージが正しく処理された前にサイトを保護する必要があるため。提出環状アレイの使用をブロックするスレッド間を減少させるために(サイトを記録します)。
第三に、クラスター
以下に示すように、マスタースレーブ構成の使用:
マスターの女王と呼ぶ。ここ蜂のように奴隷。
断片化されたジョブスケジューリングの責任クイーン、特定のタスク(ジョブから取得したタスク断片)を行うためのビー責任。
1、高可用性
i.Mysql:MySQLのDBAの利用可能性によって維持されますが、メインスイッチをすることによって、時間の新しいインスタンス上のホストから切り替えられた後、対応するマスター・サイトから切り替えた後、MySQLはSERVERIDの対応するビットを検索することによって見つかった変更を監視するために、ここで、異なるものになりますポイント;
ii.Queen:アクティブおよびスイッチングはスタンバイ飼育係によって達成されます
iii.Bee:女王はすべてのタスクが別のホストマシン上で実行した後にダウン切り替わります
2、データの局所性
それぞれが独自のビーキャビネット、ラック、コンピュータ室、グループ情報を持っています。あなたの好みのジョブの実行を指定することができ、タスクは、指定されたマシングループに優先順位を割り当てられます。
3、ロード・バランシング
実行時のビーは、タスクスケジューリングを必要とするとき、女王の優先度のタスクが低負荷ホストに配布される、その負荷のハートビートを報告し、ローカルデータの前提の下で会います。
オリジナルを読みます: