推荐:一款Java开源的Springboot 即时通讯 IM 聊天系统

开篇

电商平台最不能缺的就是即时通讯,例如通知类下发,客服聊天等,今天就来搞一个开源的即时通讯耍耍。如对文章不感兴趣可直接跳至文章末尾,有获取开源gitee上链接的方法和我自己改的压缩包的地址。但文章内容是要过一遍的,redis记录聊天会话相关的,源码没有,我自己改的。

本文一如既往的实战,这次来搭建的开源系统,是即时通讯,开源的部分有限,所以作者我抽空给改了改,拿去之后可以后台可以直接使用。观看的同学需有一定的工作基础。如果只对源码感兴趣,看完简介后请跳至文章末尾,如果对搭建过程学习感兴趣赶紧关注、转发、收藏吧。毕竟源码没什卵么用,怎么用才是重点。源码好找,调试不易,请君珍惜

项目简介

该项目是一套基于apache mina 和Netty框架下的推送系统,我们平常使用第三方的推送SDK,如极光推送,百度推送,小米推送,以及腾讯信鸽等来支撑自己的移动端的业务,那么有没有想过自己也开发一个推送系统?!!或许有一些用户自己实现即时通讯系统的需求,那么该套系统可是提供了一个解决方案或者思路,目前该系统支撑 websocket,android,ios,桌面应用,系统应用等多端接入支持。而且我已经把redis整合进去了,有没有价值,值不值得收藏,自己看文章!!

项目架构

即时通讯聊天的架构都相对较简单,一般都是服务端+客户端,能实现用户A到用户B的聊天。含金量在于看看支不支持集群扩展。当然核心在于redis存储各个连接信息。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

聊天架构

项目主要模块

项目分为,服务器端,和客户端,服务端是netty 整合websocket 和redis,客户端形式多种多样,都是调用服务端的,本篇就不重点介绍了,但后面源码我把我写的demo给贴出来。

核心调试部分

环境:16G内存的电脑、JDK1.8以上,Maven3.6以上,开发工具Idea,redis 3以上版本。

1、一如既往的导入项目从开源gitee上的地址,如下图操作,如果网快的画基本几分钟就好了,如果网速慢,那就等等吧。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

git导入项目

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

导入后截图

2、修改redis配置,注意截图里的红色,pom.xml 里面修改maven依赖,由于原开源项目没有redis相关代码,故这一部分是我整理加上的!这里也是重点。不然你的聊天可支持不了集群!!

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

3、加入redis相关配置,由于源码里面的东西没必要贴出来,截图了这里。需要源码的到文章末尾吧。包含RedisConfig,RedisUtils,以及相关配置。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

4、这里我们实现一个,nginx做负载均衡和反向代理的相关配置,nginx软件自己去下载吧。修改nginx.conf,如下

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

nginx相关配置

5、把静态文件放入nginx下的html下,然后运行nginx。并启动后台。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

后台服务

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

6、至此搞完了,来看看效果吧!!!

A、访问服务端页面 http://localhost:8080 注意是8080 ,这里只能给用户推送信息不能发聊天信息。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

B、访问客户端页面 http://localhost/cim-client-web/

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

C、随便填写一个用户,没有的话后台会自动注册到redis的。例如我填写的是test;和test2;当然本文重点不是前端页面,只是简单的在源代码的基础上加了聊天。因为源代码只有推送,没有聊天!!

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

D、看看redis里的信息 cimsessions 这个key是我加上去的,源代码里也没有,自己可以该成自己的,看自己如何扩展了。

Java  开源的Springboot 即时通讯 IM 聊天系统调试实战

结语

此套开源的即时通讯系统,可以改改成推送的,也可以改成聊天的,后端改改可以拿来直接使用,重点不在前端,但android 和ios还有web都支持,自己看代码中的例子吧,值不值得收藏,自己先看看文章,觉得可以收藏一下,慢慢看。

推荐阅读:

牛皮了,马士兵老师全网首播阿里P8级技术、实现大型淘宝实战落

面试美团被JVM惨虐?阿里P9架构师用500分钟把JVM从入门讲到实战#合集

清华启蒙架构师马士兵针对应届生到开发十年的Java程序员做职业把脉

马士兵教育:Spring源码实战全集,资深架构师带你搞懂Spring源码底层从入门到入坟

阿里P9架构师120分钟带你掌握线程池,不在为线程而烦恼

猜你喜欢

转载自blog.csdn.net/weixin_45132238/article/details/107537520