golang实现的im服务器
支持点对点消息, 群组消息, 聊天室消息 支持集群部署 单机支持50w用户在线 单机处理消息5000条/s 支持超大群组(3000人)
Go 网络编程
共1457Star
详细介绍
im service
- 支持点对点消息, 群组消息, 聊天室消息
- 支持集群部署
- 单机支持50w用户在线
- 单机处理消息5000条/s
- 支持超大群组(3000人)
服务器硬件指标:32g 16核
编译运行
-
安装go编译环境
-
下载im_service代码
cd $GOPATH/src/github.com/GoBelieveIO
-
安装依赖
cd im_service
dep ensure
-
编译
cd im_service
mkdir bin
make install
可执行程序在bin目录下
-
安装mysql数据库, redis, 并导入db.sql
-
配置程序 配置项的说明参考ims.cfg.sample, imr.cfg.sample, im.cfg.sample
-
启动程序
-
创建配置文件中配置的im&ims消息存放路径
mkdir /tmp/im
mkdir /tmp/impending
-
创建日志文件路径
mkdir /data/logs/ims
mkdir /data/logs/imr
mkdir /data/logs/im
-
启动im服务
pushd `dirname $0` > /dev/null
BASEDIR=`pwd`
nohup $BASEDIR/ims -log_dir=/data/logs/ims ims.cfg >/data/logs/ims/ims.log 2>&1 &
nohup $BASEDIR/imr -log_dir=/data/logs/imr imr.cfg >/data/logs/imr/imr.log 2>&1 &
nohup $BASEDIR/im -log_dir=/data/logs/im im.cfg >/data/logs/im/im.log 2>&1 &
token的格式
连接im服务器token存储在redis的hash对象中,脱离API服务器测试时,可以手工生成。
$token就是客户端需要获得的, 用来连接im服务器的认证信息。
key:access_token_$token
field:
user_id:用户id
app_id:应用id
官方QQ群
- 450359487(一群),已满。
- 416969931(二群),加群请附加说明信息。
官方网站
https://developer.gobelieve.io/