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

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

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のコンピュータ送金には手数料がかかります

推薦する

VM、ホスト、Kubernetes、クラウドサービスを保護する

実行時にアクティブなパッケージに焦点を当てることで、重要なものを優先します。 第 48 回 IT プ...

GoogleとNutanixのハイブリッドクラウドレイアウト

現在、主要なパブリッククラウドベンダーはすでにハイブリッドクラウド戦略を導入しています。ハイブリッド...

2023年に注目すべきクラウドコンピューティングの3つのトレンド

企業がコストを抑制しながら近代化を進めるにつれ、競合する物語が収束しつつあります。クラウド コンピュ...

私たちを毒するSEOの誤解

ウェブサイトのコンバージョンは、SEOの最終目標です。ウェブサイトのコンバージョン率がなければ、トラ...

hostflyte: 20% オフのプロモーション、年間 12 ドルから: 1g メモリ/30g SSD/2T データ転送

2017年に設立されたHostflyteは、すべてのVPSを20%割引で提供するプロモーションメール...

Baiduのウェブサイト調整の概要

百度は6月、7月、8月にウェブサイトに大規模な調整を加え、百度アルゴリズムを複数回アップグレードしま...

HiChinaのAlibaba Cloudへの合併の解釈:従来のホスティングが置き換えられる

テンセントテクノロジーの王克新が1月7日に報じた。アリババグループは昨日、傘下のアリババクラウドとH...

servercrate-3.95USD/512M RAM/10GB SSD/2TB/G ポート

servercrate は 年に設立されましたが、この会社に関する情報はあまりありません。当社は、V...

重量の軽減はサイト全体に影響しますか?

ウェブサイトの最適化は、非常に時間のかかるプロセスです。率直に言って、これは「大変で疲れる」仕事だと...

SEO初心者がBaiduキーワードで1位を獲得する方法のまとめ

3か月前、私は杭州の賃貸住宅に湖南SEO-株洲SEOブログを立ち上げました。当時私が設定したSEO目...

vexxhost-10$/KVM/openstack/1g メモリ/40g SSD/4 コア/4T トラフィック

Vexxhost (2006 年に設立されたカナダの企業) は、OpenStack を使用してクラウ...

CSDNから漏洩したデータを使って電子商取引アカウントから金を盗んだとして4人の男が逮捕された

昨年、有名なプログラマー向けウェブサイト「CSDN」のデータベースがハッキングされ、600万件以上の...

SAP: さらなるイノベーションでインテリジェント時代を切り拓く

[51CTO.comより引用] 2020年のキーワードといえば、「疫病」が間違いなく第1位にランクさ...

AIが新たな応用シナリオを切り開き、ファーウェイクラウドModelArts Proが新たな開発パラダイムを創出

私たちは、すべてが感知され、すべてがつながり、すべてがインテリジェントになる時代に入りつつあります。...

virmach: KVM 仮想 VPS は年間 5 ドルから、複数の部屋レベルが利用可能/Alipay

virmach の前回の大きなプロモーションがいつだったか覚えていません。8 月に、virmach ...