Skip to content

技术架构

夜月AI应用平台 采用现代化的微服务架构设计,支持单体和微服务双模式部署,为企业级AI应用提供稳定、可扩展的技术底座。

系统架构图

┌─────────────────────────────────────────────────────────────┐
│                      客户端层                                │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
│  │ Web前端  │  │ 小程序   │  │  移动端  │  │  API调用 │   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│                    API网关 (Gateway)                         │
│              Spring Cloud Gateway : 7770                    │
│                    Nacos服务发现                             │
└─────────────────────────────────────────────────────────────┘

      ┌───────────────────────┼───────────────────────┐
      │                       │                       │
      ▼                       ▼                       ▼
┌──────────┐           ┌──────────┐           ┌──────────┐
│ 认证服务  │           │ 业务服务  │           │ 监控服务  │
│  (Auth)  │           │  (Biz)   │           │(Monitor) │
└──────────┘           └──────────┘           └──────────┘

      ┌───────────────────────┼───────────────────────┐
      │                       │                       │
      ▼                       ▼                       ▼
┌──────────┐           ┌──────────┐           ┌──────────┐
│   LLM    │           │   知识   │           │   数字   │
│   服务   │           │   图谱   │           │   人     │
└──────────┘           └──────────┘           └──────────┘
      │                       │                       │
      ▼                       ▼                       ▼
┌──────────┐           ┌──────────┐           ┌──────────┐
│  训练    │           │   RAG    │           │   AI     │
│  服务   │           │   服务   │           │  Excel   │
└──────────┘           └──────────┘           └──────────┘


┌─────────────────────────────────────────────────────────────┐
│                      数据层                                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
│  │  MySQL   │  │  Redis   │  │  Neo4j   │  │  Milvus  │   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
└─────────────────────────────────────────────────────────────┘

技术栈详解

核心框架

层次技术版本说明
语言Java17LTS版本
框架Spring Boot3.4.7微服务框架
Spring Cloud2024.0.0云原生支持
云阿里Spring Cloud Alibaba2023.0.3.2阿里巴巴生态
RPCApache Dubbo3.2.14高性能RPC

AI/LLM

技术版本说明
LangChain4j1.0.0-beta1LLM应用框架
HanLPlatest中文NLP
Apache Tika2.9.1文档解析
ONNX Runtimelatest模型推理
OpenCVlatest图像处理

数据存储

技术版本说明
MySQL9.2.0关系型数据库
Neo4j5.27.0图数据库
Redis6.0+缓存和向量存储
Milvuslatest向量数据库
MinIOlatest对象存储

中间件

技术版本说明
RocketMQ5.2.0消息队列
Sa-Token1.44.0认证授权
MyBatis-Plus3.5.12ORM框架
Redisson3.38.1Redis客户端
Sentinellatest流量控制

工具库

技术版本说明
Hutool5.8.33Java工具库
Fastjson22.0.57JSON处理
OkHttp4.12.0HTTP客户端
Knife4j4.6.0API文档

部署模式

单体模式 (boot profile)

适合开发、测试和小规模部署场景。

架构特点:

  • 单JVM部署
  • 本地方法调用
  • 无需Nacos等基础设施
  • 简单快速

部署要求:

  • Java 17+
  • MySQL 8.0+
  • Redis 6.0+
  • 内存:4GB+

启动命令:

bash
java -jar nitemoon-boot.jar --spring.profiles.active=boot

微服务模式 (cloud profile)

适合生产环境和大规模部署场景。

架构特点:

  • 多服务独立部署
  • Dubbo RPC通信
  • Nacos服务发现和配置
  • Sentinel流量控制
  • Seata分布式事务

部署要求:

  • Java 17+
  • MySQL 8.0+
  • Redis 6.0+
  • Neo4j 5.0+
  • Nacos 2.0+
  • RocketMQ 5.0+
  • 内存:8GB+(每个服务)

服务列表:

服务端口说明
gateway7770API网关
auth7771认证服务
llm-LLM服务
onnx-ONNX推理服务
upms-用户权限服务

模块依赖关系

nitemoon-cloud (root)
├── nitemoon-gateway          # API网关
├── nitemoon-auth             # 认证服务
├── nitemoon-common           # 公共模块
│   ├── common-core           # 核心工具
│   ├── common-security       # 安全模块
│   ├── common-mybatis        # ORM模块
│   ├── common-redis          # 缓存模块
│   ├── common-sse            # SSE模块
│   ├── common-storage        # 存储模块
│   └── ...                   # 其他公共模块
├── nitemoon-api              # 服务接口
│   ├── nitemoon-llm-api      # LLM接口
│   ├── nitemoon-kg-api       # 知识图谱接口
│   ├── nitemoon-human-api    # 数字人接口
│   └── ...                   # 其他接口
├── nitemoon-biz              # 业务模块
│   ├── nitemoon-llm          # LLM服务
│   ├── nitemoon-kg           # 知识图谱服务
│   ├── nitemoon-human        # 数字人服务
│   ├── nitemoon-training     # 训练服务
│   ├── nitemoon-onnx         # 推理服务
│   ├── nitemoon-aiexcel      # AI Excel服务
│   ├── nitemoon-generator    # 代码生成器
│   ├── nitemoon-monitor      # 监控服务
│   └── nitemoon-upms         # 用户权限服务
└── nitemoon-boot             # 单体启动模块

设计模式

策略模式

用于LLM提供商、TTS提供商、存储后端等场景的抽象。

java
public interface ModelBuildHandler {
    ChatModel buildChatModel(LLMModelConfig config);
    EmbeddingModel buildEmbeddingModel(LLMModelConfig config);
}

工厂模式

用于创建模型实例、存储实例等。

java
@Component
public class ModelStoreFactory {
    public ChatModel createChatModel(String provider, String modelName) {
        ModelBuildHandler handler = getHandler(provider);
        return handler.buildChatModel(loadConfig(modelName));
    }
}

观察者模式

用于事件驱动的缓存刷新、配置更新等。

java
@Component
public class ProviderRefreshListener implements ApplicationListener<ProviderRefreshEvent> {
    @Override
    public void onApplicationEvent(ProviderRefreshEvent event) {
        // 刷新提供商缓存
    }
}

性能优化

缓存策略

  • Redis缓存热点数据
  • 本地缓存频繁访问数据
  • 多级缓存架构

异步处理

  • RocketMQ异步消息
  • CompletableFuture异步调用
  • 线程池隔离

连接池

  • HikariCP数据库连接池
  • Redisson连接池
  • OkHttp连接池

相关链接

Copyright © 2023-2026 nitemoon.cn All Rights Reserved