The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
1800x

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

  •  
  •   1800x · May 16, 2024 via Android · 6788 views
    This topic created in 901 days ago, the information mentioned may be changed or developed.
    用于小型分布式微服务系统
    要求:
    1 几乎没有资源消耗
    2 上手、维护简单
    3 没有单点故障
    4 支持发布/订阅
    5 支持失败重试
    6 支持定时/延时消息
    7 支持 go python

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

    要是测试用,用镜像一键拉起服务,方便快捷。
    dyllen
    dyllen
    Jun 5, 2024
    33
    redis 吧,不用额外引入外部组件,引入一个 redis 队列的库就能用了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5684 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 03:09 · PVG 11:09 · LAX 19:09 · JFK 22:09
    ♥ Do have faith in what you're doing.