高い同時実行性とは何ですか?

 
まず、高い同時何される
並行性の高い(高同時実行)は、インターネット分散システムアーキテクチャ設計は、それは通常、それは同時に、設計保証システムを通じて多くの同時要求を処理できることを意味し、考慮されなければならない要因の一つです。
いくつかの一般的に使用される高並行処理関連のメトリックは、応答時間(応答時間)、スループット(スループット)は、QPS(クエリ毎秒)あたりの料金を照会、同時ユーザーの数です。
応答時間:要求に対するシステムの時間応答。例えば、HTTP要求を処理するためのシステムは、200msのに必要であり、システムの応答時間は200ミリ秒です。
スループット:単位時間当たりに処理されたリクエストの数。
QPS:秒あたりの要求に応じてインチ インターネット分野では、この指標とスループットの区別はそれほど明確ではありません。
同時ユーザ:システム機能の通常の使用を担持しながら、ユーザの数。例えば、インスタント通信システム、及びある程度オンラインシステムの量の同時ユーザーの数を表します。

第二に、どのように同時容量のシステム改善するために、
主に2つの方法での方法論で、道に同時容量のシステムを改善するために設計されたインターネット分散アーキテクチャ:垂直方向の拡張(スケールアップ)と水平方向のスケーリングを(スケールアウト)。
縦型の拡張機能:シングル処理能力を向上させます。垂直拡張2つの方法がある:
(1)増強単一のハードウェア性能、例えば:ハードドライブ容量拡張2TなどのSSD更新良好ハードディスクなどのギガビットより良いカードのアップグレードなどのコア32としてCPUコア、、、、の数を増加させます;例えば128Gとして、システムメモリを拡張する
単一のサービスのスループットを向上させるために、非同期を使用して、回数を減らすためにIOキャッシュを使用し、ロックフリーのデータ構造の使用は、応答時間を短縮するために、:パフォーマンスを向上させるために(2)単一のアーキテクチャ、などの

インターネットでのビジネスは、早期に非常に速く成長しています予算が問題でない場合は、この段階では、同社のビジネス開発戦略は、多くの場合、時間との戦いなので、私たちは強く、同時容量のシステムを強化するため、「強化され、スタンドアロンのハードウェア性能」アプローチの使用を推奨し、「スタンドアローンのハードウェアの性能向上は、」多くの場合、最速の方法です。
パフォーマンスを向上させるために、またはスタンドアロンのアーキテクチャの性能を向上させるために、スタンドアロンのハードウェアかどうか、致命的な欠陥を持っている:スタンドアローンパフォーマンスは常に限界です。だから、インターネットは、高レベルの同時実行究極のソリューションや拡張のアーキテクチャ設計を配布しました。

水平方向の拡張:サーバーの数が増加する限り、あなたは、システムの直線性性能を拡張することができます。層アーキテクチャにおける一般的な慣行の水平展開の水平スケーラブルな設計、建築、インターネット企業層でどのようにシステムアーキテクチャ設計の水平方向の拡大が必要とされ、我々は、この資料の内容に焦点を当てています。

第三に、一般的なインターネット階層化アーキテクチャ
に分割分散アーキテクチャ、などの一般的なインターネット:
(1)クライアント層:発信者が一般的なブラウザのブラウザまたはモバイルアプリケーションAPPである
(2)リバースプロキシ床:玄関システムは、リバースプロキシ
(3)サイトのアプリケーション層:コアは、アプリケーションロジックを実装し、HTMLまたはJSON返さ
サービス層:実装のサービスと、この層(4)を
(5)データ-バッファ層:高速アクセス・キャッシュ・メモリ
(6)のデータ-データベース層:データベースのデータストレージ硬化

システムレベルの拡張を通じて、すべてのレベルで、それを実装する方法がありますか?

四、水平に階層化アーキテクチャの練習が延びる
層レベルプロキシ拡散逆
水平方向の広がりを達成するために「ポーリングDNS」によって、プロキシ層をリバース:IP複数の設定されたドメイン名を解決するDNSサーバ、あたりDNS解決要求アクセスDNSサーバー、ポーリングリターンIP。
nginxのは、nginxの、限りサーバーの数が増加するなど、時間のボトルネックとなり、新たなサービス展開、外部ネットワークのIPを追加すると、あなたはとても理論的には無限に高い同時実行、パフォーマンスのリバースプロキシ層を拡張することができます。

サイトレベルの層の拡張
「のnginx」を通る水平展開のサイト層は、達成するために。nginx.confを変更すると、バックエンドのWebを複数設けることができます。
ウェブは、バックエンド、限りサーバーの数の増加は、新しいウェブバックエンドにnginxの設定で構成された新しいWebサービスを展開、ボトルネックとなっているとき、あなたは、その理論的には無限に高い同時実行をサイト層のパフォーマンスを拡張することができます。

拡張サービス・レベル層の
「サービス接続プール」を通る水平展開のサービス層は、達成するために。
サイト下流層は、RPCクライアントを介してサービス層RPCサーバーを呼び出すと、接続プール内のRPCクライアントはに限り、サーバ台数の増加など、新しいサービスの展開、サービスは時間のボトルネックになった場合、下流の複数のサービスとの接続を確立します新しいRPCクライアント接続の下流サービスの確立は、無限に高い同時実行ので、理論的には、サービス層のパフォーマンスを拡張することができるようになります。あなたは、専用のサービス層自動拡張が必要な場合は、自動ディスカバリ機能をサポートするために、サービスセンターを構成することが必要な場合があります。

データ層のレベルが拡張される
大量のデータ、データ層レベル(キャッシュ、データベース)での拡張に関連するデータを、本来異なるレベルまでサーバ(キャッシュ、データベース)サーバ上に格納されたデータを分割し、システム性能の拡張の目的を達成するためです。

コモンモードレベル分割層の例としてデータベースに非常に少数のインターネットデータ:

水平分割の範囲に応じて
、(1)単純なルール、サービスのみをストレージサービスの対応範囲にルーティングどのUIDを決定することができる;
(2)データより良いバランスをとる;
(3)拡大するのは比較的簡単に、あなたはすぐUID [2キロワット、3キロワット]データサービスを追加することができます。

不十分である:
(1)要求は必ずしも古いより一般的な、新しく登録されたユーザーには、負荷分散しません。より多くのアクティブユーザが、圧力の広い範囲が大きくサービス要求であろう;

応じ水平分割をハッシュ
、(1)単純なルールは、唯一のハッシュへのサービスは、ストレージサービスに対応するUIDにルーティングすることができる
(2)良好なバランスデータ。
(3)良好な均一性を要求します。

ある未満:
(1)容易に拡張可能ではない、拡張データサービス、ハッシュ法の変化は、それがデータの移行を必要とするかもしれない、

水平解像度によってシステムパフォーマンスを展開して、マスタ-スレーブ同期別個のリードを拡大すると書くことが、留意されるべきですデータベースのパフォーマンスは根本的に異なる方法です。
水平分割データベースのパフォーマンスによって拡張:
(1)各サーバ上に格納されたデータ量が1 / Nの合計量が、それはまた、スタンドアロンの性能を強化する;
(2)nがサーバない交差点が存在しない、サーバー上のデータを;およびデータセットは、データの完全なセットがあり
、データのレベルは、性能がさらに拡大しn回(実際には、はるかに多くのn回よりも、スタンドアロンのデータのでれる書き込み読み出し性能を、n個のサーバに分割理論的に展開しn回(3) 1 / Nの元の量);

別リードからの同期と、プライマリ・データベース拡散することによって、パフォーマンスを書く:
(1)各サーバ上に格納されるデータの量と同じ量を、
サーバー(2)Nのデータが同一であります全集である;
(3)パフォーマンス理論的に拡大しn回を読んで、まだ執筆の単一のポイントである、パフォーマンスを書き変わっていない。

V.要約
高い同時実行(高い同時実行)は、インターネットの分散システムアーキテクチャ設計が考慮されなければならない要因の一つでありますそれは一般的に、多くの要求は、設計保証システムを介して並列に処理することができることをいいます。
垂直拡張(スケールアップ)、横拡張(スケールアウト):システムの同時実行方法を改善する、二つの主な方法があります。前者スタンドアロン垂直拡張は、ハードウェアの性能を向上させる、またはスタンドアロン性能を向上させるフレームワークを、並行性を向上させるが、スタンドアロンの性能限界、高い並行性究極溶液又は後者のインターネット分散アーキテクチャ設計常に存在することができる水平拡張が。

インターネット階層化アーキテクチャ、すべてのレベルで練習膨張の異なるレベルがある:
(1)リバースプロキシ層が「DNSポーリング」アプローチを介して水平に延びることができる;
(2)サイトレベルがnginxのことで水平に拡張でき;
(3)サービス層はサービス接続プールによって水平方向とすることができる;
(4)データベースのデータ範囲またはデータハッシュよう水平に延びて追従することができる

ようにすることができるサーバーの数を増加させることにより、各層の実施形態の水平拡張をシステムのパフォーマンスなので、理論的には無制限のパフォーマンスを向上させます。



最後に、私は、物品の組み合わせは、高可用性「」インターネット共有分散型アーキテクチャプログレッシブではありません「インターネットアーキテクチャがされ、正確に何を」と題し、あなたが高い同時実行の概念と実践のシステムがあると知っている願って、記事のアイデアは明らかであると思いますそれはもはや謎ませんか?

関係するその他の技術情報:gzitcast

おすすめ

転載: www.cnblogs.com/heimaguangzhou/p/11550154.html