排序
01-基础介绍
1. 特点盒子IM是一个仿微信实现的开源聊天软件,支持内网部署,不依赖任何收费SDK或组件支持web端和移动端同时在线以及消息同步后端服务支持集群化部署,具有良好的横向扩展能力消息推送功能已...
02-本地环境搭建
1. 基础环境安装1.1. 安装GIT、JDK17、IDEA、Maven、HbuilderX(略)1.2. 安装Mysql8.0下载地址:https://dev.mysql.com/downloads/installer/选择8.0.39版本并下载,下载后双击安装即可1.3....
03-数据库和架构设计
1. 技术选型后端框架:Springboot、Netty、Mybatis-plus、Jwt前端框架:Vue、Uniapp、Webrtc2. 开源组件组件是否必须主要作用mysql是存储用户、群聊、消息等数据redis是数据缓存、消息队列mini...
04-用户登录和鉴权
1. 方案选择方案一(session):整合Spring security,同时将session缓存到redis实现集群化管理方案二(token): 通过jwt生成token,每次请求都携带此token,后端通过拦截器解析token两种方案各有优缺...
05-接入消息推送(实现聊天功能)
1. 前言前面已经介绍过,消息推送功能由im-server实现,并且已经封装了sdk(im-client)。现在我们把消息推送功能看成一个黑盒,暂时不深究它的具体实现,本小节的目标是在im-platform中集成im-c...
06-消息推送底层分析
06-消息推送底层分析1. 前言上一章节我们已经通过im-client的sendPrivateMessage接口轻松实现了聊天功能,但是现在这个接口的内部实现对我们来说还是一个未知的”黑盒”。在这一章节中,我们就...
07-离线消息和已读未读显示
消息状态消息状态类型维护消息状态是实现离线消息和已读未读功能的关键,参考枚举类型MessageStatus,消息共有4个状态状态状态值状态变更时机未送达(PENDING)0消息入库后默认状态就PENDING已送...
08-文件、图片、语音消息
1. 文件上传1.1. 整合minio图片、视频、语音、文档本质上都是文件,要实现文件消息的推送,首先我们需要一个文件存储服务器。盒子使用Minio作为文件存储服务。整合Minio并不复杂,基本上遵循三...
09-消息可靠性、顺序性和唯一性
1. 前言相信有不少小伙伴们都在工作中使用过MQ进行消息异步推送了,在学习任何一款开源MQ过程中,都会有一个绕不开的话题,消息的可靠性、顺序性,还有唯一性如何保证?可靠性:只要消息推送接...
10-性能压测和分析
1. 压测设备环境本次压测使用的是我个人的开发电脑,核心配置如下:环境配置操作系统windows10 专业版CPUAMD 锐龙R5 3500x 6核内存金士顿骇客DDR4 3200hz 16G磁盘西部数据SSD 500G如果条件允许...