分布式websocket IM即时通讯聊天开源项目如何启动

前言

自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。 支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限,分布式唯一id,分布式websockt, 分布式事务等常见的分布式技术。

已经分享的文章
git项目地址 【IM即时通信系统(企聊聊)】点击可跳转

分布式websocket即时通信(IM)系统构建指南【第七期】
分布式websocket即时通信(IM)系统保证消息可靠性【第八期】
分布式websocket IM聊天系统相关问题问答【第九期】
什么?websocket也有权限!这个应该怎么做?【第十期】
分布式ID是什么,以美团Leaf为例改造融入自己项目【第十一期】
IM聊天系统为什么需要做消息幂等?如何使用Redis以及Lua脚本做消息幂等【第12期】
微信发送一条消息经历哪些过程。企业微信以及钉钉的IM架构对比【第13期】
微信群为什么上限是500人,IM设计系统中的群聊的设计难点【第14期】
【分布式websocket】RocketMQ发送消息保证消息最终一致性需要做哪些处理?【第15期】

【分布式websocket】群聊中的各种难点以及解决推拉结合【第16期】

【分布式webscoket】未读消息如何设计?解决缓存与数据库数据一致性!推送未读消息流程【第17期】

IM系统客户端消息存储在手机电脑浏览器分别存储在什么地方?对消息加密策略?如何保证服务端消息和客户端消息一致性【第18期】
【分布式websocket 】前端vuex管理客户端消息crud!使用localStorage来存储【第19期】

sql脚本

yan-v3.sql 是其中涉及到的表结构。

表结构主要是yan_im开头的表。sys开头的主要是用户中心的模块。主要使用他来进行用户登录和注册。

每个表的大概作用

leaf_allc 是美团leaf的表。用于生成分布式唯一id。

用户中心使用的用户表为sys_user表。注册的用户在这个里面;

yan_im_user 存储着用户信息。

聊天消息主要存储在yan_im_user_chat这张表里面。

前置东西

Naocs,Redis,RocketMQ Mysql8 Maven npm

如图所示,主要要安装Naocs,Reids和Rocketmq。有了这三个中间件。就可以启动项目了。

前端

需要 npm run serve 来运行:

后端需要启动的服务;

后台需要至少四个服务。

文件服务需要使用到阿里云oss配置,需要自己去阿里云申请。但是这个服务也不影响一些基础的聊天消息发送服务。

相关推荐
朝朝辞暮i2 分钟前
C++ 第 13 课:值传递 —— 为什么函数里改了,外面却没变?
java·c++·算法
弹简特4 分钟前
【Java项目-企悦抽】16-抽奖模块01-获取活动完整信息接口实现
java·开发语言·状态模式·springboot
泡茶喝茶写代码1 小时前
A股量化数据工程:从 REST 接口到策略信号(第 1 篇):指数列表与实时行情接入
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据接口
Sarvartha1 小时前
接口基础知识
java·开发语言
不才不才不不才1 小时前
Spring 源码系列(29): 20 道高频面试题源码级解析合集
java·后端·spring
索隆zoro1 小时前
Army 的可插拔架构:army-jdbc 与方言模块
java·后端
小蒜学长2 小时前
校园社团招新网站的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·校园社团招新网站
Dovis(誓平步青云)2 小时前
多个链接不等于多份证据,新闻核验看板怎样合并来源
java·服务器·前端·javascript·人工智能·pdf·电脑
旺仔Sec3 小时前
2026年江西省职业院校技能大赛(中职组)应用软件系统开发赛项竞赛样题
java·应用软件系统开发
Dovis(誓平步青云)3 小时前
几个方案来回选不定?做一个随时切换的候选推荐页
android·java·服务器·开发语言·javascript·数据库·智能化