返回项目列表

PROJECT DETAIL

白鸽智能协同云图库

企业级智能协同云图库平台

Spring Boot 3RedisCOSAIWebSocketSa-TokenDisruptorMySQLDocker

项目介绍

本项目为企业级智能协同云图库平台,分为公共图库、私有图库和团队共享图库三大模块。支持用户公开上传检索、管理员审核管理、个人批量管理编辑、企业团队实时协同编辑等功能。

面试要点

面试要点:本项目考察企业级文件存储与协同编辑系统的设计能力。核心关注点:COS 对象存储的分片上传与断点续传、Sa-Token 多账号 RBAC 权限模型、WebSocket 实时协同的冲突解决(编辑锁)、Disruptor 无锁队列的异步化处理及优雅停机。面试官可能追问大文件传输的可靠性保障、多人编辑冲突的合并策略等。

技术亮点

数据库设计

设计用户、图片、空间、空间成员等核心表结构。图片标签采用 JSON 数组存储提升灵活性,通过联合索引优化空间成员检索性能。合理设计索引策略,平衡查询效率与写入性能。

面试追问: 图片标签为什么要用 JSON 数组而非关联表?什么场景下 JSON 字段比关联表更有优势?

COS 对象存储集成

基于 COS 对象存储 SDK 封装通用文件上传下载服务,集成数据万象服务自动解析图片元信息,实现高效存储与智能检索。大文件采用分片上传+断点续传方案,提升传输成功率。

面试追问: 分片上传的核心流程是什么?断点续传如何实现?如果上传中途网络断开,如何恢复?

多账号 RBAC 权限体系

基于 Sa-Token 的 Kit 模式实现多账号体系 RBAC 权限控制。通过请求上下文参数实现统一鉴权逻辑,运用注解合并简化方法级权限校验,提升开发效率。

面试追问: Kit 模式和普通模式的区别是什么?如何实现多账号体系的统一鉴权?

WebSocket 实时协同

基于 WebSocket+事件驱动实现多人实时协作编辑。自定义握手拦截器保障连接安全,设计"编辑锁"机制避免操作冲突。基于 Disruptor 无锁队列实现消息异步化处理,提升系统吞吐量。

面试追问: Disruptor 环形缓冲区的原理是什么?相比传统 BlockingQueue 有哪些优势?编辑锁如何避免多人同时编辑的冲突?