gochat - 純go實現的im即時通訊系統(支援水平擴充套件)

gochat發表於2019-11-04

專案推薦
- 專案地址:
https://github.com/LockGit/gochat

- 類別: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

相關文章