微服务解决方案:概述
注意: 您必须拥有 ABP Business 或更高级别的许可才能创建微服务解决方案。
本文将介绍微服务解决方案模板为您提供了哪些功能。
整体架构概览
预安装的库与组件
以下所有库和组件均已预安装并针对开发和生产环境完成配置。创建解决方案后,您可以根据需要修改或移除其中的大部分内容。
- Autofac 用于依赖注入
- Serilog 集成文件、控制台和 Elasticsearch 日志提供程序
- Prometheus 用于收集指标数据
- Grafana 用于可视化已收集的指标
- Redis 用于分布式缓存和分布式锁
- Swagger 用于探索和测试 HTTP API
- RabbitMQ 作为分布式事件总线
- YARP 用于实现 API 网关
- OpenIddict 作为内置的身份验证服务器
预配置的核心功能
解决方案中已为您构建并预配置了以下功能。
- 身份验证 完全遵循最佳实践进行配置:
- 为微服务和应用程序配置 JWT 持有者令牌认证。
- 若选择了 MVC UI,则配置 OpenId Connect 身份验证。
- 若选择了 SPA UI(Angular 或 Blazor WASM),则实现了授权码流程。
- 其他流程(资源所有者密码、客户端凭证...)在需要时可轻松使用。
- 权限(授权)、设置、功能 和 本地化 管理系统均已预配置,开箱即用。
- 后台作业系统 并集成了 RabbitMQ。
- 已安装 BLOB 存储系统,包含数据库提供程序和独立的数据库。
- 实时数据库迁移系统(部署新版本时,服务会自动迁移其数据库架构)
- 通过 docker-compose 配置基础设施依赖,以便在本地环境中运行解决方案。
- 包含 Helm 图表,用于将解决方案部署到 Kubernetes。
- Swagger 身份验证已配置,可用于测试需要授权的 HTTP API。
- 为分布式事件总线配置了**收件箱与发件箱模式**。
基础模块
解决方案已预安装并配置了以下核心模块:
- 账户模块:用于用户身份验证(登录、注册、双因素认证等)
- 身份模块:用于管理角色和用户
- OpenIddict(核心部分):用于实现 OAuth 身份验证流程
除此之外,功能管理、权限管理 和 设置管理 模块也作为 ABP 的基础功能模块预装。
可选模块
以下模块为可选包含项,您可以根据需要选择安装:
- 审计日志(拥有独立的微服务)
- 聊天(拥有独立的微服务)
- 文件管理(拥有独立的微服务)
- GDPR(拥有独立的微服务)
- 语言管理
- OpenIddict(管理界面)
- SaaS(多租户)(拥有独立的微服务)
- 文本模板管理
UI 主题
解决方案已预配置 LeptonX 主题。您可以选择一个配色方案(系统、浅色或深色)作为默认主题,同时最终用户可以在运行时动态切换。
其他选项
在创建微服务解决方案时,启动模板会询问您的一些偏好设置。
数据库提供程序
新建微服务解决方案时,提供两种数据库提供程序选项:
- Entity Framework Core,支持 SQL Server、MySQL 和 PostgreSQL 数据库管理系统。创建解决方案后,您可以手动切换为其他 DBMS。
- MongoDB
UI 框架
解决方案带有一个主 Web 应用程序,提供以下 UI 框架选项:
- 无(解决方案中不包含 Web 应用程序)
- Angular
- MVC / Razor Pages UI
- Blazor WebAssembly
- Blazor Server
- MAUI with Blazor (Hybrid)
移动应用程序
如果您需要,解决方案可以包含一个带有专属 API 网关的移动应用程序。该移动应用程序已完全集成到系统中,实现了身份验证(登录)和其他 ABP 功能,并包含一些可供您使用和参考的示例界面。可用选项如下:
- 无(解决方案中不包含移动应用程序)
- MAUI
- React Native
多租户与 SaaS 模块
SaaS 模块 作为一个可选选项提供。当您选择它时,多租户系统 会自动配置。否则,系统将不包含任何多租户开销。
抠丁客



