バックエンド マイクロサービス Webflux 用 Java ライブラリの紹介 (Reactor-core)
リンク github: https://github.com/hoangtien2k3/reactify-core
1.ライブラリの概要
このライブラリは、リアクティブ プログラミングをサポートする 2 つの強力なツールである Spring WebFlux と Reactor-Core のコア コンポーネントに基づいて構築されています。このライブラリを使用すると、非線形データ ストリームを効率的に処理する非同期マイクロサービス アプリケーションを簡単に構築できます。
主な機能は次のとおりです:
- 完全なリアクティブ プログラミングのサポート: ストリームベースの非同期データ処理。
- 高パフォーマンスの最適化: 必要なスレッドの数を最小限に抑え、CPU リソースを最大化します。
- 簡単なスケーラビリティ: ユーザーからの大量のリクエストを処理する必要があるマイクロサービス システムに適しています。
2.図書館のメリット
高性能と優れた応答性:
ノンブロッキング メカニズムを使用するこのライブラリは、スレッドを作成しすぎずに数千の同時リクエストを処理できるため、リソースの負荷が軽減され、応答速度が向上します。簡単なストリーム処理:
Reactor-Core は、リアルタイム通知システム、イベント処理、ビッグ データ処理システムなどの連続データを処理する必要があるアプリケーションに適した、ストリーム処理用の強力な API を提供します。Spring エコシステムとの簡単な統合:
このライブラリは、Spring Security、Spring Data R2DBC などの Spring エコシステムのコンポーネントと適切に連携するように設計されており、より少ない労力で完全なアプリケーションを構築できます。
リアクティファイコアのセットアップ
1. アノテーション @ComponentScan を使用してすべてのライブラリをスキャンします
@ComponentScan(basePackages = { "com.reactify.*", // add default: com.reactify.* "com.example.myproject" // varies depending on your project }) @SpringBootApplication public class ExampleApplication { public static void main(String[] args) { SpringApplication.run(Example.class, args); } }
2. プロジェクト ファイル application.yml または application.properties を設定します。
# spring config spring: main: web-application-type: reactive allow-bean-definition-overriding: true messages: basename: i18n/messages #connect db R2DBC PostgreSQL r2dbc: url: r2dbc:postgresql://localhost:5434/auth username: admin password: admin pool: max-size: 10 initial-size: 5 # Config connect Keycloak security: oauth2: client: provider: oidc: token-uri: ${keycloak.serverUrl}/realms/${keycloak.realm}/protocol/openid-connect/token registration: oidc: client-id: ${keycloak.clientId} client-secret: ${keycloak.clientSecret} authorization-grant-type: ${keycloak.grantType} #password || #client_credentials resourceserver: jwt: jwk-set-uri: ${keycloak.serverUrl}/realms/${keycloak.realm}/protocol/openid-connect/certs keycloak: client-id: ${keycloak.clientId} # Web client config client: #keycloak keycloak: address: http://localhost:8080/realms/ezbuy-server/protocol/openid-connect name: keycloak auth: client-id: ezbuy-client client-secret: mI92QDfvi20tZgFtjpRAPWu8TR6eMHmw #notification notification: internal-oauth: true address: http://localhost:7777/v1/transmission name: notiServiceClient pool: max-size: 100 max-pending-acquire: 100 timeout: read: 60000 write: 1000 # Unauthenticated endpoints config application: http-logging: request: enable: true header: true param: true body: true response: enable: true body: true whiteList: - uri: /v1/auth/generate-otp methods: - POST - uri: /** methods: - OPTIONS - uri: /v1/auth/get-all methods: - GET data: sync-data: limit: 500 #keycloak client config keycloak: clientId: ezbuy-client clientSecret: mI92QDfvi20tZgFtjpRAPWu8TR6eMHmw realm: ezbuy-server serverUrl: http://localhost:8080 grantType: password host: localhost # minio server config minio: bucket: ezbuy-bucket enabled: true baseUrl: http://localhost:9000 publicUrl: http://localhost:9000/ezbuy-bucket accessKey: 4DoaZ0KdzpXdDlVK104t secretKey: nuRiQUIJNVygMOHhmtR4LT1etAa7F8PQOsRGP5oj private: bucket: ezbuy-private
3. 構成が完了したら、プロジェクトの実行を開始します。
# Using Maven mvn spring-boot:run # Using Gradle gradle bootRun
4. 以下のプロジェクトを参照してください。
webflux マイクロサービス プロジェクトの reactify-core ライブラリ: keycloak-auth-service
誰もがフィードバックを提供してエラーを見つけたり、このライブラリを改善してコミュニティをより強力に発展させることができます。ありがとうございました
良い一日をお過ごしください
以上がバックエンド マイクロサービス Webflux 用 Java ライブラリの紹介 (Reactor-core)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

intellijideaultimatiateバージョンを使用してスプリングを開始します...

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

eコマースプラットフォーム上のSKUおよびSPUテーブルの設計の詳細な説明この記事では、eコマースプラットフォームでのSKUとSPUのデータベース設計の問題、特にユーザー定義の販売を扱う方法について説明します。

データベースクエリにTKMYBATISを使用する場合、クエリ条件を構築するためにエンティティクラスの変数名を優雅に取得する方法は一般的な問題です。この記事はピン留めします...
