転載免責事項:記事のソースはティーンエイジャーの袋を運ぶことです
この記事の内容:
- 最初に書く
- 1.マイクロサービスアーキテクチャとは
- 2. Spring Cloudの概要
- 3. Spring Cloud統合の品質プロジェクトは何ですか
- 4.Dubbo対Spring Cloud
- 5. Spring Cloudシステムの非常に多くのフレームワークを学ぶ必要がありますか?
- 6. Spring Cloudがアップグレードした代替
最初に書く
Spring Cloudを学ぶ前に、マイクロサービスアーキテクチャについてよく知らない場合は、まずそれが何であるかを理解しましょう微服务架构
。
1.マイクロサービスアーキテクチャとは
2014年3月、Martin Fowlerは新しいアーキテクチャシステムを提案しました"微服务架构"
。
(写真:https : //martinfowler.com/aboutMe.html)
マイクロサービスアーキテクチャは、アーキテクチャパターンです。それは将单一应用程序划分成一组小的服务
サービス間の相互調整と構成を提唱し、ユーザーに究極の価値を提供します。每个服务运行在器独立的进程中
サービスと轻量级的通信机制
相互運用可能なサービス(通常、Restful API HTTPプロトコルに基づく)の間で採用されます。構築する特定のビジネスに関する各サービスなど能够被独立的部署到生产环境、类生产环境
。また、統一された集中型のサービス管理メカニズムはできるだけ回避する必要があります。特定のサービスについては、ビジネスコンテキストに応じて適切な言語とツールを選択し、構築する必要があります。
2. Spring Cloudの概要
マイクロサービスアーキテクチャシステムについて理解したところで、Spring Cloudを見てみましょう。まず第一に、私に思い出させてください:私たちの第一印象は、Spring Cloudをテクノロジーやフレームワークと見なしてはなりません。
Spring Cloud 其实是一系列框架的有序集合
。それは巧みに分散システムインフラの開発、などの簡素化春ブーツの開発を容易に使用して服务发现注册
、配置中心
、消息总线
、负载均衡
、断路器
、数据监控
、など、開発の春ブーツスタイルで行うことができます起動し、展開するためのキーを。
Spring Cloud 并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
(百度百科事典からの概念的なテキスト:春の雲)
このように理解できます。Spring Cloud = 分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。
まず、
マイクロサービスアーキテクチャシステムのコンポーネントを紹介する写真を投稿しましょう。マイクロサービスアーキテクチャプロジェクトを開発する場合は、Spring Cloudの前に。フレームワークの使用に関しては、手動で選択する必要があります。例えば:
特徴 | フレーム/コンポーネントの選択 |
---|---|
サービスコール | リボン |
サービス融合 | 中央 |
サービスメッセージ | ロケットMQ |
自動ビルドデプロイメント | Docker / Jenkins |
… その他 | …その他 |
フレームワークフレームワークを選択した後、これらのフレームワークは異なる会社によって開発された製品であるため。使用の過程で、あなたが頻繁に遭遇すること版本兼容性
や多个框架之间的协调性
その他の問題は避けられません。明らかにこれは非常に困難な問題であり、遭遇するバグに対処する方法がない場合もあります。
他来了,他来了,Spring 带着 微服务全家桶 Spring Cloud 向我们走来了
。この時点で、1つずつ選択する必要はなくなりました。SpringCloudですべてを実行するだけで済みます。これは、私たちのプログラミングの世界にとって明らかに大きな恩恵です。
3. Spring Cloud統合の品質プロジェクトは何ですか
Spring Cloudはそのような牛以来组件/框架
、技術サポートのために後ろにもっと多くのものが必要であり、互換性、調整の側面は良い組み合わせを持つべきです。このSpring Cloudの大規模なコレクションに統合されているテクノロジー(21)の 数を見てみましょう:(画像:Spring Cloud中国語ネット公式ドキュメント中国語版)
4.Dubbo対Spring Cloud
Spring Cloudはマイクロサービス開発の主流のテクノロジースタックになり、国内の開発者コミュニティでも非常に人気があります。ダボもマイクロサービスを行うことができますが。Dubboは8年以上前の2012年にオープンソース化されました。Dubboの開発中、AliはかつてDubboのメンテナンスをあきらめましたが、何らかの理由で後にApacheに寄付しました。
ダボフレームワークは古いです。現在Spring Cloud Alibaba
、正式にSpring Cloud
ファミリーに追加されています。そしてSpring Cloudは、ダボよりも間違いなく支持される最新のテクノロジーです。
次の開発では、マイクロサービスプロジェクトにSpring Cloud 2.x + Spring Cloud Alibabaを使用することをお勧めします。(会社の必要に応じて、ダボを使用してそれを行うこともできます。技術的には、古いものではなく新しいものを使用してください)
春の雲 | ダボ | |
---|---|---|
サービス登録の発見 | ユーレカ、zk、領事 | zk |
サービスコール方法 | 残りの道 | RPC |
サービスの監視 | 春のブート管理者 | ダボモニター |
ヒューズのダウングレード | Hystrix / Sentinel | 不完全(模擬) |
サービスゲートウェイ | ズール/ゲートウェイ | 番号 |
分散構成センター | 構成/ nacos | 番号 |
メッセージバス | バス | 番号 |
MQメッセージのデータフロー | ストリーム | 番号 |
5. Spring Cloudシステムの非常に多くのフレームワークを学ぶ必要がありますか?
先に紹介した画像では、Spring Cloudの大規模なコレクションに21のテクノロジーが統合されていることがわかります。そのため、それほど多くのテクノロジー/フレームワークを学ぶ必要がありますか??(馬鹿な顔、大きな頭で...)
非常に多くの技術があれば、明らかにそれらすべてを学ぶ必要はありません。大規模な工場の使用状況に応じて、各サービスに対応するテクノロジー/フレームワークの一部を習得するだけで済みます。下の図に示すように:
しかし、良い時間は長くはありません2018 年 Eureka 2.0 版本的闭源,开源版本停止更新
。(EurekaはNetflixの出身です)。その後、多くのテクノロジーがオン/オフに変更 / 停止 / アップグレードされました。几乎全套都停更了!!!
。その結果、春の雲はしばらくの間困難になりました。
図で説明した上記は、2020年2月までまだ主流の技術です。さまざまなテクノロジーとともに停更引发的"惨案"
、Spring Cloudは代わりに他のテクノロジーを選択せざるを得ませんでした。
6. Spring Cloudがアップグレードした代替
Spring Cloudシステムのさまざまなテクノロジーが停止したため几乎全套都停更了
、Spring Cloudはアップグレードに代わる他のテクノロジーを選択せざるを得なくなりました。Spring Cloudのアップグレードされた技術アーキテクチャを次の図に示します。
- サービスレジストリ:
Spring Cloud Alibaba Nacos
Consulではなく推奨(会社が新しいテクノロジーを使用したくない場合は、サービスレジストリとしてZKを使用することもできます) - サービスコール:リボン使用。しかし、この小さな友達にも少し問題があります、彼は中途半端なガジェットで、メンテナンスの状態に入っています。
Spring 官方还在继续用,但是后续会推出一个 Spring Cloud LoadBalancer ,它会慢慢取代 Ribbon
(公式注記:リボンは引き続き使用できますが、更新は停止されます。)(おかしな言い方:リボン停止は軽度の患者であり、ユーレカはICUにいて死亡しています。) - サービスコール2:リボンと同じくらい有名なFeignがほとんど亡くなりました。このバディは長い間更新されていないため、Springコミュニティは待つ余裕がないため、新しいバディを取得しています
OpenFeign
。(Feignはもう使用できません。使用できません。2020年にOpenFeignを使用することをお勧めします) - ダウングレードサービス:フィールドをダウングレードしたサービスは、ヤマアラシの兄弟を昇格
Hystrix
させます。しかし、山嵐は死んでいます。公式Webサイトは推奨されなくなりました。しかし中国では、Hystrix Porcupineは、Spring Cloudに付属する一連のサービスダウングレードおよびヒューズフレームワークであり、まだ大規模に使用されています。Hystrixが停止された後、外国人はそれをお勧めしますresilience4j
、しかし、中国では、我々はまだ春の雲のAlibabaのセンチネル(強く推奨、Hystrixよりも良い)をお勧めします - サービスゲートウェイ:
Zuul
Netflixにも属しています。它就有点搞笑了,内部开发团队产生分裂,自己把自己作死了。
ネットフレックスの会社の舞台裏は、それ自体で別のZuul2を作りたかったが、開発に失敗した。この時点で、Springは新しいサービスゲートウェイを独自gateway
に開発しました。これは、現在推奨されているメインストリームゲートウェイサービスコンポーネントです。 - サービス
Spring Cloud Config
構成:。使用されなくなりました。現在主流の推奨事項:。1.携程网的 apolo
2. 强烈推荐使用 Spring Cloud Alibaba Nacos(强烈推荐)
- バスサービス:を使用したSpring Cloudネイティブ。
Bus
徐々にSpring Cloud Alibaba Nacos
置き換えられています。
マイクロサービスアーキテクチャとSpring Cloudの関連コンテンツを最初に紹介します。