Spring Cloud Alibaba は、分散アプリケーションを構築するための包括的なソリューションであり、Alibaba のミドルウェアとシームレスに統合されています。必須コンポーネントのワンストップ ショップを提供し、最小限の構成で済むため、開発が簡素化されます。この文書では、その機能、コンポーネント、使用法、および貢献ガイドラインについて詳しく説明します。
春の雲 Alibaba
アリババが管理するプロジェクト。
中国語の Readme については、「中文档」を参照してください。
Spring Cloud Alibaba は、分散アプリケーション開発のためのワンストップ ソリューションを提供します。分散アプリケーションの開発に必要なすべてのコンポーネントが含まれているため、Spring Cloud を使用してアプリケーションを簡単に開発できます。
Spring Cloud Alibaba を使用すると、いくつかのアノテーションと少量の構成を追加するだけで、Spring Cloud アプリケーションを Alibaba の分散ソリューションに接続し、Alibaba ミドルウェアを使用して分散アプリケーション システムを構築できます。
特徴
その他の機能については、ロードマップを参照してください。
上記の機能に加えて、企業ユーザーのシナリオのニーズに合わせて、Spring Cloud Alibaba のエンタープライズ バージョンのマイクロサービス エンジン (MSE) は、グレースケール リリース、サービスなどのより強力なガバナンス機能を含むエンタープライズ レベルのマイクロサービス ガバナンス センターを提供します。ウォームアップ、ロスレスのオンラインおよびオフライン、異常値の除去。同時に、エンタープライズレベルのNacos登録/構成センター、エンタープライズレベルのクラウドネイティブゲートウェイなど、さまざまな製品やソリューションも提供します。
コンポーネント
Sentinel: Sentinel は、「トラフィック フロー」をブレークスルー ポイントとして捉え、サービスの安定性を保護するために、フロー制御、同時実行、回路遮断、負荷保護などの分野でソリューションを提供します。
Nacos: クラウド ネイティブ アプリケーションを構築するための、使いやすい動的なサービス検出、構成、およびサービス管理プラットフォーム。
RocketMQ: 低遅延、高いパフォーマンスと信頼性、兆レベルの容量、柔軟な拡張性を備えた分散メッセージングおよびストリーミング プラットフォーム。
Seata: マイクロサービス アーキテクチャ向けの高いパフォーマンスと使いやすさを備えた分散トランザクション ソリューション。
Alibaba Cloud OSS: 世界中のどこからでも大量のデータを保存、処理、アクセスできる、暗号化された安全なクラウド ストレージ サービスです。
Alibaba Cloud SMS: 世界中をカバーするメッセージング サービスである Alibaba SMS は、企業が顧客に迅速に連絡できるようにする便利で効率的かつインテリジェントな通信機能を提供します。
Alibaba Cloud SchedulerX: 数秒以内の応答時間を持つ、正確で信頼性が高く、可用性の高いスケジュールされたジョブ スケジューリング サービスです。
その他の機能については、ロードマップを参照してください。
構築方法
Spring Cloud はほとんどのビルド関連アクティビティに Maven を使用します。興味のあるプロジェクトのクローンを作成して次のように入力することで、すぐに作業を開始できるはずです。
使用方法
Maven 依存関係を追加する
これらのアーティファクトは、Maven Central および Spring Release リポジトリから BOM 経由で入手できます。
モジュールを依存関係に追加します。古いバージョンを選択する場合は、リリース ノートを参照してください。
例
Spring Cloud Alibaba をすぐに使い始めることができるように、 spring-cloud-alibaba-examples モジュールがプロジェクトに含まれています。これには例が含まれており、サンプル プロジェクトの Readme ファイルを参照して簡単に説明できます。
例:
センチネルの例
ナコスの例
RocketMQ の例
Alibaba Cloud OSS の例
バージョン管理ガイドライン
プロジェクトのバージョン番号は xxx の形式で、x は 0 から始まる数字であり、0 ~ 9 の範囲に限定されません。プロジェクトがインキュベータ段階にある場合、バージョン番号は 0.xx です。
Spring Boot 1 と Spring Boot 2 のインターフェイスとアノテーションは Actuator モジュールで大幅に変更されており、spring-cloud-commons も 1.xx から 2.0.0 に大幅に変更されているため、以下と同じバージョン ルールを採用します。 SpringBoot のバージョン番号。
行動規範
このプロジェクトは Spring Cloud のサブプロジェクトであり、Contributor Covenant の行動規範に準拠しています。参加することにより、この規範を遵守することが期待されます。容認できない行為は [email protected] に報告してください。
コードの規約とハウスキーピング
これらはいずれもプル リクエストに必須ではありませんが、すべて役に立ちます。元のプル リクエストの後、マージ前に追加することもできます。
Spring Framework のコード形式規則を使用します。 Eclipse を使用している場合は、Spring Cloud Build プロジェクトから eclipse-code-formatter.xml ファイルを使用してフォーマッタ設定をインポートできます。 IntelliJ を使用している場合は、Eclipse コード フォーマッタ プラグインを使用して同じファイルをインポートできます。
すべての新しい .java ファイルに、少なくとも自分を識別する @author タグを含む単純な Javadoc クラス コメントが含まれていることを確認してください。また、できればクラスの目的に関する少なくとも段落を含めてください。
ASF ライセンス ヘッダー コメントをすべての新しい .java ファイルに追加します (プロジェクト内の既存のファイルからコピーします)。
(表面的な変更以上に) 大幅に変更する .java ファイルに自分自身を @author として追加します。
いくつかの Javadoc を追加し、名前空間を変更する場合はいくつかの XSD doc 要素を追加します。
いくつかの単体テストも非常に役立ちます。誰かがそれを行う必要があります。
他にあなたのブランチを使用している人がいない場合は、現在の 2023.x (またはメイン プロジェクトの他のターゲット ブランチ) に対してリベースしてください。
コミット メッセージを作成するときは、次の規則に従ってください。既存の問題を修正する場合は、コミット メッセージの最後に Fixes gh-XXXX を追加してください (XXXX は問題番号です)。
お問い合わせ
spring-cloud-alibaba に関連するほぼすべてのことについて議論するには、メーリング リストをお勧めします。
[email protected]: spring-cloud-alibaba の使用または開発中に問題が発生した場合は、ここで質問できます。