目次
1. SpringCloudAlibabaの紹介
Spring Cloud Alibabaは、Alibabaが提供するマイクロサービス開発のワンストップソリューションであり、AlibabaのオープンソースミドルウェアとSpringCloudシステムを統合したものです。
Ma先生は、ダブル11、右側のAliオープンソースコンポーネントを残し、プログラマーのショッピングカートを占有するだけでなく、すべての開発ツールも占有します。
1.1。最初にSpringCloudについて話させてください
マイクロサービスを持ち上げ、私は言及する必要がありSpring Cloud全家桶系列
、SpringCloud
いくつかを含むフレームワークの集合であるspring-cloud-eureka
、spring-cloud-zuul
、spring-cloud-config
、spring-cloud-bus
および約20サブプロジェクト、サービス管理を提供し、サービスゲートウェイ、インテリジェント・ルーティング、ロードバランシング、回路遮断器、分散メッセージキューを追跡するモニター、構成管理などの分野のソリューション。
Spring Cloud
Spring 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のミドルウェアを介して分散アプリケーションシステムを迅速に構築するために、いくつかの注釈と少量の構成を追加するだけで済みます。
するにはSpring Cloud Alibaba
を参照するためのコード貢献貢献する方法を。
2.主な機能
ダウングレードを制限するサービス:デフォルトサポートWebServlet
、WebFlux
、OpenFeign
、RestTemplate
、Spring Cloud Gateway
、Zuul
、Dubbo
およびRocketMQ
ダウングレードを制限するアクセスはサポートが見ても格下げを制限し、ダウングレードルールを制限リアルタイムにコンソールで実行時に変更することができるMetrics
モニターを。
サービスの登録と検出:適応Spring Cloud
サービスの登録と検出の標準、デフォルトの統合Ribbon
サポート。
分散構成管理:分散システムでの外部構成をサポートし、構成が変更されると自動的に更新されます。
メッセージ駆動型容量:Spring Cloud Stream
メッセージ駆動型マイクロサービスアプリケーションの容量の構築に基づきます。
分散トランザクション:@GlobalTransactional
注釈、分散トランザクションのビジネス問題に対する効率的で非侵襲的なソリューションを使用します。
Alibaba Cloud Object Storage:Alibaba Cloudが提供する、大規模で安全、低コスト、信頼性の高いクラウドストレージサービス。あらゆる種類のデータをあらゆるアプリケーションで、いつでも、どこでも保存およびアクセスするためのサポート。
分散タスクスケジューリング:第2レベルの、正確で、信頼性が高く、可用性の高いタイミング(Cron式に基づく)タスクスケジューリングサービスを提供します。同時に、グリッドタスクなどの分散タスク実行モデルを提供します。グリッドタスクは、実行のためにすべてのワーカー(schedulerx-client)への海の量子タスクの均一な分散をサポートします。
Alibaba Cloudショートメッセージサービス:企業が顧客アクセスチャネルを迅速に構築するのに役立つ、フレンドリーで効率的かつインテリジェントな相互接続通信機能を備えたグローバルショートメッセージサービス。
3.主要コンポーネント
次の図(写真はネットワークからのもの)は、Spring Cloud Alibaba
Alibabaオープンソースコンポーネント、Alibaba Cloud商用コンポーネント、統合されたSpring Cloudコンポーネントを含む一連のコンポーネントです
。Sentinel:トラフィック制御、ヒューズのダウングレード、システムからのエントリポイントとしてトラフィックを使用します負荷保護など。複数の次元がサービスの安定性を保護します。
Nacos:クラウドネイティブアプリケーションの構築を容易にする動的なサービス検出、構成管理、およびサービス管理プラットフォーム。
RocketMQ:高可用性分散クラスターテクノロジーに基づくオープンソースの分散メッセージングシステムは、低遅延で信頼性の高いメッセージ発行およびサブスクリプションサービスを提供します。
Dubbo:ApacheDubbo™は高性能のJavaRPCフレームワークです。
Seata:アリババのオープンソース製品である、使いやすい高性能マイクロサービス分散トランザクションソリューション。
Alibaba Cloud OSS:Alibaba 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 1
とSpring 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ミドルウェアを使用しています。