アントファイナンシャルの「テクニカルミドルプラットフォーム」: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 つの機械学習スキル

推薦する

backupsy-KVM ベースのバックアップ VPS-500G ハードディスク-月額 7 ドル/G ポート

backupsy、それに関する情報は見つかりませんでしたので... VPSについてお話ししましょう。...

SEO担当者はタオバオSEOの頻繁な再編にどう対処すべきか

CPSを行うことでウェブマスターが利益を上げる良い方法だと言えます。ポップアップ広告やクリック広告と...

cloudiplc: 泉州 CN2、HK/TW/JP/SG およびその他の ntt、pccw リンクに直接接続

cloudiplcが提供するKVMシリーズVPSは、福建省泉州のデータセンターで利用可能です。CN2...

ウェブサイトの重みの効果的な集約の成功と偶然ではない最適化

体重は、ウェブマスターにとって愛するものでもあり、嫌うものでもあります。体重が急激に増えたときは喜ば...

別のアプローチ:Baiduの最適化の度合いを調べる

私が初めて SEO 業界に入ったとき、「コンテンツは王様、外部リンクは女王様」というよく知られた言葉...

価値を理解し、潜在能力を引き出す: Lenovo が超高性能の SAP HANA オールインワンの新世代を発表

企業は、インテリジェントなデータ管理の将来のニーズにどのように対応すべきでしょうか?最近、Lenov...

Baidu K-station後のトラフィック回復方法と戦略

1. 観察:長期にわたる観察から、百度に追い出されたサイトの多くは法を遵守した合法的なウェブサイトで...

微調整変換を有効活用する

編集者から最適化担当者に異動して以来、前上司の計画に沿ってウェブサイトの最適化を進めてきました。しか...

クラウド コンピューティング クイック スタート ガイド

この記事では、クラウド コンピューティングの概念、アーキテクチャ、展開、市場について簡単に紹介します...

マイクロソフトのXbox Oneが9月に中国で発売される

ロイター通信によると、4月30日、マイクロソフトとBesTVは、Xbox Oneが9月に正式に中国に...

iPhoneでGmailを安全に使用する方法

Gmail は多くの中国ユーザーにとって手放しにくいサービスです。Gmail サービスはブロックされ...

誰がWeiboを救えるのか?

この記事の核となる考え方1. 会員制と広告以外に、 Weibo には現在、成長を支える収益化手段があ...

百度のザクロアルゴリズムに直面したとき、私たちは何に注意すべきか

2013年5月17日午後、百度のウェブ検索不正対策チームは百度ウェブマスタープラットフォームで、1週...

同盟とウェブマスター間の対立の分析

最近、アライアンスプロジェクトを担当しており、多くのウェブマスターと接してきました。私はかつてウェブ...