使用go-zero框架开发的IM服务器。 有高度定制IM需求的开发者,可以使用这个项目。
普通开发者可以在演示项目 基础上进行开发。
- 使用go-zero微服务框架 开发更方便 自带
链路追踪,p2c服务负载均衡,熔断限流,自适应降载等功能 - 不依赖
mysql所有业务逻辑均请求你自己的业务rpc接口 你只需实现rpc接口即可 - 可以使用
cassandra来替代mongodb - 类似
QQ群聊的读扩散模式 妈妈再也不用担心mongodb/cassandra写入性能问题了 - 使用dart开发sdk, 使用flutter做客户端, 直接生成5端代码
- mongodb or cassandra (离线消息存储 个人推荐cassandra)
- kafka (消息队列)
- redis (存储seq)
etcd(不依赖etcd)mysql(不依赖mysql)
- 地址:rancher
- 用户名:guest
- 密码:guest
目录:deploy/local/pathim-docker
- !!!一定要先替换内网地址 目录下文件全部替换 替换ip地址
10.1.3.12为内网/公网ip - !!!一定要先替换内网地址 目录下文件全部替换 替换ip地址
10.1.3.12为内网/公网ip - !!!一定要先替换内网地址 目录下文件全部替换 替换ip地址
10.1.3.12为内网/公网ip
wget https://github.91chi.fun//https://github.com//docker/compose/releases/download/v2.5.1/docker-compose-linux-x86_64
chmod +x docker-compose-linux-x86_64 && mv docker-compose-linux-x86_64 /usr/bin/docker-composecd deploy/local/pathim-docker/dependencies
docker-compose up -d打开
内网/公网ip:8081 进入kafka-ui 主动创建以下topic
- im_msg
- im_msg_push_single
- im_msg_push_group
- kick_conn
确定你要使用的离线消息存储 mongo/cassandra
- 修改
deploy/local/pathim-docker/msg-rpc.yaml-->HistoryDBType:mongo - 删除
deploy/local/pathim-docker/docker-compose.yaml中msgtransfer-history-cassandra服务
- 修改
deploy/local/pathim-docker/msg-rpc.yaml-->HistoryDBType:cassandra - 删除
deploy/local/pathim-docker/docker-compose.yaml中msgtransfer-history-mongo服务
cd deploy/local/pathim-docker
docker-compose up -dgo build -o bin .FROM showurl/zerobase
WORKDIR /app
COPY ./bin /app/zeroservice
RUN chmod +x /app/zeroservice && mkdir /app/etc
CMD ["/app/zeroservice"]docker run -v ./xxx.yaml:/app/etc/xxx.yaml your-image:tag

