跳到主要内容

技术栈与运行依赖

本页描述仓库当前使用的技术,不承诺所有包始终保持同一大版本。精确版本以 src/Directory.Build.props、各 .csprojdocs-site/package.json 和 Compose 文件为准。

应用与框架

能力当前主线在项目中的作用
运行时.NET 10 / ASP.NET CoreWeb Host、后台宿主、SignalR、Health Checks
ORMFreeSql 3.5.xCodeFirst、仓储、多数据源与 AOP
DIAutofac模块程序集扫描、生命周期与拦截
认证授权ASP.NET Core Identity + OpenIddict 7.x用户/角色存储、OAuth2/OIDC、Token 验证
消息CAP 10.x + RabbitMQ集成事件和后台消息处理
调度FreeScheduler 2.xJob 调度与管理 UI
缓存FreeRedis缓存、分布式状态和 SignalR 连接映射
日志Serilog 10.xConsole、File、MariaDB 与 OTLP Logs
可观测性OpenTelemetry 1.17.xASP.NET Core、HttpClient、Runtime、FreeSql Trace/Metric
搜索MeiliSearch .NET clientCmsKit 搜索索引与查询
实时通信SignalR通知与在线连接
对象存储本地、七牛、Cloudflare R2 等Identity.Infrastructure 文件管理

默认 Compose 基础设施

build/compose/freekit_pro_modules/docker-compose.yml 当前固定:

服务镜像
MySQLmysql:8.4
Redisredis:7.4-alpine
RabbitMQrabbitmq:3.13-management
MeiliSearchgetmeili/meilisearch:v1.13

可观测性栈位于 build/observability/,由 OpenTelemetry Collector、OpenObserve、MySQL/Redis exporter 和 Pyroscope 组成。

架构选择

  • 模块化单体控制部署复杂度,同时用程序集和 DDD 轻量分层保留边界。
  • FreeSql 仓储优先,Application/Controller 不新增裸 IFreeSql 依赖。
  • 核心与 HttpApi 分离,后台 Host 只加载业务核心。
  • OpenTelemetry 标准出口让存储后端可替换;仓库当前提供 OpenObserve 部署方案。

数据库支持边界

开发配置保留 MySQL、SQL Server、PostgreSQL、Oracle 和 SQLite 连接示例,但生产 Compose、部分 SQL、健康检查和运维脚本以 MySQL 为主。切换数据库前必须验证目标模块的 Provider、DDL、索引和测试,而不能只修改 DefaultDB

前端与文档

项目技术/位置
管理前端工作区上层 ../kit-pro-frontend
文档站Docusaurus 3、React 19、TypeScript、pnpm

相关文档