YUE-IM即时通讯 v1.0

YUE-IM即时通讯

  • 源码大小:2.28MB
  • 源码语言:简体中文
  • 源码类型:国产软件
  • 源码授权:免费软件
  • 源码类别:java源码
  • 应用平台:Java
  • 更新时间:2022-03-02
  • 网友评分:
360通过 腾讯通过 金山通过

情介绍

 YUE-IM是使用java开发,基于netty,akka 实现的即时通讯服务。并且提供极简的api,极大的降低开发难度,方便使用者二次开发。

主要特点

1.支持websocket,tcp协议进行通信,消息类型代码,消息内容格式自定义

2.支持单机部署,集群部署

3.提供极简api,方便开发者二次开发

4.得益于akka提供的能力,集群模式只需要简单配置(依赖zookeeper,用于种子节点发现),支持自组建,集群间消息通信不依赖其他消息队列及其他中间件

5.支持同一账号,多终端连接,多终端同时接收消息

软件架构

系统选择基于使用netty作为接入服务器,主要是考虑netty作为java里最知名的网络服务器框架,性能,对多种协议的支持,以及开发资料都有保证

集群间通信: 系统集群间通信选择基于Akka来实现,即时通讯集群要解决的最大的问题就是如何把消息投递到目的客户端连接的节点上,目前大部分开源的即时通讯项目基本上都是基于消息队列或者redis的发布订阅来实现跨节点的通信, 或者是维护一个总的路由缓存系统来实现跨节点的通信,本系统基于Akka,通过广播,消息应答及各节点缓存路由来实现集群各节点的通信,不依赖其他系统或中间件,尽量减少不必要的设备资源消耗及网络传输次数, Akka是一套开源工具和运行时,便于构建JVM上的并发应用和分布式应用,自从了解Akka后就一直想基于Akka开发 一个程序,无奈平时并没有什么应用场景用得到,Akka本身的特性是很适合做这种消息服务的,所以选择了Akka,并且集群节点间通信使用protobuf,提高数据传输效率

代码结构

├── imui #示例项目前端测试demo

├── yueim-common # 接口定义,通用配置,依赖

├── push-sample # 示例项目:即时通讯服务器节点,需部署启动

├── push-server # 即时通讯服务框架,依赖

默认协议结构

tcp连接:

websocket连接 websocket连接协议实现的比较简单,走的文本帧

消息类型代码 + "#" + json文本消息体

使用说明

yueim-sample : 本地启动ImApplication,访问imui下的index.html页面即可使用demo,完整项目开发完成后放到其他仓库

示例项目完成了 私聊,群聊,(多媒体,历史消息属于业务范畴,需要自行实现)

安装教程

1.参考yueim-node 项目的pom.xml配置,运行package命令后,打包出相应的tar.gz

2.解压xxx.tar.gz

3.根据相应的操作系统,运行bin目录下的相应的启动脚本

载地址

下载错误?【投诉报错】

气源码

关文章

  • Java轻量级类隔离框架 SOFAArk Project v2.3.0

    SOFAArk 是一款基于 Java 实现的动态热部署和轻量级类隔离框架,由蚂蚁集团开源贡献,主要提供应用模块的动态热部署和类隔离能力。欢迎需要的朋友下载使用...

  • SpringBlade微服务开发平台 v4.4.0

    SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴...

  • Diboot轻代码开发平台 v2.11.0

    Diboot轻代码开发平台是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性...

  • RuoYi-activiti工作流平台源码 v4.1

    RuoYi-activiti是一款以若依开源权限管理系统为基础开发平台并集成了activiti框架完成的工作流系统,旨在打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的...

  • RuoYi若依权限管理系统 v4.7.9

    RuoYi若依权限管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观, 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,喜欢的朋友快来下载...

  • Java Struts2漏洞复现工具

    今天给大家分享Java Struts2漏洞复现工具,喜欢的朋友快来下载体验吧...

  • java操作excel的jar包(jxl.jar包 源码)

    jxl.jar是通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,接下来通过本文给大家介绍java操作excel的jar包(jxl.jar包 源码),喜欢的朋友快...

  • springboot整合QuartJob实现定时器实时管理源代码

    Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大,,下面给大家分享springboot整合QuartJob实现定时器实时管理源代码,感兴趣的朋友快来下载体验吧...

  • SOFABoot开源框架 v3.24.0

    SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力...

  • 基于SSM的应急资源管理系统源码 v1.0

    应急资源管理系统用的是是比较流行的SSM和前端JSP技术,用它来创建使用脚本语言,结合HTML代码来制作动态 网页,欢迎需要的朋友下载使用...

载声明

☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的YUE-IM即时通讯 v1.0资源来源互联网,版权归该下载资源的合法拥有者所有。