ドメイン駆動設計 (DDD) マイクロサービス アーキテクチャを使用した Dante Cloud 3.1.3.5 がリリース

Dante Cloud は、エンタープライズ レベルのマイクロサービス アーキテクチャおよびサービス機能開発プラットフォームであり、ドメイン駆動設計 (DDD) 思考を採用し、Spring Authorization Server を完全に採用し、OAuth2.1 プロトコルに基づいており、スマート TV、IoT などをサポートしています。 IoT デバイス、認定されたマイクロサービス ソリューションSpring Authorization Server 1.1.2、Spring Boot 3.1.3、Spring Cloud 2022.0.4、Spring Cloud Tencent 1.11.9-2022.0.1、Spring Cloud Alibaba 2022.0.0.0、Nacos 2.2 などの主流のテクノロジースタックに基づいて開発されたマルチテナンシー.4 このシステムは SpringBoot プログラミングのアイデアに従っており、高度なモジュール化と構成が可能です。サービスディスカバリ、設定、サーキットブレーカー、電流制限、ダウングレード、モニタリング、マルチレベルキャッシュ、分散トランザクション、ワークフローなどの機能を備えています。

プラットフォームの位置決め

  • OAuth2.1 に基づいてフロントエンドとバックエンドから分離された、成熟した完全かつ包括的なマイクロサービス アーキテクチャ ソリューションを構築します。
  • エンタープライズ レベルのアプリケーションとインターネット アプリケーション向けに設計および開発されており、従来のプロジェクトのマイクロサービスを考慮に入れるだけでなく、インターネット アプリケーションの開発と構築、および迅速なイテレーションのニーズも満たします。
  • プラットフォーム アーキテクチャは、マイクロサービス分野とその周辺に関連するさまざまな新興テクノロジまたは主流テクノロジを使用して構築されます。これは、アーキテクチャ テクノロジの選択と研究と探索の段階を迅速に通過するのに役立つ鋭いツールです。
  • コードは簡潔かつ標準化されており、構造は合理的かつ明確であり、新しいテクノロジーの開発と応用の典型的かつ包括的なケースであり、開発者が新しいテクノロジーを学習して習得するのに役立ちます。

[1]今回のアップデート内容

  • 主なアップデート内容
    • [リファクタリング] WebSocket関連モジュールの再構築、設定コードの標準化、Spring Sessionの統合、複数インスタンスのWebSocketユーザー情報共有のサポート。
  • その他の更新情報
    • [修正] フロントエンドプロジェクトでのパラメータ名の書き込みエラーにより、ログインページインターフェイスが検証エラーをスローする問題を修正しました。
    • [修正] message-sdk-websocket モジュールでのカスタム BearerTokenResolver の誤った挿入の問題を修正しました。
    • [修正] WebSocket モジュールが UserDetailsS​​ervice の挿入に失敗し、メッセージ サービスの起動に失敗する問題を修正しました。修正:#I7ZLGN (ジョークウェイによって発行)
    • [修正] システム統合セッションの有効期限が切れた後、フロントエンド更新ページで新しいセッションが作成されない問題を修正しました。
    • [修正] セッションの有効期限が切れた後、ログイン ページにエラー ポップアップ ボックスとエラー プロンプトが表示される問題を修正しました。
    • [修正] すべての情報を閲覧して個人ホームページにジャンプした後、再度ページが更新されなくなる問題を修正しました。
    • [修正] 最新バージョンのフロントエンド vue-i18n の非互換性により起動に失敗する問題を一時的に修正します。
    • [最適化] 共有セッションの原則情報を正確に設定できるようにするためのカスタム SessionAuthenticationStrategy を追加しました。
    • [最適化] WebSocketモジュールにおけるユーザー情報取得・送信ロジックの不明確な問題を最適化します。BearerTokenResolver への高い依存によって引き起こされるコード結合の問題を解決します。
    • [最適化] message-sdk-websocket 設定コードを簡素化および標準化し、モジュールの依存関係を最適化し、重複した不要な依存関係を削減します。
    • [最適化] httpclient の依存バージョンを統合管理し、プロジェクト内で複数の httpclient バージョンが存在する問題を解決します。
    • [最適化] checker-qual 依存バージョンの統合制御により、プロジェクト内の複数の checker-qual バージョンと Maven プラグインが競合を引き起こす問題を解決します。
    • [修正] WebSocket モジュールでメッセージを送信するときに Bean インジェクション エラーが発生し、全メンバー メッセージを送信すると null エラーが発生する問題を修正しました。
    • [新規] システムのデフォルトの OIDC スコープが追加され、データベース初期化スクリプトが同期的に更新されました。
    • [最適化] ログイン認証用の Minio コンソール IDentity Provider (アイデンティティプロバイダー) として Dante Cloud を使用し、設定の永続性を実現します。
    • [修正] herodotus.oauth2.authorization.matcher.permit-all パラメータ設定が無効である問題を修正しました。修正: #7Z3O1 (Ryan によって発行)
    • [修正] Social を通じて取得した HerodutusUser が文字列 "null" に解析され、データベースでシリアル化するときに "avatar":"null" として保存される問題を修正: #I7ZIZ3 (jokeway によって発行)
    • [修正] WebSocket を使用してプライベート メッセージを送信するときに失敗し、インターフェイスで応答なしエラーが表示されるエラーを修正しました。 修正: #I7ZJ2E (ジョークウェイによって発行)
    • [リファクタリング] すべてのカスタム Jackson 逆シリアル化 Mixin をリファクタリングし、統合ツール クラスを使用しないすべてのコードを変更して、メンテナンスを容易にするために統合ツール クラスを使用します。
    • [アップグレード] minio docker イメージのバージョンが RELEASE.2023-09-07T02-05-02Z にアップグレードされました
  • [依存関係の更新]
    • [アップグレード] fastjson2 のバージョンを 2.0.40 にアップグレードしました
    • [アップグレード] okio バージョンを 3.5.0 にアップグレードしました
    • [アップグレード] xnio バージョンを 3.8.10.Final にアップグレードしました
    • [アップグレード] aws-java-sdk-s3 バージョンを 1.12.544 にアップグレードしました
    • [アップグレード] quasar Webjars のバージョンが 2.12.6 にアップグレードされました
    • 【アップグレード】tencentcloud-sdk-java-sms のバージョンが 3.1.848 にアップグレードされました

[2] Dante Cloud 3.0.0の新機能

  1. コアの基本的な依存関係の便利な切り替え
  • Spring Cloud Tencentネイティブマイクロサービス ファミリ バケットなどの 2 種類のインフラストラクチャのサポートが追加されましたSpring Cloud
  • 新しく追加されたSpring Cloud Alibabaネイティブ マイクロサービス ファミリ バケット 3 つの基本的な値の切り替え機能により、比較的便利な方法で Alibaba、Tencent、Spring およびその他のインフラストラクチャ環境の使用に切り替えることができます。実際のニーズに応じて選択できるため、特定のインフラストラクチャ環境での実行に限定されなくなります。Spring Cloud TencentSpring Cloud
  1. GraalVMネイティブイメージをサポート
  • さまざまなモジュールの pom ビルド構成を全体として調整し、ニーズをサポートSpring NativeまたはGraalVMコンパイルするために冗長な重複構成を適切に追加します。エラーが発生するすべてのモジュールのネイティブ コンパイルを避けてください。
  1. Spring Authorization Serverフル機能のサポートと拡張機能
  • Spring Authorization Serverに基づいたSpring Data JPAマルチテナント システム アーキテクチャを実現し、データベースとスキーマの 2 つのモードをサポートします。
  • に基づいてSpring Data JPASpring Authorization Server基本的なデータ ストレージ コードを再構築し、元の JDBC データ アクセス メソッドを置き換え、Spring Authorization Server元のデータ ストレージの制限を打ち破り、実際のアプリケーションにより適合したメソッドと設計に拡張します。
  • OAuth 2.1 仕様に基づいて、フロントエンドとバックエンドを分離し、 の使用をサポートする既存の OAuth 2 ベースのアプリケーションと互換性を持たせるために、カスタムSpring Authorization Server(パスワード) 認証モードが追加されています。Resource Ownership PasswordRefresh 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 Tokenformat またはformat のどちらにするかを設定できますJWT Token
  • 完全サポートOpenID Connect(OIDC) プロトコル。システムの使用中に、使用要件に応じてフロントエンド スイッチ構成を通じて OIDC モードと従来の OAuth2 モードをすばやく切り替えることができます。
  • Authorization CodeResource Ownership PasswordSocial Credentialsのいくつかのモードを深く拡張し、 、および既存の許可システムを完全に統合し、 2 つのユーザー情報送信方法と二次リクエストなしのカスタム トークン拡張を提供しIdTokenユーザー情報の頻繁なリクエストを削減します。Opaque TokenJWT TokenIdToken
  • Spring Authorization Server認可コードモードログインの認証ページと認可確認ページをカスタマイズします認可コードモードログインではデータの暗号化と送信を行います。複数の検証コード タイプをサポートしていますが、動作検証コードはまだサポートされていません。
  • Spring Authorization Server スマート TV、IoT、その他のモノのインターネット デバイスに基づく新しい認証モードを 追加しました 。
  • インターフェース認証とパーミッションの動的な変更は、コード内でパーミッションアノテーションやパーミッションメソッドを設定することなくSpring Security実現できます。分散認証ソリューションを採用して、ゲートウェイでの統合認証のプレッシャーと認証の繰り返しの問題を回避します。
  • OAuth2 UserDetails コア データは、データベースの直接取得と Feign リモート呼び出しの 2 つのモードをサポートします。OAuth2 ダイレクト データベース モードの方がパフォーマンスが高く、Feign アクセスのリモート呼び出しはよりスケーラブルです。ポリシーのアプローチは、構成を通じて動的に変更できます。
  • SM2カスタム セッションと国家秘密(非対称) アルゴリズムと(対称暗号化) アルゴリズムの混合に基づいてSM4、動的な秘密キーの生成とデジタル エンベロープ テクノロジーに基づく暗号化された送信が実現されます。「1人1コード機構」を活用し、パスワードモードのログインデータの動的暗号化送信を実現します。OAuth2 クライアント検証と連携して、インターフェイス呼び出しとフロントエンドおよびバックエンドのデータ送信の合理性とセキュリティを保護します。
  1. 以下を使用して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. 会員プロジェクト

 

おすすめ

転載: www.oschina.net/news/257339/dante-cloud-3-1-3-5-released