news 2026/6/26 11:24:13

基于Spring AI的分布式在线考试系统-事件处理架构(续)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Spring AI的分布式在线考试系统-事件处理架构(续)

一、分布式在线考试系统完整架构图(细化版)

以下是包含服务分层、中间件、数据流向、事件通信的完整架构图,直观展示各组件的交互关系:

发布本地事件:考生进入考试

发送MQ事件:考生提交试卷

消费MQ事件:触发AI评分

发布本地事件:AI评分开始

发送MQ事件:评分完成

消费MQ事件:发送成绩通知

消费MQ事件:统计考试数据

考生端/管理端
Web/H5/小程序

Nginx
反向代理/负载均衡

Spring Cloud Gateway
路由转发/鉴权/限流

考试服务
核心业务:考试创建/进入/提交
技术:Spring Event+MQ生产者

题库服务
核心业务:题库CRUD/AI出卷
技术:MyBatis-Plus+Spring AI

用户服务
核心业务:用户/权限/资格审核
技术:Redis+JWT

评分服务
核心业务:AI评分/人工评分
技术:Spring AI+MQ消费者

通知服务
核心业务:短信/站内信/邮件
技术:MQ消费者+第三方API

统计服务
核心业务:数据统计/AI分析
技术:Spring AI+MQ消费者

Nacos
注册中心+配置中心

RocketMQ
分布式事件通信
Topic:EXAM_EVENT/SCORE_EVENT/NOTIFY_EVENT

Redis 7.0
缓存:题库/试卷
分布式锁:考试提交
限流器

MySQL 8.0
主库:考试/答题数据
分库分表:Sharding-JDBC(可选)

MinIO
对象存储:试题附件/答题截图/AI报告

Spring AI 1.0+
对接:智谱AI/文心一言/OpenAI
能力:出卷/评分/分析

监控运维层
Prometheus+Grafana:指标监控
SkyWalking:全链路追踪
XXL-Job:定时任务

考试服务本地逻辑
状态初始化/题库加载

评分服务本地逻辑
Spring AI调用大模型评分

架构图核心说明:
  1. 分层设计:严格遵循「客户端→网关→核心服务→中间件→持久化」的经典分布式分层架构,职责边界清晰;
  2. 事件通信:红色标注的RocketMQ是分布式事件通信的核心,所有跨服务事件(如提交试卷→评分→通知)均通过MQ流转;
  3. AI能力集成Spring AI作为独立能力层,对接各AI大模型,所有AI相关逻辑(评分/出卷/分析)均由专门的服务调用,与核心业务解耦;
  4. 高可用组件Nginx做负载均衡、Sentinel(网关/服务内)做限流、Redis做缓存/分布式锁、MQ做消息可靠性保障,覆盖考试高峰期的高并发需求。

二、核心业务时序图(考生提交试卷→AI评分→成绩通知)

以「考生提交试卷触发AI评分+成绩通知」为例,绘制时序图(Mermaid语法),展示「Spring Event+MQ」的完整执行流程,包含本地事件、MQ消息、AI评分、跨服务通知的全链路:

SpringAISpringAI[Spring AI+大模型]MySQLRedis通知服务评分服务RocketMQ考试服务考生端SpringAISpringAI[Spring AI+大模型]MySQLRedis通知服务评分服务RocketMQ考试服务考生端若AI评分失败1. 发送score:error MQ消息2. 触发人工评分流程提交试卷请求(userId=1001, examId=2001)1. 校验考生状态/试卷完整性2. 保存考生答题数据,更新考试状态为「已提交」3. 发布本地事件(如:更新考试统计快照)4. 生成事件ID(eventId=xxx),做幂等标记(SETNX)5. 发送MQ消息(Topic=EXAM_EVENT, Tag=exam:submit消息体=ExamSubmitEvent)确认消息发送成功返回「提交成功」推送exam:submit消息1. 幂等校验(检查eventId是否已消费)2. OpenFeign远程调用:获取考生答题数据3. 发布本地事件(AIScoreStartLocalEvent)4. 调用大模型(构造评分提示词,请求AI评分)返回AI评分结果(score=90, desc=xxx)5. 保存评分结果,更新评分状态为「已完成」6. 发送MQ消息(Topic=SCORE_EVENT, Tag=score:complete消息体=ScoreCompleteEvent)推送score:complete消息1. 幂等校验(检查eventId是否已消费)2. 组装通知内容(考生姓名+成绩+考试名称)3. 发送短信/站内信通知(成绩已发布)4. 保存通知记录
时序图核心说明:
  1. 核心流程:考生提交试卷 → 考试服务完成本地业务+发送MQ → 评分服务消费MQ+AI评分+发送MQ → 通知服务消费MQ+发送通知;
  2. 幂等性:每一步MQ消费前均做幂等校验(基于eventId),避免重复评分、重复发通知;
  3. 解耦设计
    • 考试服务不直接调用评分服务,仅发送MQ消息,无需关注评分逻辑;
    • 评分服务完成AI评分后,仅发送MQ消息,无需关注通知逻辑;
  4. 异步特性:AI评分、通知发送均为异步执行,考生提交试卷后立即返回结果,提升用户体验;
  5. 本地事件复用:评分服务消费MQ后,先转换为本地Spring Event再执行评分逻辑,解耦MQ消费和业务逻辑。

三、关键补充说明

1. 架构图核心要点
  • 服务边界:每个微服务职责单一(考试服务仅处理考试核心流程,评分服务仅处理评分),符合「高内聚、低耦合」的微服务设计原则;
  • 中间件定位
    • Nacos:统一管理服务注册和配置,所有服务启动时自动注册,配置动态刷新;
    • RocketMQ:分布式事件通信的唯一通道,替代硬编码的远程调用;
    • Redis:核心缓存+分布式锁,解决考试高峰期的数据库压力和并发问题;
  • AI能力集成:Spring AI作为独立能力层,所有服务通过标准化API调用AI能力,支持无缝切换大模型(如从智谱AI切换为文心一言)。
2. 时序图核心要点
  • 同步vs异步:考生提交试卷的核心流程(保存数据、更新状态)是同步的,保证数据一致性;跨服务的评分、通知是异步的,提升系统吞吐量;
  • 可靠性保障
    • 生产者(考试服务):MQ消息同步发送+重试,确保消息不丢失;
    • 消费者(评分/通知服务):消费失败后自动重试,多次失败进入死信队列,人工介入处理;
  • 监控埋点:在MQ发送/消费、AI评分、核心数据库操作处添加埋点,接入SkyWalking实现全链路追踪,便于定位问题(如考生提交试卷后未评分的问题)。

总结

  1. 架构图价值:清晰展示了从客户端到微服务、中间件、AI层的完整链路,明确了「Spring Event+MQ」的事件通信在架构中的核心位置,以及各组件的职责边界;
  2. 时序图价值:还原了「考生提交试卷→AI评分→成绩通知」的核心业务流程,直观体现了「本地事件解耦服务内、MQ解耦服务间」的设计思路,以及幂等性、异步性、可靠性的落地方式;
  3. 核心设计原则
    • 分布式事件通信:MQ是跨服务事件的唯一通道,替代硬编码的Feign调用;
    • 本地事件复用:服务内逻辑通过Spring Event解耦,降低代码耦合度;
    • AI能力解耦:AI评分/出卷等逻辑通过MQ事件触发,与核心业务分离,便于扩展。

这两张图完整覆盖了分布式在线考试系统的静态架构动态流程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 3:30:15

C语言学习指南:从入门到应用开发全解析

掌握C语言是进入编程世界的关键一步,它作为一门基础且高效的编程语言,至今仍在系统开发、嵌入式等领域扮演着核心角色。学习C语言不仅能帮助理解计算机底层原理,如内存管理、指针操作,更能为学习其他高级语言打下坚实根基。本文将…

作者头像 李华
网站建设 2026/6/23 3:28:25

TONTEK通泰 TTP118-CA6N SOT23-6 触摸芯片

特點 电压工作范围2.4~5.5V 可靠的上电复位(POR)及低电压复位功能(LVR) 低待机工作电流(没有负载) VDD3.3V,典型值4uA,最大值8uAvdd5.0伏,典型值8uA,最大值16uA。 待机模式下,输出响应时间为132ms。 ,可由外部电容(1nF…

作者头像 李华
网站建设 2026/6/23 3:30:07

spingboot茶文化推广系统毕业论文+PPT(附源代码+演示视频)

文章目录一、项目简介1.1 运行视频1.2 🚀 项目技术栈1.3 ✅ 环境要求说明1.4 包含的文件列表前台运行截图后台运行截图项目部署源码下载一、项目简介 项目基于SpringBoot框架,前后端分离架构,后端为SpringBoot前端Vue。《spingboot茶文化推广…

作者头像 李华
网站建设 2026/6/23 19:24:06

IACheck × AI审核:全面把关欧盟 REACH 认证,让材料合规更系统、更稳妥

在欧盟法规体系中,REACH 认证始终被视为材料合规领域最“系统”、也最“全面”的一项要求。它不仅关注单一产品或单次检测结果,而是围绕化学物质的注册、评估、授权与限制,构建了一整套覆盖材料全生命周期的监管框架。正因如此,越…

作者头像 李华
网站建设 2026/6/15 7:55:50

2026冲刺用!8个降AI率平台测评:本科生降AI率必备工具推荐

在当前高校学术环境中,AI生成内容的广泛应用让论文查重和AIGC率检测变得愈发严格。对于本科生而言,如何在保证论文质量的同时,有效降低AI痕迹和重复率,成为毕业前必须面对的挑战。而AI降重工具的出现,正是为了解决这一…

作者头像 李华