SpringCloudの研究ノート1--サイトアーキテクチャの進化

SpringCloud中国のドキュメントします。https://www.springcloud.cc/spring-cloud-dalston.htm

1、サイト構造の進化:従来のアーキテクチャ(シングルポイントアプリケーション) - >分散型アーキテクチャ(プロジェクト分割) - > SOAアーキテクチャ(アーキテクチャ指向サービス) - >マイクロサービスアーキテクチャ

(1)従来のアーキテクチャが実際SSHアーキテクチャまたはSSMアーキテクチャである、単一点アプリケーションに属し、全体のビジネス・モジュールは、プロジェクトで開発され、

          MVCアーキテクチャを分け、それが制御層、ビジネスロジック、データベースアクセス層を分割します。

  短所:1人または開発者の小さなチームのために、一般的にのみ適しています。モジュールは、利用できないプロジェクト全体に影響を与える可能性が一度カップリングはサービスにつながる、高すぎます。

 

 (2)は、様々なプロジェクト(進化の伝統的なアーキテクチャに基づいて、プロジェクトモジュールに伝統的なプロジェクトは、複数のメンバーNプロジェクトに分割し、各プロジェクトは、それ自身の別個のデータベースを有し、別のRedis等アーキテクチャを分散しますRPCリモート通信によって呼び出されます)。

    以下のような:100人の開発者が同じプロジェクトで開発している、問題が発生する可能性があります:コード紛争、タスクの割り当ては良い、簡単な競合の問題ではありません。

    伝統的なアーキテクチャの違いによる分散アーキテクチャ:より詳細なサブプロジェクトのサイズ、インターネット企業に適しはゆっくりと、開発の結合度を減らすために始めました。

 

(3)SOAアーキテクチャは、進化の分散アーキテクチャに基づいています。これは、一般的にサービスとして知られているサービス指向アーキテクチャを表します。これは、他のコールにインターフェースを提供する、抽出された一般的なビジネス・コードの開発のためのビジネス・ロジックとして理解することができます。サービスと技術サービス間のリモート呼び出しを使用してRPC通信。

  インターフェイスを理解するための共通のビジネスロジックの分割、展開のための別々のプロジェクトに分割ではなく、ビュー層、サービスのコンセプト:サービスのコンセプト。

  HTTPClientは、springcloud、ダボ、grpcおよび他のコア技術ソケットの基礎となるか、達成ネッティー:RPCは、リモートの技術的なフレームワークを呼び出します。

  SOAアーキテクチャの特徴:SOAPベースの下層又はESB(メッセージ・バス)は、通信のためにHTTPまたはHTTPSプロトコル下地ヘビー+ XMLデータ交換フォーマット(以降、代替フォーマットJSON XML形式)を使用して実装しました。

  HTTPプロトコルは、基礎となるWebサービス+ XML(SOAP)、RPCアプリケーション二つ以上のリモート呼び出しを使用することです。SOAアーキテクチャとサービス指向アーキテクチャ、石鹸は、単純なHTTP + XMLオブジェクトプロトコルの混合物です。

  SOAのアーキテクチャの短所:

       1)依存性及び集中サービス発見機構と

       SOAPプロトコル、トランスポートプロトコル、XML比較を使用2)SOAアーキテクチャブロードバンドマイクロサービスアーキテクチャのXML、JSONパケット送信を交換する全体のXMLメッセージは、非常に大きな冗長データを有しているので、軽量な方法を取ります。

       3)サービス管理は非常に、サービス施設、不十分な管理とガバナンスの欠如が混乱しています。

 

(4)マイクロサービスアーキテクチャとSOAアーキテクチャ差:

      マイクロRPCリモートサービス呼び出しフレームワークはコアです:サービスのガバナンス----レジストリ。

        1)マイクロサービスアーキテクチャSOAアーキテクチャの利点を継承し、進化のSOAアーキテクチャに基づいて、SOAアーキテクチャESBは➕jsonHTTPプロトコル形式で送信されるAPI提供安らかなスタイルを使用して、マイクロアーキテクチャ内のメッセージ・バス・サービスを削除します。

        2)マイクロサービスアーキテクチャSOAのアーキテクチャは、より細かい粒度よりも、専門的なことを行うために専門の人が(もっと)中心に説明します。目的は、各サービスの効率を改善することであり、互いに独立してサービス間で、各サービスは、独立して(ドッカー、独立したデータベース、独立のRedis)具現化、軽量に、マイクロサービスアーキテクチャを展開しなければなりません。

       3)データ記憶SOAアーキテクチャを発生共有することができる、マイクロサービスは、各サービスとサービスとの間を確実にするために、互いに独立して、それぞれの個々のデータベースサービスである強調する。

       4)プロジェクトの特徴を体現:よりきめ細かなのでマイクロサービスアーキテクチャSOAのアーキテクチャは、高速なインターネット企業のアジャイル、反復バージョンよりも適しています。

 

     

 

 

2.なぜ使用SpringCloud

   現時点では、それが唯一のマイクロサービスの問題を解決するために、他のRPCリモート呼び出しフレームワークとは異なり、マイクロサービスのための比較的完全なソリューションフレームワークです。Springcloudはアクセスを解決するためにマイクロマイクロストップサービスを理解することができます。

サービス管理:详细ダボアリババとオープンソースは、領事をApacheのは、その基礎dubbox、ユーレカに拡大しました。

分散センタ構成:disconfの百度、Netfix Archaius、qconfの、SpringCloud、Ctripのアポロ360。

分散型ミッション:XXLジョブ、弾性ジョブは、タスクなどをspringcloud。

サービスの追跡:Jingdongはhyra、探偵をspringcloudなど

マイクロサービス、中央分散構成、分散ロック、分散型追跡、分散サービス管理、分散プラットフォームのタスクのスケジューリング。

公開された25元の記事 ウォンの賞賛8 ビュー10000 +

おすすめ

転載: blog.csdn.net/gonghua0502/article/details/103234707