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://i.iter01.com/images/d905573e817abd6de20fc715ca310bb75af684f938bf2745b2a8f040b6bf4987.png


服務發現:
https://i.iter01.com/images/6c556804fe3311f172206b66e9ea4f2031b02b6ba48bb57fab7010cf61bea6bc.png


訊息投遞
https://i.iter01.com/images/7da2e22a577acf87971417d1d5ce6684f50d3ae8ffb49a8242b269528e5478b1.png


聊天室預覽:
https://i.iter01.com/images/798b66f7aa9c4f337c342e585ac173f3b47bc2933dca6df46ffc3c2f583331c6.gif

相關文章