有没有轻量级分布式消息队列 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
1800x
V2EX    Go 编程语言

有没有轻量级分布式消息队列

  •  
  •   1800x 2024-05-16 10:28:34 +08:00 via Android 5315 次点击
    这是一个创建于 521 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用于小型分布式微服务系统
    要求:
    1 几乎没有资源消耗
    2 上手、维护简单
    3 没有单点故障
    4 支持发布/订阅
    5 支持失败重试
    6 支持定时/延时消息
    7 支持 go python

    目前主流消息队列,资源消耗大、维护困难。
    数据储存可以用 mysql redis 。这两样一般的系统都有。
    当然,这个消息队列上传输的数据量不大。
    33 条回复    2024-06-05 10:33:27 +08:00
    ipwx
        1
    ipwx  
       2024-05-16 10:30:46 +08:00
    redis 都支持。。。
    ipwx
        2
    ipwx  
       2024-05-16 10:31:02 +08:00
    iqingqian
        3
    iqingqian  
       2024-05-16 10:36:28 +08:00
    1800x
        4
    1800x  
    OP
       2024-05-16 10:37:10 +08:00 via Android
    @iqingqian 这货不支持“订阅”。客户端会收到全部任务,没得选
    qingshanyuluo
        5
    qingshanyuluo  
       2024-05-16 10:43:29 +08:00
    那两个流行的消息队列本来也不重啊
    ChoateYao
        6
    ChoateYao  
       2024-05-16 10:44:19 +08:00
    用 redis 自己搞一个
    就用 set 维持一个订阅列表,每个名称都是一个 redis 队列。
    hui314
    &nsp;   7
    hui314  
       2024-05-16 10:46:22 +08:00
    beanstalkd
    gesse
        8
    gesse  
       2024-05-16 10:48:34 +08:00
    mqtt ?
    mightybruce
        9
    mightybruce  
       2024-05-16 10:53:42 +08:00
    1.云原生 nats.io
    2.redis stream
    3. 自己用消息中间件 zeromq 或 nanomsg 自己封装一下想有什么功能就有什么功能。
    zeromq 几乎有所有流行语言的库
    mightybruce
        10
    mightybruce  
       2024-05-16 10:58:44 +08:00
    nanomsg 有好几种语言的实现,原来是为了进入 linux 内核,把 zeromq 用 C 改写了,现在也有纯 go 语言实现。
    https://github.com/nanomsg/mangos
    yjhatfdu2
        11
    yjhatfdu2  
       2024-05-16 11:06:30 +08:00
    nats jetstream 只有 6 大概没有其他全符合
    dododada
        12
    dododada  
       2024-05-16 11:31:33 +08:00
    nsq , 但是 5 不确定是否支持,可能要自己写
    rekulas
        13
    rekulas  
       2024-05-16 11:37:42 +08:00
    rabbitmq docker 一键运行内存占用几十 用了很多年了
    8355
        14
    8355  
       2024-05-16 11:41:02 +08:00
    推荐 redis stream
    有消费者组 目前我们深度应用,阿里云 2g 的 redis 跑的飞起
    有消费和重试机制
    evam
        15
    evam  
       2024-05-16 11:44:36 +08:00
    总感觉你在说 redis 啊
    LieEar
        16
    LieEar  
       2024-05-16 11:52:34 +08:00
    我推荐一个,celery
    https://github.com/celery/celery
    xubeiyou
        17
    xubeiyou  
       2024-05-16 12:17:43 +08:00
    Redis 或者是 mqtt
    dwu8555
        18
    dwu8555  
       2024-05-16 12:22:02 +08:00 via iPhone
    @1800x 支持订阅啊,你设置需要处理的 queue 就行了
    allenby
        19
    allenby  
       2024-05-16 12:35:00 +08:00 via Android
    codersdp1
        20
    codersdp1  
       2024-05-16 14:13:59 +08:00
    @iqingqian 这个还可以
    BeijingBaby
        21
    BeijingBaby  
       2024-05-16 14:17:18 +08:00
    既然分布式了,不太可能还很轻量吧。毕竟各种情况都要考虑到。
    904653238
        22
    904653238  
       2024-05-16 14:17:28 +08:00
    @8355 用 redis stream, 你们的流重分配是自己做的吗?
    8355
        23
    8355  
       2024-05-16 15:00:28 +08:00
    @904653238 这个没啥难度是自己做的,重新投递即可,stream 内部机制可以记录重试次数和超时时间。
    904653238
        24
    904653238  
       2024-05-16 15:11:36 +08:00
    @8355 能交流下吗? OTA0NjUzMjM4
    Scarb
        25
    Scarb  
       2024-05-16 16:07:19 +08:00
    rabbitmq
    xsen
        26
    xsen  
       2024-05-16 17:00:51 +08:00
    nsq
    nats
    su14772
        27
    su14772  
       2024-05-16 20:22:24 +08:00
    redis stream 不就可以么
    update
        28
    update  
       2024-05-16 22:05:06 +08:00
    redis stream
    yougg
        29
    yougg  
       2024-05-17 09:46:47 +08:00 via Android
    zzhaolei
        30
    zzhaolei  
       2024-05-17 14:45:40 +08:00
    IDAEngine
        31
    IDAEngine  
       2024-05-17 21:32:50 +08:00
    rabbitmq
    6HWcp545hm0RHi6G
        32
    6HWcp545hm0RHi6G  
       2024-05-28 09:38:30 +08:00
    pulsar https://pulsar.apache.org/

    要是测试用,用镜像一键拉起服务,方便快捷。
    dyllen
        33
    dyllen  
       2024-06-05 10:33:27 +08:00
    redis 吧,不用额外引入外部组件,引入一个 redis 队列的库就能用了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     940 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 81ms UTC 18:39 PVG 02:39 LAX 11:39 JFK 14:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86