マイクロサービスアーキテクチャと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の関連コンテンツを最初に紹介します。

次の記事:Spring BootとSpring Cloudの間のバージョン選択

おすすめ

転載: blog.csdn.net/m0_37989980/article/details/108392166
おすすめ