分散アーキテクチャの分析 - テクニック

分散システムの主な目的

システムパフォーマンスの向上

スループットを向上させて、より多くの顧客にサービスを提供します。同時実行性とフローを改善します。
次のテクノロジーを通じて、同時実行性の高いシナリオを処理する能力を向上させます。

ここに画像の説明を挿入

  1. キャッシュ システムは、クライアントのリクエストにより速く応答します。データベースへの負荷を軽減(応答速度の向上

    フロントエンド ブラウザ、ネットワーク、バックエンド サービス、基盤となるデータベース、ファイル システム、ハードディスク、CPU はすべてキャッシュを備えています。
    分散アーキテクチャで、応答速度を向上させるために Redis キャッシュ クラスターが使用される場合

  2. 負荷分散は、クラスタを介して各ステージをクラスタ化し、複数のマシンを使用してトラフィックを共有します(複数のサーバーがタスクを受け取ります)。
  3. 非同期呼び出し、主なテクノロジーはメッセージ キュー ミドルウェア (短期的な高い同時実行性を共有)

    メッセージ ミドルウェアを通じて、ピーク負荷をカットし、谷を埋めることができます。トラフィックが比較的大きい場合は、データを先にメッセージ キューに保存し、主要な業務のみを処理することができ、他のサービスと同様に、他のサービスがメッセージ キューからデータを読み取って処理することもできます。

  4. データのパーティショニングとデータ ミラーリング (データベースのオフロード)


    大量のデータは特定のルール (地理的位置など) に従って分割され、データはミラーリングされ、サブデータベースとサブテーブルによっていくつかの部分に分割されます (データベース間のトランザクションを解決する必要があります) 。各サーバーは異なるデータベースにアクセスします。(データの一貫性の問題)

システムの可用性を向上させる

安定性とは、サービスの 1 つがダウンしても、サービス全体が完全に停止しないことを意味します。衝撃を軽減します。

ここに画像の説明を挿入

  1. サービスの分割: 障害を分離し、モジュールの再利用性を向上させることができます。しかし、サービス間の依存関係の問題があります
  2. サービスの冗長性: 単一障害点を解決し、柔軟なスケーリングをサポートします。
  3. 電流制限とダウングレード: システムが圧力に対処できない場合、電流制限とダウングレードによって一部のサービスを停止し、一部のユーザーを拒否します。
  4. 高可用性アーキテクチャ: オフサイトの災害復旧、マスター/スレーブ、マスターとスレーブのデータを同じ場所に保持
  5. 高可用性の運用と保守: DevOps

キーテクノロジー

  1. サービスガバナンス

    サービスの分割、サービスの呼び出し、サービスの検出、サービスの依存関係、およびサービスの重要性の定義。
    主要なサービスを整理し、パフォーマンスと可用性を管理する必要がある

  2. アーキテクチャ ソフトウェア管理

    サービス間には依存関係と互換性があるためです。そのため、サービスのバージョン管理や、サービスの配置・集計・トランザクション処理の管理が必要となります。

  3. DevOps
  4. 自動化された運用とメンテナンス
  5. リソースのスケジュール管理
  6. 全体的なアーキテクチャのモニタリング

    アプリケーション層、ミドルウェア層、ベース層の 3 層システムを監視します

  7. フロー制御

    ロードバランシング、サーバールーティング、サーキットブレーカー、ダウングレード、電流制限、グレーリリース

コアテクノロジー

  • フルスタックシステム監視
  • サービス/リソースのスケジューリング
  • 交通スケジュール
  • ステータス/データのスケジュール設定
  • 開発と運用の自動化

おすすめ

転載: blog.csdn.net/u013795102/article/details/131794230