goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议)
特性:
*
轻量级
*
高性能
*
纯Golang实现
*
支持单个、多个以及广播消息推送
*
支持单个Key多个订阅者(可限制订阅者最大人数)
*
心跳支持(应用心跳和tcp、keepalive、http log pulling)
*
支持安全验证(未授权用户不能订阅)
*
多协议支持(websocket,tcp,http)
*
可拓扑的架构(job、logic模块可动态无限扩展)
*
基于Kafka做异步消息推送
架构:
![image](http://static.oschina.net/uploads/img/201511/26172127_SpSJ.png)
协议:
![image](http://static.oschina.net/uploads/img/201511/26172129_6xhd.png)