V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
gochat

gochat - 纯 go 实现的 im 即时通讯系统

  •  2
     
  •   gochat · Dec 1, 2019 · 8721 views
    This topic created in 2341 days ago, the information mentioned may be changed or developed.

    项目推荐

    gochat 为纯 go 实现的即时通讯系统,支持私信消息与房间广播消息,各层之间通过 rpc 通讯,支持水平扩展。
    使用 redis 作为消息存储与投递的载体,相对 kafka 操作起来更加方便快捷,所以十分轻量。
    各层之间基于 etcd 服务发现,在扩容部署时将会方便很多。
    由于 go 的交叉编译特性,编译后可以快速在各个平台上运行,gochat 架构及目录结构清晰,
    并且本项目还贴心的提供了 docker 一键构建所有环境依赖,安装起来十分便捷。
    
    • 推荐理由:
    轻量快捷不臃肿,水平可扩展,docker 快速构建所有环境,迅速体验 im 即时通讯,各层架构清晰,文档说明详细。
    
    • 截图: 系统架构:

    服务发现:

    消息投递

    聊天室预览:

    19 replies    2023-07-25 10:46:14 +08:00
    shujun
        1
    shujun  
       Dec 1, 2019 via iPhone
    支持一个
    dreamerlv3ex
        2
    dreamerlv3ex  
       Dec 1, 2019
    需不需要 star
    arfa
        3
    arfa  
       Dec 1, 2019
    支持一个,需不需要 star ?
    gochat
        4
    gochat  
    OP
       Dec 1, 2019
    star 了,后续可能会持续更新优化
    sunwei0325
        5
    sunwei0325  
       Dec 1, 2019
    commit message 改改吧
    gochat
        6
    gochat  
    OP
       Dec 1, 2019
    @sunwei0325 commit message 有意为项目名的,目前只有 1 人 commit , 后面有 pr 就不会是这样了
    f1ren2es
        7
    f1ren2es  
       Dec 1, 2019
    这个 commit 情况下定位历史 bug 不要太爽
    loading
        8
    loading  
       Dec 1, 2019 via Android
    写 commit 写得比我还懒
    Ruoning
        9
    Ruoning  
       Dec 1, 2019
    star 了
    Allianzcortex
        10
    Allianzcortex  
       Dec 1, 2019 via iPhone
    star 支持,用 go mod 真心感动。当然这个 .travis,后续可以多加点测试支持
    gochat
        11
    gochat  
    OP
       Dec 2, 2019
    持续关注吧
    joudev
        12
    joudev  
       Dec 2, 2019
    可以一直回车发送的
    gochat
        13
    gochat  
    OP
       Dec 2, 2019
    @joudev 对,就是故意支持回车发送的,不用每次点击 send 那么麻烦
    joudev
        14
    joudev  
       Dec 2, 2019
    @gochat 意思是空白消息也可以直接发送 那不是一直刷屏吗
    joudev
        15
    joudev  
       Dec 2, 2019
    @gochat 你可以试一下回车发送内容后一直按住回车键不放
    gochat
        16
    gochat  
    OP
       Dec 2, 2019
    @joudev 是这样,不过你可以提一个 pr 不让其有这样的行为也可以,控制下 js 事件就行,demo 中是这个 feature,hah
    gochat
        17
    gochat  
    OP
       Jan 15, 2020
    ⊙﹏x
    hijoker
        18
    hijoker  
       Feb 12, 2020
    这是聊天室,不是像微信那样的 IM?
    wkong
        19
    wkong  
       Jul 25, 2023
    推荐:

    https://github.com/WuKongIM/WuKongIM (单机百万,底层通讯)
    https://github.com/TangSengDaoDao/TangSengDaoDaoServer (商用级别的开源,高颜值开源)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4883 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 03:53 · PVG 11:53 · LAX 20:53 · JFK 23:53
    ♥ Do have faith in what you're doing.