Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/GoBelieveIO/im_service

golang im server
https://github.com/GoBelieveIO/im_service

chat chat-application chat-server chatapp free-software go golang im instant-messaging messaging messaging-service messenger open-source server

Last synced: 3 months ago
JSON representation

golang im server

Awesome Lists containing this project

README

        

# im service
1. 支持点对点消息, 群组消息, 聊天室消息
2. 支持集群部署
3. 单机支持50w用户在线
4. 单机处理消息5000条/s
5. 支持超大群组(3000人)

*服务器硬件指标:32g 16核*

## 编译运行

1. 安装go编译环境

版本要求:支持module,高于v1.11
参考链接:https://golang.org/doc/install

2. 下载im_service代码

git clone https://github.com/GoBelieveIO/im_service.git

3. 编译

cd im_service

mkdir bin

make install

可执行程序在bin目录下

4. 安装mysql数据库, redis, 并导入db.sql

5. 配置程序
配置项的说明参考ims.cfg.sample, imr.cfg.sample, im.cfg.sample

6. 启动程序

* 创建配置文件中配置的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 ims.cfg >/data/logs/ims/ims.err 2>&1 &

nohup $BASEDIR/imr imr.cfg >/data/logs/imr/imr.err 2>&1 &

nohup $BASEDIR/im im.cfg >/data/logs/im/im.err 2>&1 &

## token的格式

连接im服务器token存储在redis的hash对象中,脱离API服务器测试时,可以手工生成。
$token就是客户端需要获得的, 用来连接im服务器的认证信息。
key:access_token_$token
field:
user_id:用户id
app_id:应用id

## 官方QQ群
1. 450359487(一群),已满。
2. 416969931(二群),加群请附加说明信息。

## 官方网站
https://developer.gobelieve.io/

## 相关产品
https://goubuli.mobi/