Benpianは、「フォローミー春クラウドアリババ、」シリーズの最初であります
各問題の記事は、公開開始番号「アーキテクチャの進化」、歓迎の注意に更新されます。
1.春クラウドアリババとは何ですか
春クラウドアリババアリババはアリババは、オープンソースのミドルウェアや春のクラウドシステムの統合で、マイクロサービスの開発をワンストップソリューションを提供しています。
馬、二から一一左手、右手アリオープンソースコンポーネントは、だけでなく、ショッピングカートのプログラマを占有するだけでなく、すべての人の開発ツールを捕獲しました。
私たちは春のクラウドについてお話しましょう
私は春の雲の家族のバケットシリーズを言及する必要があり、マイクロサービスを持ち上げ、SpringCloudは春・クラウド-config設定、春・クラウド・バス約20のサブプロジェクト、サービス提供管理、サービスゲートウェイ、インテリジェントなルーティングを含むいくつかのコレクションフレームワーク、です、分散メッセージキュー、構成管理ソリューションのフィールドに、トラックを監視する負荷分散、回路遮断器、。
春ブーツスタイルのパッケージによって春の雲は、設定と実装の原則の複雑性をマスクし、そして最終的にはさておき、開発者セットシンプルのセットと、理解しやすい、分散システム開発キットを展開することは容易に。
一般的に、春クラウドは、次のコンポーネントが含まれ、主に基づくオープンソースのNetflix。
春の雲アリババ
スプリングクラウドと同じように、スプリングクラウドアリババが容易スプリングクラウドサービス・プログラミング・モデルによる分散アプリケーションを開発するためにこれらのコンポーネントを使用する開発者を容易にするために、マイクロサービスの分散アプリケーションを開発するために必要な構成要素を含むマイクロサービスソリューションです。
春クラウドアリババを頼って、あなただけのいくつかのメモや構成の少量を追加する必要があり、あなたはすぐにアリミドルウェアによる分散アプリケーションを構築するためにアプリケーション春の雲アリマイクロサービスソリューションにアクセスすることができます。
などネットフリックス、領事、飼育係を、比較として、公式や他のサードパーティの実装と春の雲、春の雲アリババコンポーネントの新しい実装方式としては、より多くの機能を持っています:
2、春クラウドアリババは、アセンブリあって
この図は、オープンソースコンポーネントアリ、アリ雲商用コンポーネント、および統合春クラウドコンポーネントが含まれて春クラウドアリババシリーズコンポーネント、です。
アリのオープンソースコンポーネント
ナコス:動的なクラウドネイティブアプリケーションサービスの発見、構成管理およびサービス管理プラットフォームを構築しやすいです。
センチネル:出発点、流量制御、ヒューズダウングレード、負荷保護システムの寸法安定性を保護複数のサービスとして流量。
RocketMQ:オープンソースの分散型メッセージングシステム、分散型クラスタベースの高可用性テクノロジは、低レイテンシを提供するために、信頼性の高い公開とメッセージングサービスをサブスクライブ。
ダボ:これを言うまでもなくは、広く国で使用されている高性能のJava RPCフレームワークです。
Seata:アリババオープンソース製品、高性能マイクロサービス、ソリューションを使用して簡単にトランザクションを配布しました。
Arthasは:バイトコードエンハンスメント技術をベースとしたオープンソースのJavaの動的追跡ツール、非常に強力。
アリ商用コンポーネント
営利企業として、アリババは、市がそのクラウドの提供を促進するため、開発者のエコシステムをつかむしたいと考えている大部分は、春の雲アリババを開始しました。そのため、オープンソースコミュニティでは、密輸巻き込みの多くは、私はアリの仕事で使用しているコンポーネントのこの部分は、使用および安定性の全体的な容易さは非常に高いです。
アリババクラウドACM:集中型のアプリケーション構成の管理とプッシュセンター製品は、分散型アーキテクチャ環境で構成されています。
アリババクラウドOSS:アリクラウドオブジェクト・ストレージ・サービス(OSSと呼ばれるオブジェクトストレージサービスは、)、アリ雲が提供するクラウドストレージサービスです。
アリババクラウドSchedulerX:アリのミドルウェアチームは、セカンドレベル、正確なタイミングタスクスケジューリング(cronの式がベース)のサービスを提供するために、分散タスクスケジューリング製品を開発しました。
春のクラウド統合コンポーネント
マイクロコンポーネントを解決するためのサービスのフルレンジとして春の雲アリババ、アリは、現在のオープンソースコンポーネントに依存している現在の十分ではありません、より統合されたコミュニティ要素、春クラウドアリババは、ゲートウェイなどOpenFeign Zuulを、統合することができますので、また春クラウドストリームのニュースをサポートしていますコンポーネント。
3、Spring Cloud Alibaba 功能
那么作为微服务解决方案, Spring Cloud Alibaba是如何支持微服务治理的各个功能。
服务注册与发现
Spring Cloud Alibaba 基于 Nacos 提供 spring-cloud-alibaba-starter-nacos-discovery & spring-cloud-alibaba-starter-nacos-config 实现了服务注册 & 配置管理功能。依靠 @EnableDiscoveryClient 进行服务的注册,兼容 RestTemplate & OpenFeign 的客户端进行服务调用。
适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
支持多协议的服务调用
Spring Cloud 默认的服务调用依赖 OpenFeign 或 RestTemplate 使用 REST 进行调用。
使用 @DubboTransported 注解可将底层的 Rest 协议无缝切换成 Dubbo RPC 协议,进行 RPC 调用。
@FeignClient("dubbo-provider") @DubboTransported(protocol = "dubbo") public interface DubboFeignRestService { @GetMapping(value = "/param") String param(@RequestParam("param") String param); @PostMapping("/saveB") String saveB(@RequestParam("a") int a, @RequestParam("b") String b); }
服务限流降级
作为稳定性的核心要素之一,服务限流和降级是微服务领域特别重要的一环,Spring Cloud Alibaba 基于 Sentinel,对 Spring 体系内基本所有的客户端,网关进行了适配,
默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入。
Sentinel应用比较简单,只需引入 starter,即可生效,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
微服务消息驱动
支持为微服务应用构建消息驱动能力,基于 Spring Cloud Stream 提供 Binder 的新实现: Spring Cloud Stream RocketMQ Binder,
也新增了 Spring Cloud Bus 消息总线的新实现 Spring Cloud Bus RocketMQ。
分布式事务
使用 Seata 解决微服务场景下面临的分布式事务问题。
使用 @GlobalTransactional 注解,在微服务中传递事务上下文,可以对业务零侵入地解决分布式事务问题。
阿里云提供的商业能力
通过上面提到的OSS,schedulerx等组件,开发者可以在阿里云上实现对象存储,分布式任务调度等功能。
4、为什么我看好 Spring Cloud Alibaba
Spring Cloud Alibaba 虽然诞生时间不久,但是背靠大树好乘凉,赖于阿里巴巴强大的技术影响力,已经成为微服务解决方案的重要选择之一。
我认为 Spring Cloud Alibaba 的优势有以下几点:
-
阿里巴巴强大的技术输出能力
阿里巴巴无疑是国内开源技术领域的最有影响力的公司之一,已经有Dubbo、Druid,FastJson等成功的开源组件,
再加上阿里不遗余力的推广,社区发展也非常快。
-
集成Dubbo,利用Dubbo在微服务领域的超高人气
Dubbo是国内应用最广的分布式服务框架之一,基于Dubbo改造的Dubbox等也有很多公司在使用,
Spring Cloud Alibaba对Dubbo做了比较好的集成,可以吸引不少使用Dubbo的开发者。
-
云原生趋势,集成阿里云商业化组件
云原生(Cloud Native)是今年技术领域特别热门的一个词,云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。
Spring Cloud Alibaba 集成了阿里云的商业化组件,可以说天然支持云原生特性。
4、总结
今天简单介绍了 Spring Cloud Alibaba 的系列组件,以及支持的功能。
作为Spring Cloud开源社区的新人,你是否看好 Spring Cloud Alibaba 的发展,欢迎留言一起讨论。