記事のディレクトリ
1.マイクロサービスの概念
マイクロサービスアーキテクチャスタイルは、単一のアプリケーションを一連の小さなサービスに開発するようなものです。各小さなサービスは独自のプロセスで実行され、軽量のメカニズムを使用して通信します。通常はHTTP APIです。これらのサービスはビジネス機能を中心に構築されており、完全に自動化された展開メカニズム。これらのサービスは、さまざまなプログラミング言語とさまざまなデータストレージテクノロジーで記述されており、最小限の集中管理を維持します。
つまり、大規模なモノリシックアプリケーションを拒否し、ビジネスの境界に基づいてサービスを分割し、各サービスを個別に展開して実行します。
2.クラスターと分散およびノードクラスターは物理的な状態であり、分散は作業方法です
マシンの集まりである限り、クラスターと呼ぶこともできます。それらが連携していないわけではありません。誰も知りません。
「分散システムの原則とパラダイム」の定義:
「分散システムは、ユーザーには見えるが関連するシステムである、いくつかの独立したコンピューターの集合体です。」
分散システム(分散システム)は、ネットワーク上に構築されたソフトウェアシステムです。
分散とは、不合理なビジネスがさまざまな場所に分散していることを意味します
クラスターの本質は、同じビジネスを実現するために複数のサーバーをまとめることです。
例:JD.comは分散システムです。多くのビジネスは異なるマシンで実行されます。すべてのビジネスは大規模なビジネスクラスターを形成します。ユーザーシステムなどの小規模ビジネスごとに、アクセス圧力が高い場合は1つのサーバーでは不十分です。ユーザーシステムは複数のサーバーに展開する必要があります。つまり、各ビジネスシステムをクラスター化することもできます。
ディストリビューション内のすべてのノードをクラスターにすることができますが、クラスターは必ずしも分散されているとは限りません。
ノード:クラスター内のサーバー
3.リモートコール
分散システムでは、各サービスが異なるホスト上にある場合がありますが、サービスが相互に呼び出す必要があることは避けられません。これをリモートコールと呼びます。
SpringCloudはHTTP+JSON
長距離電話を完了する方法を使用しました
4.負荷分散
分散システムでは、サービスAはサービスBを呼び出す必要があり、サービスBは複数のマシンに存在し、サービスAは任意のサーバーを呼び出すことで機能を完了できます。
各サーバーをアイドル状態にしすぎないようにするために、負荷を分散して各サーバーを呼び出し、Webサイトの堅牢性を向上させることができます。
ポーリング:最初のリクエストに対してKeycomの各バックエンドサーバーを選択し、最後のリクエストまで順番に選択してから、ループします
最小限の接続:リンク数が最も少ないバックエンドサーバー、つまりプレッシャーが最も少ないバックエンドサーバーが優先されます。この方法は、セッションが長い場合に検討できます。
5.サービス登録/ディスカバリー&登録センター
サービスAはサービスBを呼び出します。サービスAは、サービスBが現在持っているサーバー、正常なサーバー、オフラインになっているサービスを認識していません。この問題を解決するために、登録センターを導入でき
ます。一部のサービスがオフラインになった場合、私たちの残りの部分は、利用できないサービスを呼び出さないように、他のサービスのステータスをリアルタイムで認識することができます
6.構成センター
各サービスには最終的に多数の構成があり、各サービスは複数のサーバーに展開される可能性があります。多くの場合、構成を変更する必要があります。各サービスに構成センター内の独自の場所を取得させることができます。
構成センターは、マイクロサービスの構成情報を一元管理するために使用されます
7.サービスの融合とサービスの低下
マイクロサービスアーキテクチャでは、マイクロサービスはネットワークを介して通信し、相互依存関係があります。サービスの1つが利用できない場合、アバランシェ効果が発生する可能性があります。これを防ぐには、サービスを保護するためのフォールトトレラントメカニズムを導入する必要があります。
サービス融合
- サービスタイムアウトを設定します。呼び出されたサービスが頻繁に失敗して特定のしきい値に達すると、回路遮断保護メカニズムをオンにでき、後続の要求はこのサービスを呼び出さなくなり、デフォルトのデータがローカルに直接返されます。
サービスの低下
- 運用および保守期間中、システムがピークに達し、システムリソースが不足している場合、非中核事業の運用を低下させたり、低下させたりする可能性があります。一部のサービス部門は、[例外をスローし、NULLを返し、モックデータを呼び出す]を処理します。 、FallBack処理ロジックを呼び出す]
8.APIゲートウェイ
microserviceアーキテクチャでは、API Gatewayは、全体的なアーキテクチャの重要な要素である。これは、サービスに必要な公共の機能を抽象化しています。同時に、クライアントの提供、ロードバランシング、自動サービスヒューズ、グレーのリリース、統一認証、電流制限の監視を、そして、ログ。のような豊富な機能の統計は、私たちがAPI管理に多くの問題を解決するのに役立ちます