neilp
V2EX  ›  问与答

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

  •  
  •   neilp · Aug 1, 2016 · 5694 views
    This topic created in 3589 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
        1
    ipconfiger  
       Aug 1, 2016
    那就用第一种, 还天然持久化了的
    neilp
        2
    neilp  
    OP
       Aug 1, 2016
    @ipconfiger 对啊, 持久化也是要求之一.

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

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