Spring Cloud FunctionSpring クラウド関数 4.2.0

Spring Cloud Function は、次の高レベルのゴールを持つプロジェクトです。

  • 関数を介したビジネスロジックの実装を推進します。

  • 同じコードを Web エンドポイント、ストリームプロセッサー、タスクとして実行できるように、ビジネスロジックの開発ライフサイクルを特定のランタイムターゲットから分離します。

  • サーバーレスプロバイダー全体で統一されたプログラミングモデルをサポートし、スタンドアロン(ローカルまたは PaaS)で実行する機能をサポートします。

  • サーバーレスプロバイダーで Spring Boot 機能(自動構成、依存性注入、メトリクス)を有効にします。

すべてのトランスポートの詳細とインフラストラクチャを抽象化し、開発者が使い慣れたツールとプロセスをすべて維持し、ビジネスロジックにしっかりと集中できるようにします。

機能

Spring Cloud Function の機能:

  • プログラミングスタイルの選択 - リアクティブ、命令形またはハイブリッド

  • POJO 関数(つまり、何かが @FunctionalInterface セマンティクスに適合する場合、それを関数として扱います)

  • 入力と出力の透過的な型変換

  • リアクティブのある命令関数の合成を含む関数合成

  • 関数を HTTP エンドポイントなどとして公開するための REST サポート。

  • Spring Cloud Stream フレームワークを介した関数との間のデータのストリーミング(Apache Kafka (英語) Solace (英語) RabbitMQ (英語) などを介して)

  • 単一の JVM でマルチバージョンデプロイをサポートするために、分離されたクラスローダーを使用して JAR ファイルとしてパッケージ化された関数をデプロイします

  • ターゲットプラットフォームに固有のデプロイのパッケージ化関数(Project Riff、AWS Lambda など)

  • AWS Lambda [GitHub] (英語) Microsoft Azure [GitHub] (英語) Apache OpenWhisk [GitHub] (英語) 、その他の「サーバーレス」サービスプロバイダー用のアダプター

  • 複数の入力と出力を備えたリアクティブ関数のサポートにより、マージ、結合、その他の複雑なストリーミング操作を関数で処理できます

完全な実行可能かつテスト可能な Spring Boot アプリケーション(単純な文字列操作を実装)は次のとおりです。

@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

  @Bean
  public Function<String, String> uppercase() {
    return value -> value.toUpperCase();
  }
}

GitHub

アーティファクト & サンプル

spring-cloud-function-* の Maven セントラル [Apache] (英語) リポジトリで利用可能な spring-cloud-function のさまざまなモジュールのアーティファクト。少なくとも、spring-cloud-function-context モジュールが必要になります。

プロジェクト GitHub のリポジトリ (英語) で利用可能なサンプルを試すこともできます

相談

貢献したい場合は、現在リストされている課題を選択するか、プロジェクトに役立つと思われる機能を備えた PR を送信することができます。ideal-for-contribution  ラベル [GitHub] (英語) の課題を探すこともできます。

サンプルプロジェクトとコミュニティの貢献

ブログ

Spring Initializr

プロジェクトのクイックスタート

サポートの取得

Tanzu Spring は、1 つのシンプルなサブスクリプションで OpenJDK ™、Spring、Apache Tomcat ® のサポートとバイナリを提供します。

さらに学習したい方に (英語)

今後のイベント

Spring コミュニティで今後開催されるすべてのイベントをチェックしてください。

すべて表示 (英語)