マイクロサービスソリューション向けのSpringCloud

(1)SpringCloudの基本的な紹介

Spring Cloudは、2015年にPivotalによってリリースされたプロジェクトです。多くの人がPivotalを知らないかもしれません。SpringはPivotalによって開発されています。

業界の主流のマイクロサービスソリューションには、主に次のものが含まれます。SpringCloud
Netflix
SpringCloudAlibaba

簡単に言うと、Spring Cloudには、構成管理サービスの検出、融合、インテリジェントルーティングなど、開発者がマイクロサービスアプリケーションをすばやく構築できるツールがいくつか用意されています。これらのサービスは、あらゆる分散環境で適切に機能します。Spring Cloudは、主に次の問題の解決に取り組んでいます。

Distributed/versioned configuration 分布式及版化配置
Service registration and discovery  服务注册与发现
Routing  服务路由
Service-to-service calls  服务调用
Load balancing  负载均衡
Circuit Breakers  断路器
Global locks 全局锁
Leadership election and cluster state   Leader选举及集群状态
Distributed messageing 分布式消息

Spring Cloudは、Springチームによって開発された新しいフレームワークではなく、Spring Cloud仕様に基づいてマイクロサービスアーキテクチャの一般的な問題を解決する、より優れたオープンソースフレームワークのいくつかを統合し、それらを再パッケージ化するだけであることに注意してください。 Spring Bootフレームワーク。複雑な構成はシールドされており、開発者にすぐに使用できる優れたマイクロサービス開発エクスペリエンスを提供します。Spring Cloudが実際に一連の仕様であり、Spring Cloud Netflix、Spring Cloud Consul、およびSpring CloudAlibabaがSpringCloud仕様の実装であることを確認するのは難しくありません。

(2)SpringCloudバージョンの紹介

Spring Cloudは、大手企業のオープンソース技術を統合した一連の仕様であり、これらのオープンソース技術のリリースは各企業によって維持され、各サブプロジェクトは独自のリリースバージョン番号を維持しているため、伝統的な意味のバージョンの命名は、代わりに対応するバージョンの年代順と組み合わせて、アルファベット順に従っメジャーバージョンを定義するには、ロンドンの地下鉄の駅の名前を使用するのでは、以前のバージョンのリリース順序
ここに画像の説明を挿入
春クラウドは、次のように各Spring CloudのメジャーバージョンはBOM(Bill of Materials)を通過して、各サブプロジェクトのバージョンリストを管理します。次の図は、Spring Cloud公式Webサイトによって提供される各サブプロジェクトのバージョンリストを示しています。ヘッダー(Edgware.SR6、 Greenwich.SR2)は、SpringCloudのメジャーバージョン番号を示します。表の内容は、現在のメジャーバージョン番号に対応するすべてのサブプロジェクトのバージョン番号です。簡単に言うと、Spring CloudのバージョンをEdgware.SR6に導入すると、依存するSpring-Cloud-Awsのバージョン番号は1.2.4.RELEASEになり、Spring-Cloud-Busのバージョン番号は1.3になります。 4.リリース。注意深い読者は、SpringCloudバージョン番号の後に追加のSR6 / .SR2があることに気付くでしょう。SpringCloudプロジェクトのリリースが重大なポイントに蓄積された後、またはいくつかの重大なバグを解決した後、SRXと呼ばれるサービスリリースバージョンは、 Xは増加する数です。

ここに画像の説明を挿入

SpringCloudのすべてのサブプロジェクトがSpringBootフレームワークに依存しているため、SpringBootフレームワークのバージョン番号とSpringCloudのバージョン番号の間にも依存関係と互換性の関係があることに注意してください。図2-2に示すように、これはSpringCloudによって公式に提供されているバージョン依存関係です。エッジウェアとダルストンはSpringBoot 1.5.xで構築できますが、Spring Boot2.0.xとは互換性がありません。また、Finchleyバージョン以降、Spring Bootバージョンは2.0.x以上である必要があり、Spring Boot1.5.Xはサポートされていません。

ここに画像の説明を挿入

(3)SpringCloud仕様に基づくSpringCloudNetflixの実装

Spring Cloudエコシステムの下でのサービスガバナンスには、Spring CloudNetflixとSpringCloudAlibabaの2つの主要なソリューションがあります。これらの2つのソリューションは、NetflixOSSとSpringCloud仕様に基づくAlibabaのサービスガバナンスシステムの統合です。この本は、詳細な説明のために主にSpringCloudのAlibabaエコロジーに基づいています。

Spring Cloud Netflixは主に、次のコンポーネントを含む、マイクロサービスアーキテクチャの下でのサービスガバナンスのソリューションを提供します。

ここに画像の説明を挿入
注:Netflixがメンテナンスモードに入ることを発表した次のコンポーネント。主要な機能のアップグレードはありません。
ここに画像の説明を挿入

(4)SpringCloud仕様に基づくSpringCloudAlibabaの実装

(1)技術的枠組み

Spring Cloud Alibabaは、SpringCloud仕様に基づくAlibabaGroupの下でのオープンソースコンポーネントとクラウド製品の実装です。2018年10月31日、Spring CloudAlibabaはSpringCloudの公式インキュベーターに正式に参入し、最初のプレビューバージョンをリリースしました。

Spring Cloud Alibabaは、主にマイクロサービス開発のワンストップソリューションを提供し、開発者がSpringCloudプログラミングモデルを通じてマイクロサービスアーキテクチャの下でさまざまな技術的問題を簡単に解決できるようにします。以下は、Spring CloudAlibabaエコシステムの主な機能コンポーネントです。これらのコンポーネントには、オープンソースコンポーネントとAlibabaCloud製品コンポーネントが含まれます。クラウド製品は有料です。

ここに画像の説明を挿入

(2)アドバンテージ分析

1.アリババのオープンソースコンポーネントは、Spring Cloudエコシステムに組み込まれる前に主要企業で広く使用されてきたため、Spring Cloudエコシステムに統合することで、開発者はテクノロジーの統合と移行を簡単に実装できます。

2.アリババのオープンソースコンポーネントは、サービスガバナンスと高い同時実行性を処理する能力において自然な利点があります。結局、これらのコンポーネントは、いくつかのダブル11テストを受け、主要なインターネット企業によって大規模に適用されています。したがって、Spring Cloud Netflixと比較して、Spring CloudAlibabaのサービスガバナンス機能は国内の技術シナリオに適しています。同時に、Spring CloudAlibabaはSpringCloud Netflixのネイティブ機能を完全にカバーするだけでなく、より安定した成熟した機能も提供します。実装については、SpringCloudAlibabaの将来の開発について非常に楽観的です。

(3)SpringCloudAlibabaのバージョン

Spring Cloud Alibabaは、2018年10月31日に最初のプレビューバージョンである0.2.0.RELEASEと0.1.0.RELEASEをリリースしました。そのうち、0.1.0.RELEASEはSpring Boot 1.5.xと互換性があり、0.2.0.RELEASEは互換性があります。 Spring Boot1.5.xと互換性があります。SpringBoot2.0.xは互換性があります。SpringCloudは
統合のためのSpringBootフレームワークに基づいており、Spring Boot1とSpringBoot 2はクラスやいくつかの構成に関する注意事項などの点で大きな変更があります。古いバージョンとの互換性があると見なされます。

現在、Spring Cloud Alibabaは2つの卒業バージョンをリリースしています。最新バージョンは、図に示すように、各サブプロジェクトのバージョン関係に対応しています。
ここに画像の説明を挿入

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Octopus21/article/details/113789615