• 请不要在回答技术问题时复制粘贴 AI 生成的内容
babyrjw
V2EX  ›  程序员

beanstalked 性能

  •  
  •   babyrjw · Jan 23, 2020 · 4709 views
    This topic created in 2477 days ago, the information mentioned may be changed or developed.

    业务要用到延时队列,不知道 beanstalked 性能怎么样,有没有老哥在生产环境用过的。

    18 replies  •  2021-03-09 09:18:05 +08:00
    luxinxin
    luxinxin
    Jan 23, 2020 via iPhone
    1
    试过一天两百万任务,没啥问题
    loveyu
    loveyu
    Jan 23, 2020
    2
    做过压力测试,单机性能 8k/s, 纯内存。不过由于没有高可用,大佬们不给上生产
    OllyDebug
    OllyDebug
    Jan 23, 2020 via iPhone
    3
    生产环境千万级业务没啥压力
    tt67wq
    tt67wq
    Jan 23, 2020 via iPhone
    4
    这东西不是拿来学习用的吗
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    5
    @loveyu 您家现在生产用的什么哇?
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    6
    @luxinxin 我大概 300/s job,一天大约 400w,延时大约 1-10 分钟,担心高峰堆积
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    7
    @OllyDebug 看老哥用的稳,心里放心一些了
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    8
    @tt67wq 啊?那生产一般用哇?
    loveyu
    loveyu
    Jan 23, 2020
    9
    @OllyDebug 生产走原始 DB 定时任务,一分钟一次
    loveyu
    loveyu
    Jan 23, 2020
    10
    @OllyDebug 回复错了,忽略
    skypyb
    skypyb
    Jan 23, 2020 via Android
    11
    延时用 rabbit 怎么样?可持久化,堆积量和压力承载性能都挺不错啊
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    12
    @skypyb rabbit 好像只能同一队列同一延时,队首的没超时,队列中的超时也无法处理
    babyrjw
    babyrjw
    OP
    Jan 23, 2020
    13
    @loveyu 额额,扫 db 好像不太适合我
    loveyu
    loveyu
    Jan 23, 2020
    14
    @babyrjw 这个要上生产也是有多个方案的,比如 redis 做持久化,然后故障恢复后从 redis 中恢复。或者直接使用 benastalk 的持久化,只用作去触发异步队列,做幂等加补偿,也是一个方案
    skypyb
    skypyb
    Jan 23, 2020 via Android
    15
    @babyrjw rabbit 有延时交换机插件的啊,可以了解一下
    https://www.skypyb.com/2020/01/jishu/1323/
    daimaldd
    daimaldd
    Jan 25, 2020
    16
    zibber
    zibber
    Jan 26, 2020
    17
    要配置一下高可用吧,以前单机任务多了容易挂
    734695609
    734695609
    Mar 9, 2021
    18
    @skypyb 你说的是 rabbitmq_delayed_message_exchange 插件吗,这个插件用起来是很方便,不是我试过之后感觉有几个问题
    1.延迟时间类型是 int,最大只能支持 24.8 天,后面的小数点被我省略了。
    2.关于迁移,如果换服务器怎么办,只把队列迁移过去原来的延迟时间还在不在,因为看到作者在 github 写的
    You can disable this plugin by calling rabbitmq-plugins disable rabbitmq_delayed_message_exchange but note that ALL DELAYED MESSAGES THAT HAVEN'T BEEN DELIVERED WILL BE LOST. 即把插件关闭所有尚未传递的延迟消息将丢失
    3.作者说插件设计不支持十万百万场景,因为有人用这个插件支撑了太多延时队列导致延迟时间会更久,提了 issue,Current design of this plugin doesn't really fit scenarios with a high number of delayed messages (e.g. 100s of thousands or millions). See #72 for details.
    所以我想问一下你们的生产环境用的是这个吗,有出现上述的问题吗,或者换了什么解决方案吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2603 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 15:10 · PVG 23:10 · LAX 07:10 · JFK 10:10
    ♥ Do have faith in what you're doing.