Spring Cloud_1_紹介と環境構築

3881 ワード

Spring Cloudの紹介と環境構築
1、単体応用
2、単体最適化(アーキテクチャ進化)
  • 単体アプリケーションの問題に対して、SOAアーキテクチャを参照してモジュールを独立したサービスモジュールに分割する
    サービス向けアーキテクチャ(SOA)は、アプリケーションの異なる機能ユニット(サービスと呼ばれる)をこれらのサービス間で定義された良好なインタフェースと契約を結びつけるインタフェースを中立的に定義するコンポーネントモデルであり、サービスを実現するハードウェアプラットフォームとは独立して、オペレーティングシステムとプログラミング言語は、さまざまなシステムに構築されたサービスを統一的で汎用的な方法でインタラクティブにすることができる.
  • 結合度
    モジュールおよびモジュール間の情報またはパラメータ依存度
  • ESB
    Enterprise Service Busは、エンタープライズ・サービス・バスの従来のミドルウェア・テクノロジーとXML、Webサービスなどのテクノロジーを組み合わせた製品で、ネットワークの最も基本的な接続中枢を提供しています.

  • 3、アーキテクチャの要求
  • 高性能:アプリケーションの基本要件
  • 独立性:1つのモジュールにBugまたはその他の問題が発生し、他のモジュール
  • に影響しない
  • 拡張しやすい:アプリケーション内の各ノードは、実際のニーズに応じて
  • 拡張できます.
  • 管理しやすい:各モジュールの資源に対して、簡単に管理、アップグレードを実現し、メンテナンスコストを減らす
  • 状態監視と警報:アプリケーション全体を監視し、問題が発生したら、直ちに
  • に通報する.
    4、マイクロサービスアーキテクチャ
  • マイクロサービスは、特定のテクノロジーではなく、アーキテクチャスタイル
  • です.
  • はSOAに類似する、単体アプリケーションを小型サービスユニットに分け、マイクロサービス間でHTTPのAPIを用いてリソースアクセスと操作
  • を行う.
  • SOAアーキテクチャは、各単体アプリケーションのサービスをESBに統合することに重点を置いており、マイクロサービスはサービスの細分化
  • をより強調している.
  • マイクロサービスにはESBの役割はなく、各モジュール自体がサービスである(ESBでは特定のサービスをWeb ESBコンテナに公開するが、マイクロサービスではそれ自体がサービスである)
  • .
    5、Netflix OSS
  • Netflixはインターネット映画プロバイダで、Netflix社は独自のオープンソースセンターを設立し、Netflix Open Source Software Centerと呼ばれ、Netflix OSS
  • と略称されている.
  • このオープンソース組織はビッグデータ、クラウドコンピューティングの技術に専念し、複数のオープンソースフレームワーク
  • を提供している.
  • これらのフレームワークには、ビッグデータツール、構築ツール、クラウドプラットフォームベースのサービスツールなどが含まれています.
  • Netflixが提供するこれらのフレームワークは、マイクロサービスが推奨する理念によく従い、中心化されたサービス管理、サービスフォールトトレランスなどのメカニズムを実現しています.

  • 6、Spring CloudとNetflix
  • Spring Cloudは具体的なフレームワークではありません.ツールボックスとして理解できます.さまざまなツールを提供し、分散システム
  • の迅速な構築を支援します.
  • Spring Cloudの各項目はSpringbootに基づいてNetflixの複数のフレームワークをカプセル化し、これらのフレームワークをSpringの環境に自動構成でバインドすることで、これらのフレームワークの使用を簡略化する
  • .
  • Spring Cloudの下にある「Spring Cloud Netflix」モジュールは、主にNetflixの以下の項目をカプセル化しています.
  • Eureka:RESTサービスに基づく分散ミドルウェアで、主にサービス管理
  • に用いられる.
  • Hystrix:フォールトトレランスフレームワークは、遅延バルブ値とフォールトトレランスの論理を追加することによって、分散システムコンポーネントのインタラクション
  • を制御するのに役立ちます.
  • Feign:Webサービスクライアントの開発を簡略化するためのRESTクライアント
  • Ribbon:負荷等化フレームワークは、マイクロサービスクラスタにおいて各クライアントの通信をサポートし、主に中間層アプリケーションの負荷等化
  • を実現する.
  • Zuul:マイクロサービスクラスタにエージェント、フィルタリング、ルーティングなどの機能(ゲートウェイ)
  • を提供する.

    7、Spring Cloudのメインモジュール
  • Spring Cloud Config:分散システムに構成サーバと構成クライアントを提供し、それらの構成を通じて、クラスタ内の構成ファイル
  • をよく管理することができる.
  • Spring Cloud Sleuth:サービス追跡フレームワークは、Zipkin、Apache HTrace、ELKなどのデータ分析、サービス追跡システムと統合でき、サービス追跡、問題解決に便利な
  • を提供した.
  • Spring Cloud Stream:Spring Bootに基づいて「Spring Integration」を統合してMessage Agentミドルウェアを接続するメッセージ駆動マイクロサービスを構築するためのフレームワーク.
  • Spring Cloud Bus:RabbitMQ、Kafkaなどのメッセージエージェントを接続するクラスタメッセージバス
  • 8、環境構築
  • idea:IntelliJ IDEA 2017.2.5 x64
  • maven:3.2.5

  • アリのリモートウェアハウス%MAVEN_の構成HOME%/apache-maven-3.2.5/setting.xml
    mirrorsノードの下に次の構成を追加します.
    <mirrors>
    
        <mirror>
            <id>nexus-aliyunid>
            <mirrorOf>*mirrorOf>
            <name>Nexus aliyunname>
            <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
        mirror> 
    
    mirrors>
  • JDK:1.8.0_131