尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
简单商城、在线客服管理系统
一套微服务在线客服系统访客在商城页通过悬浮气泡咨询客服在管理后台工作台实时接待WebSocket 长连接同时保留商城/后台本身的业务能力。架构示意图浏览器┌──────────────────────┐ ┌──────────────────────────┐│ 商城 customer-system │ │ 后台 admin-system ││ Naive UI :3001 │ │ Element Plus :3000 ││ 访客悬浮聊天窗 │ │ 客服工作台(SSO 免二次登录) │└──────────┬───────────┘ └────────────┬─────────────┘│ HTTP /api WS /ws │ HTTP /ocs-api WS /ocs-ws▼ ▼┌─────────────────────────┐│ Spring Cloud Gateway:9000│ 统一入口/路由/静态文件└────────────┬─────────────┘┌───────────────────┼───────────────────┐▼ ▼ ▼┌────────────────┐ ┌─────────────────┐ ┌──────────────────────┐│ admin-service │ │customer-service │ │ online-service ││ :8080 │ │ :8081 │ │ :8082 HTTP :9001 WS ││ 用户/角色/权限 │ │ 客户/商品/购物车 │ │ 会话/消息/坐席/分配 ││ admin_system 库│ │ customer_service│ │ online_customer_service│└────────────────┘ └────────┬────────┘ └───────────┬──────────┘│ Feign │└───────────────────────┘ SSO 身份核实┌─────────────┬──────────────┬───────────────┐▼ ▼ ▼MySQL 5.7 Redis Nacos 3(三库独立) (token/在线状态/ (注册发现/配置)路由/限流)技术栈┌───────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────┐│ 层 │ 技术 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 语言/框架 │ Java 21、Spring Boot 3.5、Spring Cloud Alibaba 2025 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 微服务 │ Spring Cloud GatewayWebFlux 反应式、OpenFeign、Nacos注册配置 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 实时通信 │ Netty 手写 WebSocket 服务900130s 心跳、指数退避重连、SYSTEM 事件帧封装消息发送 HTTP/WS 双通道 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 持久层 │ MyBatis-Plus 3.5Lambda 语法为主、MySQL 5.7每服务独立库 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 缓存 │ Redis客服 token8h 滑动续期顶号、在线状态、技能组路由、限流、策略应急覆盖 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 后台前端 │ Vue 3.5 TS Vite Element Plus Piniatoken 存 localStorage路由表按权限码动态注册 │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 商城前端 │ Vue 3.5 TS Vite Naive UI Pinia客户 token 走 httpOnly cookie不落 localStorage │├───────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────┤│ 工程规范 │ Lombok、SLF4J Slf4j、构造器注入、统一 ResultT / BusinessException、DTO/VO/DO 分层 │└───────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────┘几个关键设计- 三库隔离 最小耦合权限点 ocsWorkbench:* 在 admin 库决定谁能进工作台坐席/会话在 online 库决定怎么接待admin 登录后用 adminToken 调 online SSO 换客服tokenonline 再反向 Feign 核实- 会话分配可热切换轮询 / 最少接待默认/ 技能组优先 / 指定客服支持 Redis 应急覆盖无需重启- 访客身份兜底已登录商城客户打开气泡时后端从 customer_token cookie 自动识别身份JS 读不到 token- 消息可靠性clientMsgId 唯一索引做发送幂等防重复消息、乐观消息气泡 失败重发、游标分页拉历史、已读回执整体就是一个典型的「网关 三业务服务 Netty 长连接 双前端嵌入」Spring Cloud 教学/演示架构。● 基础设施中间件本地实际运行版本已实测确认┌────────┬────────────────────────┬──────┬─────────────────────────────────────────────────────────────────────────────────┐│ 中间件 │ 版本 │ 端口 │ 在本项目的用途 │├────────┼────────────────────────┼──────┼─────────────────────────────────────────────────────────────────────────────────┤│ MySQL │ 5.7.43 │ 3306 │ 三个服务各独立一库admin_system / customer_service / online_customer_service │├────────┼────────────────────────┼──────┼─────────────────────────────────────────────────────────────────────────────────┤│ Redis │ 5.0.14.1Windows 版 │ 6379 │ 客服/客户 token、坐席在线状态、技能组路由、限流、分配策略应急覆盖 │├────────┼────────────────────────┼──────┼─────────────────────────────────────────────────────────────────────────────────┤│ Nacos │ 3.0.3 │ 8848 │ 服务注册发现 配置中心 │└────────┴────────────────────────┴──────┴─────────────────────────────────────────────────────────────────────────────────┘▎ 注意MySQL 是 5.7 而非计划文档里写的 8.0所以写 SQL 时要兼容 5.7如没有窗口函数、注意 ONLY_FULL_GROUP_BY。与之配套的框架/组件版本Mavenpom 实际声明┌──────────────────────┬─────────────────────────────┬──────────────────────────────────────────────────────┐│ 组件 │ 版本 │ 说明 │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ JDK │ 21 │ │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Spring Boot │ 3.5.x │ 父 POM 管理 │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Spring Cloud │ 2025.0.3 │ Gateway OpenFeign │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Spring Cloud Alibaba │ 2025.0.0.0 │ Nacos 注册/配置Nacos Client 3.0.3 │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ MyBatis-Plus │ 3.5.9 │ ORMmybatis-plus-spring-boot3-starter │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Netty │ 随 Spring Boot BOM4.2.x │ 9001 端口手写 WebSocket 服务 │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Hutool │ 5.8.32 │ 工具库 │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ Lombok │ 1.18.30 │ │├──────────────────────┼─────────────────────────────┼──────────────────────────────────────────────────────┤│ 构建 │ Maven │ 多模块common / gateway / admin / customer / online │└──────────────────────┴─────────────────────────────┴──────────────────────────────────────────────────────┘前端侧 Node 22.21.1、Vite Vue 3.5属于构建工具链而非运行中间件。整套依赖 Spring Boot BOM 对齐版本没有手工锁冲突的三方包。开源地址stormeryang (youbangbang_stormeryang) - Gitee.com
RELATED

相关推荐

Shell编程入门:从零基础到自动化脚本实战

Shell编程入门:从零基础到自动化脚本实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/12 10:18:04
YOLOv8货架商品盘点系统:小目标检测与毕设闭环实践

YOLOv8货架商品盘点系统:小目标检测与毕设闭环实践

简介:本资源是一套基于YOLOv8实现的零售货架商品自动盘点系统,面向计算机、人工智能、自动化等专业的在校学生与初学者,解决实体零售场景中商品识别、数量统计与状态监测的实际问题,特别适合作为毕业设计、课程设计或项目原型快速…

📅 2026/9/12 10:18:04
vector autosar RTM使用与集成

vector autosar RTM使用与集成

目录关键词平台说明技术背景技术难点(关注点)abbreviation整体架构#流程实现过程一、RTM introduction二、Architecture Overview三、RTM集成小结关键词 嵌入式、C语言、autosar、vector、cpuload 平台说明 项目ValueOSautosar OS芯片厂商TI,编程语言…

📅 2026/9/12 10:18:04
MORE NEWS

更多资讯

📰

程序调试中的信号提示与处理技术详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Java Stream性能优化:JDK 8到JDK 17的进化与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Redis布隆过滤器原理与实战应用详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

农业AI成熟度检测系统:YOLO多版本调度与SpringBoot工程化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

把“杂七杂八”变成知识资产:个人知识管理的新思路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

蠢萌的小姐姐都能学会的Linux基本命令,有这份学习秘籍,你还不抓紧时间上车?

目录说明# /bin[重点]:是Binary的缩写,这个目录存放着最经常使用的命令# /sbin[重点]:是Super User的意思,这里存放的是系统管理员使用的系统管理程序# /home[重点]:存放普通用户的主目录,在Linux中每个用户…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬