[読書ノート]ウェブサイトスケーラブルなアーキテクチャ

序文

私は、「大規模なWebサイトの技術フレームワーク、」5つの建築要素がZhihuiの先生の本を説明した本を配置し、この鶏肉料理の前に読んでノートを持っていました。これらの5つの要因は、パフォーマンス、可用性、柔軟性、拡張性、セキュリティ本論文では、の拡張コンテンツの要素の簡単な議論は本書「大規模なWebサイトの技術フレームワーク」からの主な参照である(非常に個人本書は技術アーキテクチャの導入として存在すると言うことができると思い、この本をお勧めします)。

異なるアプリケーションは、低結合特性を持っている必要とする、新しい機能を追加しながら、アプリケーションを参照する、いわゆるスケーラブルなウェブサイトは、他の既存のシステムに影響を及ぼしませんでした。

混乱していない、セックスと拡張の柔軟性の違いに注意してください。

拡張は、を意味機能の拡張新たな機能を追加するなど、。

ストレッチ手段は、パフォーマンス上のストレッチそのようなサーバの数を増やすと、。

スケーラブルな、主に2つの方法があります。

  • 使用したメッセージキューをアプリケーション間のデカップリングのためのメッセージパッシングによって通信します。
  • 使用分散サービス事業や再利用可能なサービスには、再利用可能なサービスの分散型サービスフレームワークを使用したビジネスコールとは別。新製品は、ビジネスロジックの再利用可能なサービスを呼び出すことによって達成することができ、それは他の製品には影響を与えません。

次に、これらの2つの方法の具体的な導入。

結合システムを減らすために、分散メッセージキューを使用して

まず、イベント駆動型アーキテクチャ

イベントメッセージを送信するために、低域モジュールとの間に結合されたイベント駆動型アーキテクチャ(イベント駆動型アーキテクチャ)、緩く保持モジュールよりも結合され、モジュール間の通信イベントメッセージ協力の完了で、一般的なオペレーティングシステムのEDAアーキテクチャが一般的です生産者-消費者モデル

ここに画像を挿入説明
メッセージ送信者はメッセージの処理を終了分配されるメッセージキューにメッセージを送信します。

ちょうど買収のニュースの後の処理のための分散メッセージキューからのメッセージの受信者は、メッセージが来ることを知っている必要はありません。

これは、メッセージの送信者と受信者がメッセージを、見ることができ、直接結合されていません

新規事業のために、限り、メッセージの金利タイプとして、あなたは、スケーラブルなビジネスのウェブサイトのデザインを有効にすると、このメッセージ、既存のシステムやサービスに影響を与えずに購読することができます。

第二に、分散メッセージキュー
ここに画像を挿入説明
メッセージプロデューサのリモートアクセスインタフェースを介してアプリケーションには、メッセージサーバは、メッセージキュープッシュ、サーバ・メッセージ・キューのメッセージ成功応答ローカルメモリキューの後にすぐに戻ります書かれたメッセージプロデューサへを。

メッセージを検索するメッセージキューサーバーのサブスクリプションのリストには、メッセージ、FIFO原理に従ってメッセージコンシューマプログラムにリモート通信インタフェースを介してメッセージを送信するメッセージのメッセージキューに応じニュースコンシューマアプリケーションをサブスクライブします。

また、メッセージの損失によるメッセージキューサーバーのダウンタイムを回避するためには、それが正常に保存されたメッセージのメッセージキューにメッセージを送信しますメッセージプロデューサ・サーバなどのニュース消費者が実際にメッセージを削除するメッセージサーバを処理した後。

メッセージキューサーバーのダウンタイムの後、サーバーの生産者は、分散メッセージキューサーバークラスタ、他のサーバーのニュースリリースを選択します。

再利用可能なビジネスプラットフォームを構築するための分散型サービスの利用

分散システムメッセージキューは、メッセージオブジェクトを分解することによって結合されている場合、異なるサブシステムが同じメッセージを処理し、次いで、分散サービスを結合する、インタフェースを介して同一のシステムコールインターフェース記述分解システムの異なるサブシステム。

以下を検討、開発、展開の難しさの巨大なシステムのメンテナンスの難しさ、難しさを
ここに画像を挿入説明

溶液は、モジュールの独立した展開を分割する結合システムを減らすことです。

解像度は、2つのタイプに分けることができます。

  • 縦方向に分割
  • 横方向の解像度

垂直分割:複数の小さなアプリケーションへの大規模なアプリケーションの新しいビジネスをより独立している場合、それは直接スタンドアロンのWebアプリケーションとして展開設定。

横方向の解像度多重サービスが分社、分散サービスの独立した展開、すぐにシステムアプリケーションを構築することができ、特定のモジュールコードに依存しないだけで、分散サービスを呼び出す必要が新しいサービス、内部モジュールビジネス・ロジックの変更は、それだけで一貫性のあるインターフェースは、ビジネス・プロセスおよびその他のモジュールには影響しませんすることができます。

ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/u013568373/article/details/91367311