## 项目推荐
- 项目地址:
<a href="https://github.com/LockGit/gochat" target="_blank">https://github.com/LockGit/gochat</a>
- 类别:Go
- 项目描述:
```
gochat为纯go实现的即时通讯系统,支持私信消息与房间广播消息,各层之间通过rpc通讯,支持水平扩展。
使用redis作为消息存储与投递的载体,相对kafka操作起来更加方便快捷,所以十分轻量。
各层之间基于etcd服务发现,在扩容部署时将会方便很多。
由于go的交叉编译特性,编译后可以快速在各个平台上运行,gochat架构及目录结构清晰,
并且本项目还贴心的提供了docker一键构建所有环境依赖,安装起来十分便捷。
```
- 推荐理由:
```
轻量快捷不臃肿,水平可扩展,docker快速构建所有环境,迅速体验im即时通讯,
各层架构清晰,文档说明详细。
```
- 截图:
系统架构:
![](https://github.com/LockGit/gochat/raw/master/architecture/gochat.png)
服务发现:
![](https://github.com/LockGit/gochat/raw/master/architecture/gochat_discovery.png)
消息投递
![](https://github.com/LockGit/gochat/raw/master/architecture/single_send.png)
聊天室预览:
![](https://github.com/LockGit/gochat/raw/master/architecture/gochat.gif)
有疑问加站长微信联系(非本文作者)