本文不講然后代碼方面的東西,只聊方案!!
這方案基于 Spring Boot 2.6+、Netty、MyBatis Plus、Redis 構建的一套支持 單體應用 的在線客服系統。 系統支持客戶自由與后臺客服實時聊天、客服未在線釘釘提醒通知客服、消息已讀未讀標記、消息已送達未送達標記,消息持久化記錄等核心功能。
技術選型
組件 | 技術選型 |
---|---|
后端框架 | Spring Boot 2.6 + MyBatis-Plus |
網絡通信 | Netty 4.x + Protobuf 3 |
文件存儲 | 阿里云OSS + CDN加速 |
數據庫 | MySQL 8.0 + Redis 6 |
前端框架 | Vue3 + Element Plus |
部署環境 | Docker + Kubernetes /linux服務器(可選) |
整體流程圖
時序圖
如果是文件那些先走oss的上傳獲取url,然后服務端正常發送聊天消息即可,注意:文件本身是不走
nettyServer
的,隨后前端進行渲染提供下載按鈕即可提供的oss上傳接口需要支持分片上傳,斷點續傳,安全校驗等
這是一個單體的聊天落地方案,后續會出支持分布式集群的方案以及代碼
可加功能
- 消息撤回
- 消息刪除
- 消息轉發
- 消息引用
結束語
歡迎個位大佬指出不足(輕點噴),有什么不懂的也可以私聊