ライブソースシステム開発の重要な部分 - 「高い同時実行」

私たち並行性の高い単語には見知らぬ人と考えています。実際には、高同時実行は、通常、ライブソースシステム開発プロセスを考慮しなければならない要因の一つであると同時に、システムのアーキテクチャに多くの要求を同時に処理することができ、設計保証システムを指します。だから、ライブソースの開発プロセスは、高い同時開発者の問題もそれに注意を払う必要があります。
並行システムの能力を増強する方法を図1に示すように、
垂直方向のスケーリングと水平方向のスケーリング:同時ライブシステムの能力を向上させるためには、2つのタイプに分けることができます。
(1)垂直延長
即ち単一の処理能力を持ち上げ、垂直拡張は、2つの方法に分けられます。
スタンドアローンのようなCPUコアの数、ハードドライブの容量とシステムメモリの拡張を増加させるなどのハードウェアのパフォーマンスの向上を、。
シングルアーキテクチャは、スループットを向上させる非同期単一のサービスを使用して、IOの数を減らすために使用キャッシュとして、パフォーマンスを向上させます。
それよりも少ないので、ほとんどの並行性の高いソリューションは、まだ我々は、下記の展開のレベルを、選択しますが、常にスタンドアロンの性能限界があります。
ライブソースシステム開発の重要な部分 - 「高い同時実行」
(2)膨張のレベル
サーバーの数の増加と同じ長さである、システム性能は線膨張することができます。水平方向のスケーリングシステムアーキテクチャ設計のための層に水平にスケーラブルなアーキテクチャを設計する方法の特定の要件です。
図2に示すように、共通の階層化アーキテクチャ
(1)クライアント層(2)リバースプロキシ層(3)サイトのアプリケーション層(4)サービス層(5)データ-キャッシュ層(6)のデータ-データベース層
3において、横膨張階層で実施する
(1)リバースプロキシ層
水平に達成するために「ポーリングDNS」、DNSサーバ、ポーリングリターンIPにアクセスするために、各DNS解決要求により、リバースプロキシ層を拡張しました。nginxのボトルネック、限りサーバーの数の増加は、nginxの新しいサービスの展開、外部ネットワークのIPを追加すると、あなたは、その理論的には無限に高い並行性をパフォーマンスのリバースプロキシ層を拡張することができます。
(2)サイトレベル
nginx.confを変更することによって達成「nginxの」とは、あなたは、バックエンドのWebを複数設けることができます。ときウェブバックエンドのボトルネック限り、新しいウェブバックエンドのサーバ数の増加、Webサービスの新展開、設定nginxの構成は、あなたは、その理論的には無限に高い同時実行をサイト層のパフォーマンスを拡張することができます。
ライブソースシステム開発の重要な部分 - 「高い同時実行」
(3)サービス層
水平拡張サービス層、「サービス接続プール」実装スルー。サービスのボトルネック、限りサーバーの数の増加は、RPCクライアントの新しい下流サービス接続を構築し、新たなサービスを展開する場合、パフォーマンスは、とても理論的に無限に高い同時実行サービス層を拡大することができるようになります。
(4)データ層
大量のデータには、データ層(バッファ、データベース)は、拡張データのレベルに関連する、異なるレベルまで元々サーバーに保存されているデータ(キャッシュ、データベース)サーバを分割し、システム性能の拡張の目的を達成するためです。
高並行性の問題のウェブキャストは、多くの場合、開発プロセスで遭遇されたが、それは軽く取られることはできません。ライブソース業界のため、解決策の一つが、リアルタイムのライブのシナリオの非常に厳しい性能要件と相まって強度の高い基準の並行開発を、検証することである、高い同時実行はで「緊急」として記述することができます。

おすすめ

転載: blog.51cto.com/14506967/2432167