高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

各モデルは、私たちの周りの問題や、問題が繰り返し発生するソリューションの中核を説明しています。この方法では、反復的な作業を行うことなく、何度も何度もプログラムを使用することができます。ためには、このような高い信頼性と運用上の課題など大量のデータを、大規模なサイトへの高い同時アクセスが直面する一連の問題を解決することは、いわゆるサイトのアーキテクチャモデル。このため、実際には、我々は、サイトのパフォーマンス、高い信頼性、容易な拡張性の高い、拡張性、セキュリティ、およびその他の技術的なアーキテクチャの目標を可能にするために、前方のソリューションの数を置きます。

まず、成層

階層化は、建築モデルの最も一般的なエンタープライズアプリケーションシステムであり、システムは、横方向の寸法に切断されます、下位層組成物およびスケジューリングの依存関係の上層を通って、比較的簡単で、比較的単純な関数の部分のそれぞれが責任、いくつかのセクションに分割されています完全なシステム。

サイトの階層化アーキテクチャでは、これは3つの層、すなわちアプリケーション層、サービス層、データ層のために一般的です。

アプリケーション層、ショービジネス、およびビューを担当します。

サービス層は、アプリケーション層のためのサポートサービスを提供します。

データ層は、データベース、キャッシュ、ファイル、検索エンジンなどのデータ・ストレージ・アクセス・サービスを提供しています。

個別に配備されている階層化アーキテクチャは、論理的、物理的に展開し、3層アーキテクチャは、同じ物理マシン上に展開することができますが、サイト運営の開発に、別のモジュールをデプロイするために必然的な必要性が階層化されており、3層アーキテクチャ異なるサーバー上で、サイトには、より多くのより多くのユーザーのアクセスに対応するためのコンピューティングリソースました。

だから、階層化アーキテクチャパターン本来の目的ながら、計画ソフトウェアは、開発を維持するために、明確かつ論理的な構造です。しかし、サイトの開発の過程では、サイトの階層構造は、開発の方向への重要な分散、高い同時実行をサポートしています。

高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

第二に、冗長性

サイトは、連続運転の7×24時間を必要とし、あなたはケース1で適切な冗長性を持っている必要がマシン撃墜、およびクラスタの冗長性は、高可用性サービスの展開を通じて達成することができないアクセスは、少なくとも二つのサーバを構成することができます。定期的にデータベースのバックアップに加えて、ホットとコールドバックアップを実装する必要があります。世界中でさえデプロイ災害復旧データセンター。

第三に、分離

ソフトウェアは、スライスされた横方向側面に積層されている場合、パーティションは、長手方向ソフトウェアの態様でセグメント化されるべきです。

モジュラーユニット高い凝集力及び低い結合にパッケージ大きい部位、より複雑な機能、より多くの、これらの異なる機能およびサービスが分離処理サービスとデータのタイプは、また、ソフトウェアを開発し、維持するのに役立つだけでなく、サイトの同時処理能力と拡張性機能を向上させる、異なるモジュールを配備することは容易に分散。

サイズで区切られた大規模なサイトでは小さいかもしれません。例えば、アプリケーション層では、そのようなショッピング、フォーラム、検索、広告などの様々なサービスが、異なるアプリケーションに分け隔てる、異なるサーバー上に展開を担当する相手チームが、あります。

第四に、非同期

サービスコールの間のメッセージの非同期送信を使用して同期されていないが、データ共有方法によって各相非同期コラボレーションの間の動作相の複数に動作が行われます。

単一のサーバ内で利用可能な共有メモリ・マルチスレッド方法によって具現;分散非同期メッセージキューにより実現分散システムで使用します。

非同期アーキテクチャは道の生産者と消費者の典型的なもので、二人は直接呼び出しが存在ではありません。

第五に、分散

大規模なサイトの場合は、階層化および主な目的で区切られた分散型の展開を容易にするために、分離後のモジュールをカットすることで、すぐに一緒にリモートで仕事への呼び出し、異なるサーバー上の異なるモジュールに展開されます。あなたは同じ作業を完了する複数のコンピュータ、複数のコンピュータを使用することができる手段を分散、より多くのCPU、メモリ、ストレージリソース、およびデータへの同時アクセスの量が多くて処理することができますので、より多くのユーザーに提供することができますサービス。

Webアプリケーションでは、一般的に使用されるプログラムは、いくつかの周りに分布しています。

分散アプリケーションとサービス:分離した後に展開された階層と分散アプリケーションおよびサービス・モジュール、サイトのパフォーマンスと同時実行性を向上させ、開発および放出速度を加速し、データベース・リソースの消費を減らすことができます。

分散型静的リソース:なJS、CSS、ロゴ画像および展開野党と独立したドメイン名に分散他のリソースなどの静的なリソースのWebサイトには、多くの場合、静的および動的分離に言及しました。展開分散型静的リソースは、負荷圧力のアプリケーションサーバーを減らすことができ、同時にブラウザの読み込み速度をスピードアップするために、別のドメイン名を使用することによって。

分散ファイルシステム:大規模なサイトでは、単一のコンピュータは、このような大規模なストレージスペースを提供することができない、これらのデータベースは、分散ストレージを必要とし、ユニットとしてのPに大量のデータを処理する必要があります。

一般のHadoopとMapReduceの現在使用されているサイトは、コンピューティング、バッチのためのフレームワークを計算分散:計算分散モバイル・コンピューティングではなく、動画データを特徴とする、データを計算および分散をスピードアップするために計算される場所に分散算出プログラム。

高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

第六に、セキュリティ

多くのモードでサイトのセキュリティアーキテクチャ:パスワードと携帯電話のチェックコードによる認証のため、ログオンは、トランザクションは、ネットワークトラフィックが暗号化されている必要があり、資源ボットの誤用を防ぐために、あなたが識別するために確認コードを必要とする、一般的なXSSのために** *、SQLインジェクションは、トランスコーディングを必要とし、スパムが必要なフィルタリング。

七、自動化

具体的に公開プロセスの自動化、自動化されたコード管理、自動テスト、自動化されたセキュリティテスト、自動展開、自動監視、自動アラーム、自動フェイルオーバー、自動障害復旧。

八個のクラスタ

集中管理モジュールにアクセスして、ユーザーが別のサーバークラスタを展開する必要があるために、すなわち複数のサーバが同じアプリケーションが共同で、負荷分散装置を介してサービスを提供するために、クラスタを構成して展開します。

サーバークラスタはので、より多くのユーザーがアクセスがある場合、単純にクラスタに新しいマシンを追加することができ、より多くの同時サポートと同じサービスを提供することができます; 1は、サーバーに障害が発生したときにも達成することができ、あなたがすることができますあなたは、システムの可用性を向上させることができますので、この要求は、フェイルオーバー、ロードバランシング機構により、クラスタ内の他のサーバに転送されます。

高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

ナイン、キャッシュ

Cacheオブジェクトは、コンピューティングサーバは、ユーザに直接データを返す削減することです。今日のソフトウェア設計では、キャッシュはどこにでもなっています。その上で具体的な実現CDN、リバースプロキシ、ローカルキャッシュ、分散キャッシュと。

2つのがあり、キャッシングの利用のための条件である:キャッシュニーズのデータ​​アクセスのホットスポットが不均一に、その特定の頻繁にアクセスされるデータは、データを一定の期間の下で利用可能ですが、すぐに期限が切れるため、時代遅れとダーティリードのデータであろうと、データの精度に影響を与えます。

高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

一般的な進歩、共有に学びます

私は、みんなの注目[公共の数歓迎コードとして冷静に ]、大量のJava関連の記事、材料は材料が内側になります仕上げ、内側に更新されます学習します。

私は賞賛のポイントに書き込みに良い感じ、プラス信者が聖歌!注目点は、継続的に更新され、迷子にしないでください!

大規模なインタビュー、情報共有アーキテクチャ

高い同時実行の高性能技術アーキテクチャの可用性の9種類についての簡単な

おすすめ

転載: blog.51cto.com/14570694/2482938