im_service
最后更新于:2022-04-02 04:57:29
[https://github.com/GoBelieveIO/im\_service](https://github.com/GoBelieveIO/im_service) im\_service服务端(国内唯一开源IM)
# im service
1. 支持点对点消息, 群组消息, 聊天室消息
2. 支持集群部署
3. 单机支持50w用户在线
4. 单机处理消息5000条/s
5. 支持超大群组(3000人)
*服务器硬件指标:32g 16核*
## [](https://github.com/GoBelieveIO/im_service#%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C)编译运行
1. 安装go编译环境
参考链接:[https://golang.org/doc/install](https://golang.org/doc/install)
2. 下载im\_service代码
cd $GOPATH/src/github.com/GoBelieveIO
git clone[https://github.com/GoBelieveIO/im\_service.git](https://github.com/GoBelieveIO/im_service.git)
3. 安装依赖
cd im\_service
dep ensure
4. 编译
cd im\_service
mkdir bin
make install
可执行程序在bin目录下
5. 安装mysql数据库, redis, 并导入db.sql
6. 配置程序 配置项的说明参考ims.cfg.sample, imr.cfg.sample, im.cfg.sample
7. 启动程序
* 创建配置文件中配置的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 &
## [](https://github.com/GoBelieveIO/im_service#token%E7%9A%84%E6%A0%BC%E5%BC%8F)token的格式
~~~
连接im服务器token存储在redis的hash对象中,脱离API服务器测试时,可以手工生成。
$token就是客户端需要获得的, 用来连接im服务器的认证信息。
key:access_token_$token
field:
user_id:用户id
app_id:应用id
~~~
## [](https://github.com/GoBelieveIO/im_service#%E5%AE%98%E6%96%B9qq%E7%BE%A4)官方QQ群
1. 450359487,加群请附加说明信息。
## [](https://github.com/GoBelieveIO/im_service#%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99)官方网站
[https://developer.gobelieve.io/](https://developer.gobelieve.io/)
## [](https://github.com/GoBelieveIO/im_service#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81)相关产品
[https://goubuli.mobi/](https://goubuli.mobi/)
';