您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

基于SpringBoot+Netty的分布式开源即时通讯系统项目GitHub Star 68k [免费源码]

  • 时间:2022-09-07 01:44 编辑: 来源: 阅读:296
  • 扫一扫,手机访问
摘要:基于SpringBoot+Netty的分布式开源即时通讯系统项目GitHub Star 68k [免费源码]
最近公司在开发中需要用到IM系统,所以自己开发需要更多的时间和精力。 所以我们考虑在开源项目的基础上进行二次开发。在比较了许多开源方案后,我们选择了CIM[1]。 项目简介CIM(CROSS-IM)项目是一个面向开发者的即时通讯系统。项目基于流行的SpringBoot(项目依托的Spring Boot版本是1.5.x,可以自行更新到最新的稳定版本),网络通信基于Netty。 Redis用于存储客户端的账号/状态(在线)/路由信息,Zookeeper用于完成服务间的发现。 通过CIM(CROSS-IM),你可以设计自己的水平可扩展的IM。 项目地址:crossoverJie/cim[2]功能列表群聊私聊记录查询AI自动聊天(智能模式价值2亿)延迟消息客户端自动重新连接服务器自动拒绝离线客户端支持级别扩展/协议缓冲协议项目截图。群聊:imageimage私聊:图像项目技术栈Spring BootZookeeperNettyRedis...你可以看到项目中用到的所有技术都是共性技术,也是我们需要掌握的能力。 而且crossoverJie大哥写的代码也挺漂亮的,值得学习。 让我们简单看一下系统的整体架构!系统架构图我们来看看几个关键的实现。 简单代码分析群聊的使用非常简单,只要你想在控制台输入一条消息,按回车键即可。 这时会调用route的群聊界面。 镜像的效果就是一个客户端发一条消息,其他所有客户端都能收到!这个过程必须是用户向服务器发送消息。服务器收到后,按照上面的细节遍历SessionSocketHolder中的所有通道,然后发送消息。 做单台服务器还可以,现在是集群设计。 因此,根据前面的轮询算法,所有客户机将被分配到不同的服务器实例。 Image然后逐个调用每个客户端所在的服务器的HTTP接口来推送消息。 图像私聊也一样,但前提是你需要触发关键词;使用用户id;;内容的格式只会给一个客户发一条消息,所以一般要先用:olu命令才能得到,方便在线客户使用。 图片在线客户查看这是一个辅助界面,可以查询当前在线的客户信息。 镜像实现也很简单,就是在查询之前保存“客户登录状态”的副本集即可。 postscript CIM[3]的功能包括但不限于此,剩下的功能就等你自己去体验了~有思想的crossoverJie大哥也为这个项目写过很多相关的文章[4],参考了少量他在开发这个项目时遇到的设计过程/问题,也包含了很多大佬的想法。 朋友们要好好利用哦~以下是文章列表:图片按照crossoverjie的思路,这个项目里有很多todo列表。有兴趣的朋友也可以贡献自己的力量,学习后积极参与开源!


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部