内容简介:J-IM 2.0.0 发布了,J-IM 是一个用 JAVA 语言,基 于t-io 开发的轻量、高性能、支持几十万至百万在线用户的IM(即时通讯)框架,它的主要目标降低即时通讯门槛,使用者基于它可以极快速、低成本的打造接入自己的高性能...
J-IM 2.0.0 发布了,J-IM 是一个用 JAVA 语言,基 于t-io 开发的轻量、高性能、支持几十万至百万在线用户的IM(即时通讯)框架,它的主要目标降低即时通讯门槛,使用者基于它可以极快速、低成本的打造接入自己的高性能即时通讯服务器,并且通过极简洁的消息格式(JSON)就可以实现多端不同协议间的消息发送如内置(Http、Websocket、Tcp自定义IM协议)等,并提供通过Http协议的api接口进行消息发送无需关心接收端属于什么协议,一个消息格式搞定一切!
主要特点:
高性能(单机可支持几十万至百万人同时在线)
轻量、可扩展性极强
支持集群多机部署
消息格式极其简洁(JSON)
支持多种协议(Socket自定义IM协议、Websocket、Http),可分别或组合独立部署。
内置消息持久化(离线、历史、漫游),保证消息可靠性,高性能存储
各种丰富的API接口。
零成本部署,一键启动。
本次更新列表如下:
支持集群多机部署,配置极其简单,一个参数is_cluster(on、off)即可,无需额外复杂配置!
获取用户信息消息结构变化:
(1)
参数:其中的userid成为必填项,type的状态更改为(0:所有在线用户,1:所有离线线用户,2:所有用户[在线+离线])
(2)响应消息体User发生变化:通过(1)中的type指定返回的用户框架会自动对应在user的friends、groups中,这样user拿到了以后,用户信息及好友、群组用户在线状态status(online:offline)都有了,前端直接显示即可,大大减少了工作量。
ImAio接口中的根据用户id获取当前用户接口User getUser(String userid)由原来的List返回值变为单个User对象返回值
ImAio接口增加根据群组id获取用户接口List<User> getAllUserByGroup(String group);
ImAio中相关接口如:sendToUser、sendToGroup、sendToAll、sendToIp等增加支持集群发送。
丰富消息持久化信息如User、Group、在线状态等。
消息助手IMessageHelper增加isOnline、getGroupUsers、getFriendUsers等实用的接口方法。
原来不同协议的ServerHandler更改为ProtocolHandler,如WsProtocolHandler、TcpProtocolHandler、HttpProtocolHandler等。
支持可扩展配置不同协议消息包转化,如:WsProtocol、TcpProtocol等。
握手环节增加握手后方法支持onAfterHandshaked;
绑定用户群组由原来的用户自定义listener中实现,更改为登录环节LoginReqHandler中实现内置绑定群组功能!
其它细节及设计优化
最新pom:
<dependency> <groupId>org.j-im</groupId> <artifactId>jim-server</artifactId> <version>2.0.0.v20180520-RELEASE</version> </dependency>
别忘了给 https://gitee.com/xchao/j-im 点个赞 (Star) 哦。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《J-IM 2.0.0 发布,不仅仅是单机百万更有集群支撑》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- MacOS 单机搭建 Pulsar 集群
- Pika 3.4.0 发布,从单机到集群
- Golang的Redis客户端,支持单机,哨兵,集群
- 简单基于spring的redis配置(单机和集群模式)
- Pulsar本地单机(伪)集群 (裸机安装与docker方式安装) 2.2.0
- 单机 Go 服务部署参考
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Automate This
Christopher Steiner / Portfolio / 2013-8-9 / USD 25.95
"The rousing story of the last gasp of human agency and how today's best and brightest minds are endeavoring to put an end to it." It used to be that to diagnose an illness, interpret legal docume......一起来看看 《Automate This》 这本书的介绍吧!
MD5 加密
MD5 加密工具
RGB CMYK 转换工具
RGB CMYK 互转工具