Dante Cloud は、エンタープライズ レベルのマイクロサービス アーキテクチャおよびサービス機能開発プラットフォームであり、ドメイン駆動設計 (DDD) 思考を採用し、Spring Authorization Server を完全に採用し、OAuth2.1 プロトコルに基づいており、スマート TV、IoT などをサポートしています。 IoT デバイス、認定されたマイクロサービス ソリューション。Spring Authorization Server 1.1.1、Spring Boot 3.1.2、Spring Cloud 2022.0.4、Spring Cloud Tencent 1.11.8-2022.0.1、Spring Cloud Alibaba 2022.0.0.0、Nacos 2.2 などの主流のテクノロジースタックに基づいて開発されたマルチテナント.4 このシステムは、SpringBoot プログラミングのアイデアに従っており、高度にモジュール化されており、構成可能です。サービス検出、設定、サーキットブレーカー、電流制限、ダウングレード、モニタリング、マルチレベルキャッシュ、分散トランザクション、ワークフローなどの機能を備えています。
プラットフォームの位置決め
- フロントエンドとバックエンドを分離した、成熟した完全かつ包括的な OAuth2.1 ベースのマイクロサービス アーキテクチャ ソリューションを構築します。
- エンタープライズ レベルのアプリケーションとインターネット アプリケーション向けに設計および開発されており、従来のプロジェクトのマイクロサービスを考慮に入れるだけでなく、インターネット アプリケーションの開発と構築、および迅速なイテレーションのニーズも満たします。
- プラットフォーム アーキテクチャは、マイクロサービス分野とその周辺に関連するさまざまな新興テクノロジまたは主流テクノロジを使用して構築されます。これは、アーキテクチャ テクノロジの選択と研究と探索の段階を迅速に通過するのに役立つ鋭いツールです。
- コードは簡潔かつ標準化されており、構造は合理的かつ明確であり、新しいテクノロジーの開発と応用の典型的かつ包括的なケースであり、開発者が新しいテクノロジーを学習して習得するのに役立ちます。
[1]今回のアップデート内容
- 【大型アップデート】
- [アップグレード] Spring Boot バージョン 3.1.2 へのアップグレード
- [アップグレード] Spring Cloud バージョンを 2022.0.4 にアップグレードしました
- [アップグレード] Spring Cloud Tencent 1.11.8-2022.0.1 へのバージョンアップ
- [アップグレード] Spring Cloud Alibaba バージョンを 2022.0.0.0 正式版にアップグレードしました
- [アップグレード] Spring Boot Admin バージョン 3.1.3 へのアップグレード
- 【リファクタリング】JPAの標準化設計思想から学び、OSSの標準化操作を段階的に抽出・抽象化し、統一されたJava API定義を形成すると同時に、どのベンダーでも動作できる統一されたREST APIをカプセル化し、統一された定義と動的実装を形成します。さまざまな OSS の切り替えと移行を容易にするアプリケーション モデル (JPA の実装である Hibernate と同様)
- [アップグレード] Spring Boot バージョン 3.1.2 へのアップグレード
- 【その他の更新情報】
- [修正] 修正プロジェクトはDante OSSのバージョンに依存します
- [修正] ワークフロー サービスの yml における構成ファイルの不一致の問題を修正しました。修正: #I7MW91 (Little Heizi Where to Run 発行)
- [修正] フロントエンド OSS ストレージ オブジェクト管理、バケット リスト入力後のエラーを修正しました。修正: #I7MM4C (Joyzhou 発行)
- [修正] フロントエンドのパッケージング Axios コンポーネントを修正し、新しいバージョンの Axios に型エラーを導入します。
- [修正] 「このメソッドは、これらのパターンが Spring MVC パターンであるかどうかを判断できません。このエンドポイントが Spring MVC エンドポイントである場合は、requestMatchers(MvcRequestMatcher); それ以外の場合は、requestMatchers( AntPathRequestMatcher) を使用してください。」エラーが発生して失敗する問題を修正しました。問題を実行するために
- [リファクタリング] Sentinel の統合ヒューズとダウングレード処理コードを Spring Boot 3 環境に適応するようにリファクタリングします。
- 【リファクタリング】静的リソースとオープン権限リソースのパスマッチング方法をSpring Security最新版に合わせてリファクタリング
- 【リファクタリング】フロントエンドエンジニアリングのOSS API関連コードを独立したモジュールとして抽出し、コンポーネントとして独立してリリースできるため、OSSコードの管理・保守に便利
- [アップグレード] Minio Docker イメージのバージョンが RELEASE.2023-07-21T21-12-44Z にアップグレードされました
- 【バージョンアップ】Dante OSSのバージョンを1.2.0にバージョンアップしました
- [最適化] フロントエンドプロジェクトでは、Axiosのカスタムヘッダ関連のコードを共通メソッドとして抽出することで、繰り返しコードを削減し、コードをより簡潔にしました。
- [依存関係の更新]
- [アップグレード] aws-java-sdk-s3 バージョンを 1.12.514 にアップグレードしました
- [アップグレード] fastjson2 バージョン 2.0.37 へのアップグレード
- [アップグレード] wxjava 4.5.3.B へのバージョンアップ
- [アップグレード] webjars jquery バージョンを 3.7.0 にアップグレード
- 【アップグレード】tencentcloud-sdk-java-sms のバージョンが 3.1.813 にアップグレードされました
- [アップグレード] alipay-sdk-java バージョンを 4.38.28.ALL にアップグレードしました
- 【バージョンアップ】aliyun-sdk-ossのバージョンが3.17.1にバージョンアップされました。
- [アップグレード] Snappy-Java のバージョンが 1.1.10.3 にアップグレードされました
[2] Dante Cloud 3.0.0の新機能
- 中心となる基盤は便利なスイッチングに依存しています
Spring Cloud Tencent
ネイティブマイクロサービス ファミリ バケットなどの 2 種類のインフラストラクチャのサポートが追加されましたSpring Cloud
。- 新しく追加された
Spring Cloud Alibaba
、ネイティブ マイクロサービス ファミリ バケット 3 つの基本的な値の切り替え機能により、比較的便利な方法で Alibaba、Tencent、Spring およびその他のインフラストラクチャ環境の使用に切り替えることができます。実際のニーズに応じて選択できるため、特定のインフラストラクチャ環境での実行に限定されなくなります。Spring Cloud Tencent
Spring Cloud
GraalVM
ネイティブイメージをサポート
- さまざまなモジュールの pom ビルド構成を全体として調整し、ニーズをサポート
Spring Native
またはGraalVM
コンパイルするために冗長構成や繰り返し構成を適切に増やします。エラーが発生するすべてのモジュールのネイティブ コンパイルを避けてください。
Spring Authorization Server
フル機能のサポートと拡張機能
Spring Authorization Server
とに基づいたSpring Data JPA
マルチテナント システム アーキテクチャを実現し、データベースとスキーマの 2 つのモードをサポートします。- に基づいて
Spring Data JPA
、Spring Authorization Server
基本的なデータ ストレージ コードを再構築し、元の JDBC データ アクセス メソッドを置き換え、Spring Authorization Server
元のデータ ストレージの制限を打ち破り、実際のアプリケーションにより適合したメソッドと設計に拡張します。 - OAuth 2.1 仕様に基づいて、フロントエンドとバックエンドを分離し、 の使用をサポートする既存の OAuth 2 ベースのアプリケーションと互換性を持たせるために、カスタム
Spring Authorization Server
(パスワード) 認証モードが追加されています。Resource Ownership Password
Refresh Token
- OAuth 2.1 仕様に基づいた
Spring Authorization Server
カスタムSocial Credentials
(ソーシャル化ログイン) 認証モードが追加され、携帯電話の SMS 確認コード、WeChat アプレット、JustAuth
に基づくサードパーティ アプリケーションのログイン、およびRefresh Token
の使用がサポートされます。 Spring Authorization Server
デフォルトモードを拡張して、Client Credentials
インターフェイスを検証するためのスコープ権限の実際の使用を実現します。クライアントスコープの権限設定機能を強化し、既存のユーザー権限システムから切り離すSpring Authorization Server
Authorization Code PKCE
認証モードをサポートSpring Authorization Server
標準の暗号化検証方法に加えて、JWT Token
カスタム証明書に基づくJWT Token
暗号化検証方法もサポートされており、構成を通じて動的に変更できます。- (不透明なトークン) 形式と検証方法をサポートします。これにより、キャプチャおよび解析されるリスクが
Opaque Token
軽減されます。JWT Token
構成パラメータを変更することで、デフォルトのトークン形式をOpaque Token
format またはformat のどちらにするかを設定できますJWT Token
。 - 完全サポート
OpenID Connect
(OIDC) プロトコル。システムの使用中に、使用要件に応じてフロントエンド スイッチ構成を通じて OIDC モードと従来の OAuth2 モードをすばやく切り替えることができます。 Authorization Code
、Resource Ownership Password
、Social Credentials
のいくつかのモードを深く拡張し、 、、および既存の許可システムを完全に統合し、 2 つのユーザー情報送信方法と二次リクエストなしのカスタム トークン拡張を提供しIdToken
、ユーザー情報の頻繁なリクエストを削減します。Opaque Token
JWT Token
IdToken
- 認可コードモードログインの認証ページと認可確認ページをカスタマイズし
Spring Authorization Server
、認可コードモードログインでは暗号化データ通信を採用します。複数の種類の検証コードがサポートされていますが、動作検証コードは現時点ではサポートされていません。 -
Spring Authorization Server
スマート TV、IoT、その他のモノのインターネット デバイスに基づく新しい認証モードを 追加しました 。 - インターフェース認証とパーミッションの動的な変更は、コード内でパーミッションアノテーションやパーミッションメソッドを設定することなく
Spring Security
実現できます。分散認証スキームを採用して、ゲートウェイ統合認証のプレッシャーと認証の繰り返しの問題を回避します。 - OAuth2 UserDetails のコア データは、データベースの直接取得と Feign リモート呼び出しの 2 つのモードをサポートします。データベース モードに直接接続された OAuth2 のパフォーマンスが向上し、Feign アクセスのリモート呼び出しの拡張性が向上しました。ポリシー モードは、構成を通じて動的に変更できます。
- カスタム セッションに基づいて、混合国家秘密
SM2
(非対称) アルゴリズムとSM4
(対称暗号化) アルゴリズムにより、デジタル エンベロープ テクノロジーに基づいた秘密キーの動的な生成と暗号化された送信が実現されます。「1人1コード機構」を活用し、パスワードモードのログインデータの動的暗号化送信を実現します。OAuth2 クライアント認証と連携して、インターフェイス呼び出しとフロントエンドおよびバックエンドのデータ送信の合理性とセキュリティを保護します。
pnpm monorepo
フロントエンドをリファクタリングする
- 一般的なオープンソース テンプレートは一切使用せず、新しいテクノロジー スタックを使用し、新しいフロントエンド プロジェクトを完全に「手書き」で作成します。
- 一般的なオープンソース バージョンの使用と設計を基にした、新しいフロントエンド インターフェイス スタイルと操作習慣は、現在一般的な方法と可能な限り一致しています。
- Typescript 言語の機能を最大限に活用し、多数の型検証の問題を解決し、「あらゆる」種類の Typescript プログラミング言語の使用を可能な限り避けてください。
- コード作成には、Composition API やフックなどの Vue3 フレームワークの新機能を最大限に活用します。
- コンポーネント、フック、Typescript のオブジェクト指向機能を最大限に活用して、共通のコンポーネントとコードを抽出し、エンジニアリングの重複を可能な限り削減します。
- 多くの Quasar 基本コンポーネントとアプリケーション機能コンポーネントをカプセル化して、コードの統合された変更、メンテナンス、開発を容易にします。
- プロダクション モードでは、Vite3 ベースのプロジェクト パッケージ化の徹底的なパフォーマンスの最適化が実行されます。
- docker-compose モードで、コンテナ化されたパッケージ化とエンジニアリング製品コードのデプロイメントを提供します。
- このバージョンは pnpm に基づいており、フロントエンド プロジェクトをリファクタリングするために monorepo モードを採用しています。モノリポジトリ バージョンのフロントエンドを構築すると、より多くの機能を拡張し、アプリケーション レベルの機能を追加する道が開かれます。
- ユーティリティ、コンポーネント、API、bpmn-designer、およびその他の関連コードを抽出して、共有モジュールを形成します。
- 共有モジュールは最適に構成されており、独立したコンポーネントにコンパイルでき、コンポーネントの形式で個別にリリースできます。
- コードは共有モジュールの形式で個別に保守および開発されるため、既存のプロジェクト コードの複雑さが軽減され、後続の機能の拡張とコードの再利用が容易になります。
[3] インターフェースのプレビュー
Dromara オープンソース コミュニティ
1. コミュニティビジョン
すべてのオープンソース愛好家にオープンソースの喜びを体験してもらいましょう。
2.コミュニティ公式サイト
https://dromara.orgは、Dromara オープンソース コミュニティの公式 Web サイトです。
3. 会員プロジェクト