高性能、高可用性の分散アーキテクチャシステム

高性能、高可用性の分散アーキテクチャシステム

2Bエンタープライズサービス、クラウドコンピューティング、モバイルインターネット、プロフェッショナルクラウドプラットフォームサービスの分野では、分散技術はプラットフォームの正常な動作をサポートする重要な技術です。商業利益や運用保守コストの観点から、サーバ性能を極限まで引き出すことは、Webサイトの商業価値に大きく影響します。そのため、分散アーキテクチャシステムでは、性能の追求が極めて重要な検討事項となっています。また、ユーザ視点、特に主な収入源である法人ユーザ視点では、業務処理の正確性とサービスの中断のなさ(高可用性)の確保が、ユーザの信頼を支える重要な源泉となります。高性能、高可用性、正確性は、分散アーキテクチャ システムにおける重要な技術的要素となっています。

ウェブサイト製品のアーキテクチャシステムについては、オープンソースまたは独自の研究開発を選択できます。オープンソースを採用すると、最初の開発サイクルが約 1/3 短縮される可能性がありますが、支払う代償は、これらのオープンソースソリューションを徹底的に理解して独自の目的に使用し、必要に応じてソースコードを変更することです。この背後にあるコストを見積もることは困難です。また、選択したオープンソースソリューションが将来的に特定の機能を満たしていないことが判明した場合、最初からやり直さなければならないというリスクもあります。独自に開発すると、プロジェクトの開発サイクルがそれに応じて延長され、車輪の再発明の疑いがあるようです。オープンソースツールとしては、Zookeeper、Solr、Openfire、Redis(これを基盤に開発された分散型NOSQLデータベースクラスタ)、Nginx、Haproxy、Keepalived、MySQL(これを基盤に開発されたShardDB)などが重要であり、独自に開発された分散型ミドルウェアとしては、分散ファイルシステム(Cloudfs)、分散型インスタントメッセージング(CloudIm)、分散型メッセージキュー(CloudMQ)、分散型タスクスケジューリング(CloudJob)、分散型検索プラットフォーム(CloudIndex)、分散型NOSQLデータベースクラスタ(CloudRedis)などが挙げられます。

分散ファイルシステム(Cloudfs):HDFS、TFS、Gridfs(Mongodb)、FastDFS に関する繰り返しの研究に基づいて開発された分散ファイルシステムです。ストレージ アーキテクチャは FastDFS に似ており、データ ノード (Node)、データ グループ (Group)、パーティション (Region) の 3 つのレベルが含まれます。データ ノード (Node) は最終的な物理ストレージ ノードであり、同じデータ グループ (Group) の異なるノードはリアルタイムのデータ同期を実行します。つまり、同じグループ内のノード データは最終的に一貫性が保たれます。同じパーティション (Region) 内のファイルは自動的に重複排除されます。つまり、同じコンテンツを持つファイルは、同じパーティション (Region) 内に 1 つのコピーのみを持ちます。 Cloudfs は、メッセージ キュー (CloudMQ) を使用して、同じグループ内のノード間でデータ シーケンスを同期し、最終的な一貫性を保証します。これは、FastDFS の binlog 双方向同期に最も似ています。 Cloudfs は、Zookeeper を使用してストレージ ノードのステータスのメンテナンスと変更を監視し、CloudRedis を使用してファイル インデックス情報を保存し、Nginx をファイル ダウンロード サーバーとして使用します。パフォーマンスは優れています。単一サーバーのオンライン監視から得られたデータによると、ファイルアップロードの IOPS は 1200 に達し、アップロード速度は 25MBps に達し、ファイルコピーの TPS は 9000 以上に達し、ファイルの作成と削除の TPS は 30000 以上に達します。ストレージノードの動的な追加と終了、オンラインでの容量拡張、複数のデータバックアップ、ノードの動的な負荷分散をサポートします。サポート可能な理論上の最大ファイル数は 1,000 億以上、サポートされるノード数は 3,000 以上です。

分散インスタント メッセージング (CloudIm): プッシュ サービスを提供するプラットフォーム レベルのミドルウェア。これは Openfire をベースにしていますが、基本的な接続維持とノード間通信機能を保持していることを除いて、ほぼ完全に変換されています。 CloudIm は、サードパーティ アプリケーションに便利な API を提供します。開発者は、CloudIm の API を使用することで、長時間の接続維持、回線障害、サーバー負荷、ユーザー ステータス変更通知などの複雑な要件を考慮することなく、インスタント メッセージ プッシュを簡単に実装できます (これにより、インスタント メッセージング、共同オフィス、インスタント リマインダーなどのリアルタイム機能を実現できます)。 CloudIm は優れたパフォーマンスを誇り、提供されるすべての API の TPS は 15,000 ~ 35,000 です。オンライン テストでは、単一のサーバーで 70,000 を超える接続を維持でき、メッセージ遅延は 50 ミリ秒未満であり、クラスターは数千のノードをサポートできることが示されています。ノードの動的な参加または退出とオンラインでの容量拡張をサポートします。

分散メッセージキュー (CloudMQ): 分散メッセージキュー (MQ) 実装ソリューション。その設計原理は、Apache のオープンソース プロジェクト Kafka と Taobao のオープンソース プロジェクト MetaMorphosis を参考にしており、分散、高性能、高スループットの特性を継承しています。 CloudMQ は実装が簡単で、ブローカーフリー設計です。メッセージの順序を維持でき、純粋な PULL プラス通知メカニズムを使用して、消費の遅延をほぼ回避できます。マルチパーティション メカニズムを使用して、システム スループットを向上させます。メッセージの最大数は数十億です。遅延メッセージもサポートしています (たとえば、5 分以内に 100 件の変更イベントが発生した場合、最終結果は 1 回だけプッシュされるため、重複メッセージが大幅に削減されます)。生成されたメッセージの TPS は 35,000 ~ 45,000 で、消費されたメッセージの TPS は約 40,000 です。

分散タスク スケジューリング (CloudJob): 特定のルール (負荷分散、リージョンの原則など) に従って、タスクを複数のノードに分散して実行するスケジューリング フレームワーク。 Crontab 標準のタスク繰り返しとタイミング戦略をサポートし、大規模なスケジュールされたタスク (数千万) をサポートし、タスク処理のリアルタイムかつ順次的な性質を保証し、タスクの状態またはタスク終了のリアルタイム クエリをサポートします。タスク スケジューリングのスループットは 1 秒あたり 20,000 に達します。

分散検索プラットフォーム (CloudIndex): 単語分割検索タスクを実行する大規模なリアルタイム検索システム。主に Solr と CloudMQ を使用して実装されます。CloudMQ は、更新パフォーマンスを確保し、クラスター ノードが同じ更新シーケンスを取得することを保証するために使用されます。Solr は、単語の分割とリアルタイム検索を実装するために使用されます。インデックス シャーディング (シャーディング ルールには HASH 方式とデジタル間隔方式が含まれます)、カスタム単語セグメンテーション、およびノー​​ド負荷分散をサポートします。インデックスの読み取りおよび書き込みのレイテンシは 200 ミリ秒未満で、単一のインデックスのデータ サイズは数億に達することがあります。

分散型 NOSQL データベース クラスター (CloudRedis): Redis に基づいて開発されたデータベース クラスターで、すべての Redis データ構造およびほとんどのコマンド セットと互換性があります。クライアントは、一貫性のある HASH アルゴリズムを使用して、クラスター内の異なるノードへの KEY の HASH に従ってリクエストを実行し、binlog 操作シーケンス同期方式を使用して、異なるサービス ノードのデータの最終的な一貫性を確保します。サービス ノードが変更されると、クライアントはノードの変更を積極的に検出し、HASH を再計算します。クラスター内の他のサービス ノードにはノードの変更が通知され、binlog が消費された場合にのみ更新サービスの提供を継続するため、ノード変更の場合のデータの一貫性が確保されます。パフォーマンスは非常に良好です。非バッチ操作の読み取りおよび書き込みコマンドは、1秒あたり10万以上の処理速度に達し、ネイティブRedisを超え、10億レベル以上のデータストレージをサポートします。

出典:寄稿、著者:Gleasy Cloud Office Platform のテクニカル パートナーである Xue Ke は、IEEE ジャーナルに複数の論文を発表し、30 件を超えるさまざまな規模の R&D プロジェクトを担当し、最初の発明者として 20 件を超える国家発明特許を主宰および申請しています。


原題: 高性能、高可用性分散アーキテクチャシステム

キーワード: 建築

<<:  アリペイ第3回総会

>>:  Alipayのコンピュータ送金には手数料がかかります

推薦する

SEO実践共有:302はBaiduによってウェブサイトの価値を下げる原因となる

302 ステータス コードは、一般的な HTTP ステータス コードの 1 つです。302 は一時的...

フォレスター:パブリッククラウド市場規模は2026年までに1兆ドルを超える

Forrester の最近のレポートによると、パブリック クラウド市場は 2022 年の 4,466...

AlibabaはOpenJDKの長期サポート版であるAlibaba Dragonwellをオープンソース化し、コミュニティへの還元を継続します。

3月19日のメディア報道によると、アリババはOpenJDKの長期サポート版であるAlibaba Dr...

ウェブサイトを最適化するためのBaiduアルゴリズムを理解する

Baidu アルゴリズムは、ウェブサイト SEO 担当者が必ず知っておくべきものです。率直に言って、...

チュートリアル: VPS の更新手順

この記事を使って、BandwagonHost の更新問題について皆さんに説明します。Bandwago...

vpsrus-3.5 USD/Windows/2 GB RAM/20 GB HDD/1 TB Flow/シカゴ

皆さんに安価な Windows シリーズ VPS を紹介したいと思います。vpsrus.com は、...

微博の「ビッグアカウント」が微信に切り替え、微信は利益の恥辱を繰り返すかもしれない

北京、2月12日(記者 劉然)2012年はすでに過ぎ去り、Sina Weiboは2011年もその「地...

安価なオンラインプロモーション手法としての SEO の反論

サイトの宣伝に SEO を選択する企業に、なぜ SEO を選択するのかと尋ねると、10 人中 9 人...

よりシンプルなユーザーインターフェースを作成するための 5 つのミニマリストのヒント

[編集者注] この記事の著者であるジェイク・ロシュローは、ソーシャル メディア愛好家であり、インター...

通信事業者がクラウドとエッジコンピューティングを統合

調査会社ガートナーは、企業が生成するデータのうち、従来の集中型データセンターやクラウド プラットフォ...

2013年、百度が不正SEO対策を厳しく取り締まる

2013年初頭から、百度はSEO最適化の不正行為を取り締まり始め、より多くのSEO実践者や成果物を販...

「新しいインフラ」はクラウドサービス市場にとって「最後の一押し」

2020年に新型コロナウイルス感染症の流行が始まって以来、全国各地で「新たなインフラ」を求める声が聞...

優れたサーバー仮想化管理ソフトウェアを見つける方法

最も基本的なレベルでは、サーバー仮想化管理とは、仮想マシンを作成、編集、削除する機能を指します。すべ...

123systems が chicagovps に買収され、60% 割引プロモーションを実施しています。

123systems が chicagovps に買収されたことは議論の余地のない事実です。実は、買...