V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ospulse
V2EX  ›  分享创造

我开发了一个群聊成员无上限的聊天软件,取名:无限群,今天发布 0.1 版本,进行内测

  •  
  •   ospulse · 228 天前 · 2733 次点击
    这是一个创建于 228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经过紧张而又刺激的开发,肝代码,终于,赶在苹果新品发布会的时候,发布 0.1 版本。

    这个项目的 macOS 客户端,和后端,都是我一个人手写实现的。

    项目架构图如下:

    无限群架构图

    技术栈的选择,刚开始是这样:

    1. 客户端:Swift
    2. Gateway 服务器:Go
    3. API 接口: Ruby
    4. 消息队列: Erlang
    5. 消息队列 worker: Python
    6. 投递服务器: Go

    但是,经过考虑,要是用很多语言的话,维护成本比较高,结果,最终都采用 Go 作为统一的后端语言。

    也就是:

    Gateway, API 接口,消息队列,Worker ,投递服务器,都是用 Go 来实现了。


    由于用了 SwiftUI ,软件最低版本,要求 macOS 13 以上。

    对这个软件感兴趣的,打算参与测试的,请联系我。

    我的微信:mi-ngzhi

    28 条回复    2023-10-06 15:58:32 +08:00
    loveqianool
        1
    loveqianool  
       228 天前
    手写可还行
    whitecosm0s
        2
    whitecosm0s  
       228 天前
    想问一下内容审核怎么解决,和 Telegram 的区别是什么呢?
    AppJun
        3
    AppJun  
       228 天前
    不是应该上 socket 啥的吗?
    ospulse
        4
    ospulse  
    OP
       228 天前
    @loveqianool 还行。
    ospulse
        5
    ospulse  
    OP
       228 天前
    @whitecosm0s 准备接入云服务的内容审核。
    ospulse
        6
    ospulse  
    OP
       228 天前
    @AppJun 用的 WebSocket
    HiramWong
        7
    HiramWong  
       228 天前
    真的不会丢数据吗,后期会对容量收费吧
    ospulse
        8
    ospulse  
    OP
       227 天前
    @HiramWong 数据不能丢,除非云服务挂了。不会对容量收费,但是会对有些功能收费。
    musi
        9
    musi  
       227 天前
    一个人换这么多语言写着写着不会乱嘛
    evada
        10
    evada  
       227 天前
    想试试,可以是 mac 12
    SpikeChan
        11
    SpikeChan  
       227 天前
    架构图的风格很喜欢
    ychost
        12
    ychost  
       227 天前
    @ospulse #6 websocket 开销不会很大吗
    fujizx
        13
    fujizx  
       227 天前
    以前组里把自己开发的 IM 用去同步游戏里的聊天到 APP ,然后那个消息队列。。。有点吓人
    ospulse
        14
    ospulse  
    OP
       227 天前
    @musi 会乱啊,现在同时写 Swift + Go ,就会写乱了。
    ospulse
        15
    ospulse  
    OP
       227 天前
    @evada 主要是用到了 SwiftUI 的新组件,得要求 macOS 13
    ospulse
        16
    ospulse  
    OP
       227 天前
    @SpikeChan 我自己手绘的,嘿嘿
    ospulse
        17
    ospulse  
    OP
       227 天前
    @ychost 就是一种长连接服务,开销大也得用啊
    ospulse
        18
    ospulse  
    OP
       227 天前
    @fujizx 消息太多了吧,得多加几个 worker ,才能处理的来
    ospulse
        19
    ospulse  
    OP
       227 天前
    liangnostr
        20
    liangnostr  
       226 天前
    不开源吗
    ospulse
        21
    ospulse  
    OP
       226 天前
    @liangnostr 没有开源。
    shanhaisilu
        22
    shanhaisilu  
       226 天前
    嗯?图无了?
    shanhaisilu
        23
    shanhaisilu  
       226 天前
    @shanhaisilu 有了有了,刚才可能卡了
    E520
        24
    E520  
       226 天前
    这用什么设备 什么软件画的图
    ospulse
        25
    ospulse  
    OP
       225 天前
    @E520 用 Apple Pencil 在 iPad 画的,软件是无边记。
    Andrue
        26
    Andrue  
       225 天前
    消息队列怎么撸的,之前看 matrix 的消息队列遇到瓶颈了,element 正在提新的滑动队列方案
    ospulse
        27
    ospulse  
    OP
       225 天前
    @Andrue 现在用的是 redis
    ospulse
        28
    ospulse  
    OP
       204 天前
    无限群 Web 端发布,欢迎体验

    https://v2ex.com/t/979219#reply0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2884 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:29 · PVG 20:29 · LAX 05:29 · JFK 08:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.