マイクロサービス、分散、クラスターの違い(しっかり理解)

マイクロサービス、ディストリビューション、クラスタリングの違い



区別する前に、いくつかの概念を理解しましょう。

インタビューについては、下部にある

水平方向の内訳の概要を直接見ることができます。

「重ね着」の発想で分割。たとえば、プロジェクトは、「3 層アーキテクチャ」に従ってプレゼンテーション層 (jsp+サーブレット)、ビジネス ロジック層 (サービス)、およびデータ アクセス層 (dao) に分割し、個別にデプロイできます。プレゼンテーション層をデプロイします。サーバー A にサービス層と dao 層をサーバー B にデプロイし、ダボおよびその他の RPC を通じてサーバー A とサーバー B を統合します (左下隅の [原文を読む] にダボ ビデオ コースがあります。学習する)、図に示すように。

v2-51d2bd9aac06842f39f3a0e2411b2d0b_720w.jpg
縦に分割

事業に応じて分割します。たとえば、「電子商取引プロジェクト」は、ビジネス ロジックに基づいて「注文プロジェクト」、「ユーザー プロジェクト」、「フラッシュ セール プロジェクト」に分割できます。明らかに、これら 3 つの分割プロジェクトは引き続き独立したプロジェクトとして使用できます。この分割方法は垂直分割と呼ばれます。

v2-571c0559221958b5d63ec7bf557157f1_720w.jpg

マイクロサービス



マイクロサービスはシステム アーキテクチャの設計手法です。複雑なビジネスを複数の小さなサービスに分割します。各サービスは独立して実行および展開できます。サービスは RPC を使用して相互に通信できます。

マイクロサービスは、非常にきめの細かい垂直分割として理解できます。例えば、上記の「注文商品」は、本来は縦に分割されたサブ商品ですが、実際には以下のように「ショッピング商品」「決済商品」「アフター商品」にさらに分割することができます。図に示されています。
v2-5ac8c1aaca336a8e6182e96ccb50b553_720w.webp
マイクロサービス アーキテクチャ スタイルは、個別のアプリケーションを一連の小規模サービスに開発するようなものです。各小規模サービスは独自のプロセスで実行され、軽量メカニズム (通常は HTTP API) を使用して通信します。これらのサービスはビジネス機能を中心に構築されており、完全に自動化された展開メカニズムこれらのサービスは、さまざまなプログラミング言語とさまざまなデータ ストレージ テクノロジで記述されており、最小限の集中管理を維持します。
つまり大規模な単一アプリケーションは拒否され、サービスはビジネス境界に基づいて細かく分割され、各サービスは独立してデプロイおよび実行されます。

配布された



これは体系的な展開方法であり、主に同じサービスを展開可能な複数のマシンに分割します。

異なる事業を異なる場所(キーポイント)に分散させることを指します(例えば、JD.comは各事業を異なるサーバーに分散させます) 例えば、
前述の水平分割分散の核心は「分割」の一言です。プロジェクトが複数のモジュールに分割され、それらのモジュールが個別にデプロイされている限り、プロジェクトは分散されているとみなされます。

集まる



クラスターの本質は、同じビジネスを達成するために複数のサーバーを集めることです(ショッピング カートなど、1 台のサーバーでは十分ではなく、10 台のサーバーを配置すると、10 台のサーバーで同じビジネスを完了できます)。

例: Jingdong は分散システムです。多くのビジネスは異なるマシンで実行されます。すべてのビジネスは大規模なビジネス クラスターを形成します。ユーザー システムなどの小規模ビジネスごとに、アクセス負荷が高い場合は 1 台のサーバーでは不十分です。ユーザー システムは、次のことを行う必要があります。つまり、各ビジネス システムをクラスタ化することもできます。たとえば、
ユーザーは www.jingdong.com と入力し、京東 Web サイトに入り、ショッピング プロセス全体を完了します。背後にサーバーが何台あるかは感じません。 JD.com は分散システムであり、そのさまざまなビジネスが異なるマシン上で実行されており、これらのマシンが結合して JD.com 全体の機能を完成させるため、これらのビジネスは大規模なビジネス クラスターと呼ぶことができます。

ディストリビューション内のすべてのノードをクラスターにすることができますが、クラスターは必ずしも分散されている必要はありません。

クラスターは必ずしも分散しているわけではありませんか? たとえば、ユーザー システム クラスタは分散されておらず、Jingdong システム全体が分散されています。

要約する



概念的な理解では、分散サービス アーキテクチャはサービスのサービス化と分散化を重視し、マイクロサービスはサービスの専門化と細かい分業を重視しますが、実際的な観点からは、通常、マイクロサービス アーキテクチャが分散サービス アーキテクチャであり、その逆も成立しない可能性があります。したがって、マイクロサービスを選択することは、通常、分散アーキテクチャのさまざまな問題を解決することを意味します。

マイクロサービスと分散型インタビュー回答の違い

  • マイクロサービスはシステム アーキテクチャの設計手法です。複雑なビジネスを複数の小さなサービスに分割します。各サービスは独立して実行および展開できます。サービスは RPC を使用して相互に通信できます。
  • 分散はシステム展開方法の 1 つで、主に同じサービスを展開可能な複数のマシンに分割します。
  • クラスターの本質は、同じビジネスを実装するために複数のサーバーをまとめることです。
  • マイクロサービス アーキテクチャは分散サービス アーキテクチャのサブセットです
  • 分散デプロイメントは必ずしもマイクロサービス アーキテクチャである必要はなく、マイクロサービス アプリケーションは必ずしも分散デプロイメントを必要とするわけではありません。
  • ディストリビューション内のすべてのノードをクラスターにすることができますが、クラスターは必ずしも分散されている必要はありません。

Supongo que te gusta

Origin blog.csdn.net/weixin_44030143/article/details/130160842
Recomendado
Clasificación