logo
kuo
  • Home
  • Pricing
logo
kuo
Copyright © 2025 kuo. Ltd.
Links
SubscribeManage Subscription
Powered by Postion - Create. Publish. Own it.
Privacy policy•Terms

Postion

AI问答系统微服务架构图

AI问答系统微服务架构图

k
by kafeihu
•Sep 3, 2025

1. AI问答系统微服务架构图

这是一个清晰描绘了本次课程构建的系统全貌的架构图。

架构图说明

此架构图展示了一个典型的、前后端分离的现代微服务应用。

  • 用户请求流:

    1. 用户通过浏览器与Next.js应用交互。

    2. 所有对后端的请求,都先发送到Next.js的BFF (Backend for Frontend) 层。

    3. BFF层将鉴权、业务类请求转发给Spring Cloud Gateway。

    4. 网关根据请求路径,从Nacos查询到目标服务的地址,并将请求路由到相应的微服务(如用户服务)。

    5. 服务之间如果需要通信(如问答服务查询用户信息),则通过OpenFeign向Nacos查询地址后进行调用。

  • AI对话流:

    1. 为了极致的流式体验,AI对话请求由Next.js的BFF层直接调用Gemini API。

    2. AI生成的文本流直接返回给浏览器,实现了打字机效果。

  • 服务治理流 (灰色点线):

    1. 所有后端微服务在启动时,都会向Nacos注册自身信息。

    2. 所有微服务都会从Nacos拉取并监听自己的配置信息。

2. 后端数据库SQL脚本

这是项目所需的最简数据库和表结构。建议在课程开始前,在本地MySQL中执行此脚本。

-- 创建一个名为 'ai_qa_system' 的数据库,如果它不存在的话
CREATE DATABASE IF NOT EXISTS `ai_qa_system` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 切换到该数据库
USE `ai_qa_system`;

-- ----------------------------
-- 用户表 (user)
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `username` VARCHAR(255) NOT NULL COMMENT '用户名',
  `password` VARCHAR(255) NOT NULL COMMENT '加密后的密码',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';

-- ----------------------------
-- 问答历史表 (qa_history) (可选,用于功能扩展)
-- ----------------------------
DROP TABLE IF EXISTS `qa_history`;
CREATE TABLE `qa_history` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_id` BIGINT NOT NULL COMMENT '用户ID',
  `question` TEXT NOT NULL COMMENT '用户提出的问题',
  `answer` LONGTEXT COMMENT 'AI返回的回答',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='问答历史表';

-- 插入一些测试数据 (可选)
INSERT INTO `user` (`username`, `password`) VALUES ('testuser', '$2a$10$abcdefghijklmnopqrstuv'); -- 密码是加密的,请通过注册接口创建用户

Comments (0)

Continue Reading

企业级航空订单管理系统-课程培训材料

Published Jul 18, 2025

AI赋能智能问答系统(微服务与云原生演进)-课前准备

Published Sep 3, 2025

解构“云原生”(Cloud Native):它不只是在云上运行

Published Sep 3, 2025

张阔 - 个人简介

Published Jul 18, 2025

为什么Next.js是我们AI应用课程的前端的核心引擎

Published Sep 3, 2025

企业级航空订单管理系统-讲师准备清单

Published Jul 19, 2025