YUE-IM

即时通讯服务开发框架
授权协议 Apache
开发语言 Java
所属分类 服务器软件、 电话/通讯/IM聊天
软件类型 开源软件
地区 国产
投 递 者 庞旺
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

主要特点:

  1. 支持websocket,tcp协议进行通信
  2. 支持单机部署,集群部署
  3. 提供极简api,方便开发者二次开发
  4. 得益于akka提供的能力,集群模式只需要简单配置(依赖zookeeper,用于种子节点发现),支持自组建,集群间消息通信不依赖其他消息队列及其他中间件
  5. 支持同一账号,多终端连接,多终端同时接收消息

 

软件架构

image

 

 

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

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

 相关资料
  • Linux Mint 自带 pidgin,版本是 2.10。 从源码编译 如果想升级到最新版本,或者,因为某些特殊原因导致内置版本的 pidgin 不可使用,就需要考虑从源码开始编译。 特别说明: 手工编译升级 pidgin 和 lync插件 pidpin-sipe 到最新版本之后,开始可以使用,后面不久就莫名其妙的出问题,表现为 pidgin 启动之后无法找到 pidpin-sipe 导致无法支

  • Skype for Linux Alpha 是Skype for Linux 新版本的早期版本。 安装 下载地址: https://go.skype.com/skypeforlinux-64-alpha.deb 完成之后直接右键点击 deb 文件通过 Gdebi package installer 安装。 安装完成之后,在互联网下就可以找到 Skype for Linux Alpha: 这是 ab

  • 软件: Skype: skype For Linux Alpha Pidgin: 支持多协议的即时通讯软件 Lync兼容方案: 用于兼容 Lync 2013 / skype for business

  • Lync (后来被微软收购之后改名为 Skype for business) 没有 linux 版本,但是我们可以通过 pidgin 这个IM通用外壳配置 sipe 插件来实现和 Lync 的兼容和相互通讯。 注: 方案不够完美,但是至少,可以解决有没有的问题。 Pidgin 上一节介绍到,Linux Mint 18 自带 pidgin,也可以自行卸载再从源码编译安装到最新版本。 特别说明: 手工

  • 本文向大家介绍C# 调用腾讯即时通信 IM的示例,包括了C# 调用腾讯即时通信 IM的示例的使用技巧和注意事项,需要的朋友参考一下 IM SDK API 概述 https://cloud.tencent.com/document/product/269/33543 以上就是C# 调用腾讯即时通信 IM的示例的详细内容,更多关于c# 调用腾讯 im的资料请关注呐喊教程其它相关文章!

  • 本文向大家介绍Node.js 服务器端应用开发框架 -- Hapi.js,包括了Node.js 服务器端应用开发框架 -- Hapi.js的使用技巧和注意事项,需要的朋友参考一下 Hapi.js 是一个用来构建基于 Node.js 的应用和服务的富框架,使得开发者把重点放在便携可重用的应用逻辑而不是构建架构。内建输入验证、缓存、认证和其他 Web 应用开发常用的功能。 示例代码: 附上github