アントファイナンシャルの「テクニカルミドルプラットフォーム」:1億レベル分散システムアーキテクチャの実践

アントファイナンシャルの「テクニカルミドルプラットフォーム」:1億レベル分散システムアーキテクチャの実践

1.分散アーキテクチャ利点と概念

01伝統的なモノリシック建築の特徴

(画像出典: Alibaba Cloud Summit)

通常、スタートアップ プロジェクトはモノリシック アーキテクチャから始まります。

利点は、開発、テスト、デプロイが高速かつ簡単で、WAR パッケージを本番環境に送信するだけで済むことです。

すべてのモジュールが 1 つのパッケージに含まれているため、コンパイルが遅くなり、起動が遅くなり、コードの競合が発生し、コードがマージされるたびに悪夢のような状況になるため、欠点も明らかです。リリース成功率はどうですか?すべては運次第です。

02マイクロサービスアーキテクチャとモノリシックアーキテクチャ

(画像出典: Alibaba Cloud Summit)

複雑さが比較的小さい場合、モノリシック アプリケーションの生産効率は高くなります。複雑さが一定の規模に達すると、モノリシック アプリケーションの生産効率は急激に低下し始めます。現時点では、サービスに分割する方がコスト効率が良いです。

マイクロサービス アーキテクチャが広く認知されている理由は、予測不可能なビジネスの変動性により、継続的に進化し、ビジネスの変化に迅速に適応できるためです。

03モジュール開発

(画像出典: Alibaba Cloud Summit)

マイクロサービス アーキテクチャは、トップレベルのビジネス設計から始まり、ビジネス ラインに応じてモジュールを分割し、プレゼンテーション層、ロジック層、データ層から単一のアプリケーションを独立して分離します。多くの企業が、モノリシック アプリケーションをサービス指向アプリケーションに分割するプロセスを経験しています。ここでは、ビジネスの継続性とデータの整合性に注意を払う必要があります。

04マイクロサービスアーキテクチャの負荷分散の利点

(画像出典: Alibaba Cloud Summit)

これまで、LVS と F5 は、主に電流制限、負荷、セキュリティなどを提供する、アクセス レイヤーでの負荷分散サービスとしてよく使用されていました。

マイクロサービス アーキテクチャでは、ゲートウェイはアクセス レイヤーとして機能し、軽量の負荷分散、プロトコル変換、認証などのサービスを提供します。マイクロサービスには通常、サービス ガバナンス、サービス登録、サービス検出、分離などを提供する DUBBO などのサービス ガバナンス フレームワークがあります。

05データアクセスボトルネックの解決 - データベースの垂直分割

(画像出典: Alibaba Cloud Summit)

分散アーキテクチャはデータ アクセスのボトルネックをどのように解決するのでしょうか? 1 つ目は、データベースの垂直分割です。たとえば、ユーザー、トランザクション、アカウントを独立したデータベースに分割して、データの保存とアクセスの負担を軽減できます。もちろん、プライマリ データベースとバックアップ データベースを使用して、読み取りと書き込みを分離することもできます。

06データアクセスボトルネックの解決 - データベースの水平分割

(画像出典: Alibaba Cloud Summit)

次に、データベースの水平セグメンテーションを実行します。たとえば、トランザクション データベースとデータ テーブルにデータが多すぎる場合は、トランザクション時間に応じてテーブルまたはデータベースを分割できます。分割テーブル数の計算方法は上図の通りです。

テーブルとデータベースを分割すると、データ アクセスとストレージの問題は解決されますが、複数のテーブルとデータベースにまたがる複雑なクエリ シナリオなど、データ クエリに多くの問題が発生する可能性があります。解決策は多数ありますが、通常は、複雑なクエリに ES を使用し、ID でフィルタリングしてからデータベースからデータを取得する (つまり、複雑なクエリを複数のクエリに分割する)、またはデータベースとテーブルを細かく分割せずに、以下で説明する OceanBase などの分散型大規模データベース ソリューションを使用する、といった方法があります。

2. 分散アーキテクチャの実践例 - 分散TAシステム

07従来のTAシステムアーキテクチャ

(画像出典: Alibaba Cloud Summit)

従来の TA システム アーキテクチャでは、シリアル クリアリングの効率が低く、マシンを追加してもパフォーマンスを線形に拡張できません。通常は大規模なトランザクションを使用し、問題が発生した場合はすべてのトランザクションをロールバックします。

08分散TAシステムアーキテクチャ

(画像出典: Alibaba Cloud Summit)

分散型 TA システム アーキテクチャは、より合理的で複雑な構造を備えています。アクセス層、ビジネス サービス層、SOFAStack 層、LAAS、運用保守ツール チェーン、ガバナンス制御に分かれています。

アクセス層: プロトコル変換、アクセス制御、ファイル転送、運用保守ワークベンチが含まれます。

ビジネス サービス レイヤー: つまり、アカウント、トランザクション、請求書、決済などのコア ビジネス ロジック サービスです。

SOFAStack: マイクロサービス フレームワーク、分散トランザクション、タスク スケジューリング、メッセージ キュー、データ エージェント、リンク トラッキングなど、Ant Financial の共通サービス コンポーネントの多くはオープン ソースです。

分散 TA システムによって克服する必要がある技術的な課題。分散清算タスクを効率的に実装するにはどうすればよいでしょうか?分散環境では、アプリケーション処理エラーが発生する可能性が高まります。タスクのクリアの正確性をどのように保証できますか?この問題を解決する方法について話し合いましょう。

09分散タスクスケジューリングプラットフォーム

(画像出典: Alibaba Cloud Summit)

以下をサポートする分散タスク スケジューリング プラットフォーム:

シャーディングをカスタマイズして、クラスター コンピューティング機能を効率的に活用します。

実行中にタスクを一時停止/再開したり、強制的にキャンセルしたりできます。

タスク失敗再試行メカニズムにより、コンピューティング タスク全体の成功が保証されます。

10タスクスケジュールのクリア

(画像出典: Alibaba Cloud Summit)

タスクのスケジュールをクリアするために、アーキテクチャ全体は次のように分割されます: 1) タスクの分割、つまりトランザクション ドキュメントを申請し、特定のロジックに従ってデータ シャーディングを実行します。 2) タスクを実行し、処理されたデータをフローリザーバーに保存する。 3) 取引、決済、経理、会計等のコアサービス

11.清算のためのフォールトトレランスと検証メカニズム

(画像出典: Alibaba Cloud Summit)

清算のフォールト トレランスおよび検証メカニズムには、毎日の初期化、ファイルのインポート、清算処理、利益計算、シェア調整、清算エクスポート、二次清算、利益エクスポートが含まれます。

すべてのステップを修正してやり直すことができます。

ジョブのロールバックは、ファイル、ユーザー、またはバックアップ ポイントごとに実行できます。

メリットとしては、あらゆるプロセスをロールバックしてトランザクションごとに正確にチェックできること、ミドルオフィスユーザーによるロールバックをサポートしているため決済時間が短縮されることです。

3. 分散アーキテクチャにおけるシステムの信頼性と安定性を確保する方法

12グレースケールリリースメカニズム

(画像出典: Alibaba Cloud Summit)

グレースケールリリースメカニズム、プロセスには、ベータリリース、グループリリース、グレースケール転換、および完全リリースが含まれます。

グレースケールクリアリングでは、ユーザーディメンションごとにシャードを柔軟に抽出し、グレースケール時間を短縮できます。

13オンラインフルリンクストレステスト

(画像出典: Alibaba Cloud Summit)

オンライン フルリンク ストレス テストでは、データ アクセス エージェントを介してストレス テスト データがオンライン シャドウ テーブルに入力され、通常のビジネス データには影響しません。フルリンクストレステストの特徴は次のとおりです。

1. ストレス テスト環境では本番環境が再利用されるため、オフラインよりも結果の信頼性が高くなります。

2. ストレス テスト データはマークして実稼働環境に入力することができず、テーブル レベルで分離されます。

14 OceanBase 高可用性メカニズム

(画像出典: Alibaba Cloud Summit)

OceanBase 高可用性メカニズム、Paxos プロトコルに基づく典型的な 3 つのレプリカの展開:

1) 強力なデータ一貫性

2) 継続的な可用性

3) マスターとスタンバイの自動切り替え。

4) 単一のマシン、コンピュータ室、都市レベルの障害: サービスの中断やデータの損失はありません。

OceanBase 分散データベース ソリューションは、商用データベースのマスター スレーブ データベース ソリューションよりも優れており、主に分散データベース、書き込みトランザクションがデータベースの半分以上に到達、データベースの異常がいくつか発生しても業務に影響しない、2 つの場所と 3 つのセンターによるマルチアクティブ、およびグレースケール アップグレードに反映されています。

15 OceanBase 共通展開スキーム

(画像出典: Alibaba Cloud Summit)

OceanBase の導入ソリューションには以下が含まれます。

同じ市内に 3 つのデータセンター、同じ市内に複数のコアデータセンター、30 キロメートル以内、遅延は約 0.5 ~ 2 ミリ秒。

通常の状況では、 2 つの場所にある 3 つのセンターの遅延は、同じ都市にある 3 つのセンターの遅延と一致します。ある都市の ObServer に障害が発生すると、同期の遅延が増加します。

16市内アクティブ・アクティブ災害復旧アーキテクチャ

(画像出典: Alibaba Cloud Summit)

同市内の災害復旧のためのアクティブ-アクティブ アーキテクチャは、主に日常的なトランザクションを処理するメイン コンピュータ ルームをベースとし、少量のトランザクションはバックアップ コンピュータ ルームで実行されます。建築上の特徴は次のとおりです。

1) 横断的な損失を避けるために同じ機械室を優先する

2) アプリケーションへの侵入なし

3) 単一のコンピュータルームのようにアプリケーションを開発および展開する

4) 自動災害復旧スイッチ

<<:  シャーディングのための 9 つの分散主キー ID 生成ソリューション

>>:  クラウド コンピューティングに必要な 5 つの機械学習スキル

推薦する

Tujia.com: 家事代行サービスの巨大ビジネス: 中国の HomeAway

この会社は中国の「ホームアウェイ」になることを目指しており、Ctrip を巧みに利用しています。成功...

Takewyn: ウクライナの 1Gbps 専用サーバーが月額 15 ドルから

ウクライナのホスティング会社 takewyn (2009 年に設立され、ドニエプル川に独自のデータ ...

Weibo を活用して強力なマーケティング効果を生み出す方法について簡単に説明します

みなさんこんにちは。私は顧旭です。最近、QQグループ、フォーラム、その他のコミュニケーションプラット...

清華紫光クラウドRPAロボット:人間と機械のコラボレーションの時代を切り開き、SaaS+アプリケーションを推進

床を掃いたり、箱を動かしたり、ダンスやパルクールをしたりと、あらゆる種類のかっこいいロボットが人々の...

Weiboマーケティングとは何ですか?特徴は何ですか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス新しいメディアの急速な発...

「ファンを求める」から「いいねを求める」へ: いいねの背後にあるインターネット マーケティングの考え方の変化

親指を立てるまで、友達がどれだけ素晴らしいかはわかりません。WeChatモーメントで毎日どれだけの「...

観光地がWeiboマーケティングで成功するための3つの戦略

ターゲット顧客が集まる場所が私たちのマーケットです。現在、Weiboのユーザーは5億人を超えています...

ソフト記事マーケティングの実現可能性について

私たちが生きている時代は、情報が豊富で双方向のコミュニケーションが可能な時代です。さまざまな情報チャ...

hostvdsはどうですか?米国シリコンバレーデータセンターの評価

hostvdsはどうですか? Hostvds は、米国西海岸のシリコンバレー、サンノゼに独自のデータ...

ニッチブランド向けの新しいメディアマーケティングを行うにはどうすればよいでしょうか?

あなたが PPT を書いている間に、アラスカではタラが水から飛び出しています。あなたがレポートを読ん...

魏無慧:どのようなコミュニティが失敗しやすいのでしょうか?

私は厦門での会議で Keso と出会い、彼に質問しました。「コミュニティのスタイルは運営者によって決...

Qlik: アクティブインテリジェンスで次世代の BI をリード

多くの企業がデータの重要性を認識し、データ処理と分析への投資を増やしていますが、ほとんどの企業が達成...

マーケティングボリュームを倍増させる核心点を見つける

これから営業を準備している、または現在営業をしている友人の皆さん、今日のトピックに皆さんはきっととて...

Web ページ構造化の目的は、Web ページの 5 つの基本属性を抽出することです。

検索エンジンの動作原理を学ぶ際には、Web ページ構造化の概念を理解した後、Web ページが構造化さ...