neilp
V2EX  ›  问与答

求推荐好用的消息队列系统

  •  
  •   neilp · Aug 1, 2016 · 6201 views
    This topic created in 3752 days ago, the information mentioned may be changed or developed.
    经常有一些比较耗时的操作, 比如发邮件,或者耗时的计算. 想专门做一台队列服务器,来做这些耗时的操作.

    请大家推荐好用的队列系统.

    目前的想法:
    1. 使用数据库, 把消息都放进数据库, 然后自己写 daemon 来读取消息并执行, 然后更新状态.

    2. httpsqs http://zyan.cc/httpsqs/ 这个看起来不错,不过貌似很久没有更新了.


    我的要求:

    1. 性能是最不重要的. 队列的消息也不会太多.

    2. 需要能 远程操作查询队列, 最好能 支持 http 协议访问, 这样方便.

    3. 不要太复杂, 简单好用.


    谢谢.
    25 replies  •  2016-08-02 13:31:50 +08:00
    ipconfiger
    ipconfiger
    Aug 1, 2016
    1
    那就用第一种, 还天然持久化了的
    neilp
    neilp
    OP
    Aug 1, 2016
    2
    @ipconfiger 对啊, 持久化也是要求之一.

    但是第一种,自己要写的 code 略多. 主要是远程 http 访问这一块. 感觉得不偿失.
    ipconfiger
    ipconfiger
    Aug 1, 2016
    3
    @neilp pip install requests
    harry890829
    harry890829
    Aug 1, 2016
    4
    对于 zmq 我并不是很了解,但是你可以查看一下, zeromq
    ipconfiger
    ipconfiger
    Aug 1, 2016
    5
    @neilp 搞错, 你说 http 管理?pip install bottle 三五下就出个简单的管理 console
    cdffh
    cdffh
    Aug 1, 2016
    6
    数据量大了数据库的性能可能会成为瓶颈 使用 redis 的 list 结构来做队列不错. 底层是一个链表实现 进出队列的时间复杂度是 O(1) 目前我就在用.
    sarices
    sarices
    Aug 1, 2016
    7
    一直用 httpsqs ,感觉够用了
    neilp
    neilp
    OP
    Aug 1, 2016
    8
    @ipconfiger 对啊, 我说的主要是 数据库要暴露出 http 的访问接口.
    ipconfiger
    ipconfiger
    Aug 1, 2016
    9
    @neilp django-admin 嘛
    mrytsr
    mrytsr
    Aug 1, 2016 via Android
    10
    redis
    armstrong
    armstrong
    Aug 1, 2016
    11
    Redis 的 list, lpush, rpoplpush , lrem 即可
    jerray
    jerray
    Aug 1, 2016
    12
    RabbitMQ
    pubby
    pubby
    Aug 1, 2016
    13
    redis 比较简单,但是 优先级,延时这种不好弄。
    RabbitMQ 有点重,数据和 hostname 绑定的,如果要迁移有些麻烦
    可以试试 beanstalk ,轻量,持久化,优先级,延时这种都有
    e1eph4nt
    e1eph4nt
    Aug 1, 2016
    14
    AWS SQS
    mrwangrj
    mrwangrj
    Aug 1, 2016
    15
    beanstalk 不错
    tinyproxy
    tinyproxy
    Aug 1, 2016 via iPhone
    16
    我在这里推荐阿里云 MNS 会不会被打死
    sunus
    sunus
    Aug 1, 2016
    17
    生产环境用像 rabbitmq 这种成熟的方案,不折腾,不蛋疼

    楼上说的阿里云, AWS 提供的消息服务也不错
    kfll
    kfll
    Aug 1, 2016
    18
    22too
    22too
    Aug 1, 2016
    19
    我们是 rabbitmq
    lightening
    lightening
    Aug 1, 2016
    20
    我们用 RabbitMQ ,性能很好。简单读一读文档,概念也是挺容易懂的。
    用第三方系统好处就是发送失败的情况等他们会提供成熟的处理方法。
    wander2008
    wander2008
    Aug 1, 2016 via iPhone
    21
    rabbitmq
    north521
    north521
    Aug 1, 2016
    22
    rocketmq?
    veelog
    veelog
    Aug 2, 2016 via Android
    23
    nginx + redis+mysql 就可以呀。。。
    veelog
    veelog
    Aug 2, 2016 via Android
    24
    直接 http 协议访问数据库, redis 很方便
    sigmadg
    sigmadg
    Aug 2, 2016
    25
    redis pub/sub
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4142 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    ♥ Do have faith in what you're doing.