「SpringCloudAlibabaマイクロサービスアーキテクチャ」特別トピック(1)-SpringCloudAlibabaの最初の理解

1. SpringCloudAlibabaの紹介

Spring Cloud Alibabaは、Alibabaが提供するマイクロサービス開発のワンストップソリューションであり、AlibabaのオープンソースミドルウェアとSpringCloudシステムを統合したものです。

Ma先生は、ダブル11、右側のAliオープンソースコンポーネントを残し、プログラマーのショッピングカートを占有するだけでなく、すべての開発ツールも占有します。

1.1。最初にSpringCloudについて話させてください

マイクロサービスを持ち上げ、私は言及する必要がありSpring Cloud全家桶系列SpringCloudいくつかを含むフレームワークの集合であるspring-cloud-eurekaspring-cloud-zuulspring-cloud-configspring-cloud-busおよび約20サブプロジェクト、サービス管理を提供し、サービスゲートウェイ、インテリジェント・ルーティング、ロードバランシング、回路遮断器、分散メッセージキューを追跡するモニター、構成管理などの分野のソリューション。

Spring CloudSpring Bootスタイルパッケージによって、構成と実装の原則の複雑さを覆い隠し、最終的には、開発者がシンプルで理解しやすく、展開しやすい分散システム開発キットのセットを確保しました。

一般的に言えば、Spring Cloud主にNetflixオープンソースに基づいた次のコンポーネントが含まれています。
ここに画像の説明を挿入します

1.2。SpringCloudAlibaba

過去2年間で、Aliは新世代のマイクロサービスコンポーネントフレームワークSpring CloudAlibabaを立ち上げました。表示される理由としては、Spring CloudのほぼすべてのコンポーネントがNetflix製品を使用し、それに基づいてカプセル化のレイヤーが作成され、Eurekaなどの多くのNetflixコンポーネントが更新を停止していることが最も重要な理由です。

Spring Cloud Alibabaは、マイクロサービス開発のためのワンストップソリューションの提供に取り組んでいます。このプロジェクトには、分散アプリケーションマイクロサービスの開発に必要なコンポーネントが含まれているため、開発者はこれらのコンポーネントを簡単に使用して、SpringCloudプログラミングモデルを通じて分散アプリケーションサービスを開発できます。

Spring Cloud Alibabaに依存しているため、Spring CloudアプリケーションをAliのマイクロサービスソリューションに接続し、Aliのミドルウェアを介して分散アプリケーションシステムを迅速に構築するために、いくつかの注釈と少量の構成を追加するだけで済みます。

SpringCloudのAlibabaGitHubアドレス

Spring CloudAlibabaの公式ドキュメント

するにはSpring Cloud Alibabaを参照するためのコード貢献貢献する方法を

2.主な機能

ダウングレードを制限するサービス:デフォルトサポートWebServletWebFluxOpenFeignRestTemplateSpring Cloud GatewayZuulDubboおよびRocketMQダウングレードを制限するアクセスはサポートが見ても格下げを制限し、ダウングレードルールを制限リアルタイムにコンソールで実行時に変更することができるMetricsモニターを。
サービスの登録と検出:適応Spring Cloudサービスの登録と検出の標準、デフォルトの統合Ribbonサポート。
分散構成管理:分散システムでの外部構成をサポートし、構成が変更されると自動的に更新されます。
メッセージ駆動型容量Spring Cloud Streamメッセージ駆動型マイクロサービスアプリケーションの容量の構築に基づきます。
分散トランザクション@GlobalTransactional注釈、分散トランザクションのビジネス問題に対する効率的で非侵襲的なソリューションを使用します。
Alibaba Cloud Object Storage:Alibaba Cloudが提供する、大規模で安全、低コスト、信頼性の高いクラウドストレージサービス。あらゆる種類のデータをあらゆるアプリケーションで、いつでも、どこでも保存およびアクセスするためのサポート。
分散タスクスケジューリング:第2レベルの、正確で、信頼性が高く、可用性の高いタイミング(Cron式に基づく)タスクスケジューリングサービスを提供します。同時に、グリッドタスクなどの分散タスク実行モデルを提供します。グリッドタスクは、実行のためにすべてのワーカー(schedulerx-client)への海の量子タスクの均一な分散をサポートします。
Alibaba Cloudショートメッセージサービス:企業が顧客アクセスチャネルを迅速に構築するのに役立つ、フレンドリーで効率的かつインテリジェントな相互接続通信機能を備えたグローバルショートメッセージサービス。

3.主要コンポーネント

次の図(写真はネットワークからのもの)は、Spring Cloud AlibabaAlibabaオープンソースコンポーネント、Alibaba Cloud商用コンポーネント、統合されたSpring Cloudコンポーネントを含む一連のコンポーネントです
ここに画像の説明を挿入します
。Sentinel:トラフィック制御、ヒューズのダウングレード、システムからのエントリポイントとしてトラフィックを使用します負荷保護など。複数の次元がサービスの安定性を保護します。

Nacos:クラウドネイティブアプリケーションの構築を容易にする動的なサービス検出、構成管理、およびサービス管理プラットフォーム。

RocketMQ:高可用性分散クラスターテクノロジーに基づくオープンソースの分散メッセージングシステムは、低遅延で信頼性の高いメッセージ発行およびサブスクリプションサービスを提供します。

Dubbo:ApacheDubbo™は高性能のJavaRPCフレームワークです。

Seata:アリババのオープンソース製品である、使いやすい高性能マイクロサービス分散トランザクションソリューション。

Alibaba Cloud OSSAlibaba Cloud Object Storage Service(OSS)は、Alibaba Cloudが提供する大規模で安全、低コスト、信頼性の高いクラウドストレージサービスです。あらゆる種類のデータを、あらゆるアプリケーション、いつでも、どこでも保存してアクセスできます。

Alibaba Cloud SchedulerX:Alibabaミドルウェアチームによって開発された分散タスクスケジューリング製品であり、第2レベルの正確で信頼性が高く、可用性の高いタイミング(Cron式に基づく)タスクスケジューリングサービスを提供します。

Alibaba Cloud SMS:グローバルSMSサービス、フレンドリーで効率的、インテリジェントな相互接続通信機能。企業が顧客アクセスチャネルを迅速に構築するのに役立ちます。

4.構築方法

マスターブランチはSpring Cloud Greenwich最小サポートに対応しJDK 1.8ます。
フィンチリーブランチはSpring Cloud Finchley最小サポートに対応しJDK 1.8ます。
1.xブランチは、Spring Cloud Edgware最小サポートに対応しJDK 1.7ます。

Spring CloudはMavenを使用してビルドします。これを使用する最も速い方法は、このプロジェクトをローカルで複製してから、次のコマンドを実行することです。

./mvnw install

実行後、プロジェクトはローカルのMavenリポジトリにインストールされます。

5.使用方法

公開バージョンのdependencyManagement追加を使用する必要がある場合は、次の構成を追加します。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.3.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

次に、依存関係で使用する必要のある依存関係を追加します。

6.バージョン管理仕様

プログラムのフォーマットのバージョン番号x.x.xのフォームにxデジタル値の種類は、から0スタート値に限定されるものではなく0~9、この範囲。プロジェクトがインキュベーター段階にある場合、最初のバージョン番号は常に0です。つまり、バージョン番号の形式は0.xxです。

そのためのSpring Boot 1Spring Boot 2ではActuator大きな変化と私たちはSpringBootバージョンと同じバージョン番号を取るので、大きな変更を持っても、バージョン2.0.0からバージョン1.xxのにアップグレードするインタフェースモジュールと、スプリング・クラウド・コモンズのコメント:

1.5.x 版本适用于 Spring Boot 1.5.x
2.0.x 版本适用于 Spring Boot 2.0.x
2.1.x 版本适用于 Spring Boot 2.1.x
2.2.x 版本适用于 Spring Boot 2.2.x
春のブーツ 春の雲 SpringCloudAlibaba
2.1.x グリニッジ 0.9.x
2.0.x フィンチリー 0.2.x
1.5.x エッジウェア 0.1.x
1.5.x ダルストン 0.1.x

7.参照ドキュメント

Spring Cloud Alibaba 2.1.0
https://spring.io/projects/spring-cloud-alibaba#overview

リファレンスドキュメント。
https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html

ドキュメント
https://github.com/alibaba/spring-cloud-alibaba

中国語のドキュメント
https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

Nacos
https://nacos.io/zh-cn/docs/quick-start.html
https://github.com/alibaba/nacos/releases/tag/1.2.1

Sentinel
https://github.com/alibaba/Sentinel

8.まとめ

  • Springは通常、SpringIOCを指します。
  • SpringFrameworkにはSpringIOCとSpringAOPが含まれており、他のJ2EEフレームワークと統合されています。
  • SpringBootはSpringFrameworkの補足であり、フレームワークの統合を容易にし、独立したSpringアプリケーションの迅速な開発に取り組んでいます。
  • Spring Cloudは、Spring Bootに基づいて設計された一連のマイクロサービス仕様であり、アプリケーションコンテキストを強化します。
  • Spring Cloud Alibabaは、SpringCloudのマイクロサービス仕様を実装するための原材料としてAliミドルウェアを使用しています。

おすすめ

転載: blog.csdn.net/BruceLiu_code/article/details/113769041