【问题标题】:MQ Cache? good or bad idea?MQ 缓存?好主意还是坏主意?
【发布时间】:2013-05-03 01:00:14
【问题描述】:

我想知道MQ是否可以用作状态缓存进行监控?这是个好主意吗?

理论上,您可以拥有许多源(监控代理)来检测问题状态并通过 MQ 系统(例如 RabbitMQ)将它们分发给订阅者。但是有没有人听说过使用 MQ 系统来缓存状态,所以当客户端初始化时,他们会在订阅新的状态消息之前从状态队列中读取?这是使用 MQ 的坏方法吗?

回顾一下,监视器会从状态队列中读取当前状态,然后设置订阅队列来接收任何新的更新。并且状态队列将通过删除任何不再有效的警报来维护,这些警报最初由将警报放置在那里的监控代理。

优势将是分散通知,并且通过添加更多 mq 系统来中继事件理论上非常畅销。

【问题讨论】:

    标签: caching rabbitmq mq


    【解决方案1】:

    我有一个 Rabbit MQ 用例,它保存了系统的最后一个有效状态。当该系统的新客户端连接时,它会收到当前状态。

    就是这么简单!

    您必须使用 Last Value Cache 自定义交换 https://github.com/simonmacmullen/rabbitmq-lvc-plugin

    安装后,您会将所有状态消息发送到该交换机。每个需要状态信息的客户端都将创建一个队列,该队列将在实例化时将最新状态传递到该队列。之后它将继续接收状态更新。

    【讨论】:

      【解决方案2】:

      IBM MQ FTE 使用这种方式来存储日志。 我认为这是个好主意,如果您可以防止目标队列溢出,因为例如 IBM MQ 仅在 GET 调用期间删除过期消息。

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 1970-01-01
        • 2011-10-21
        • 2015-07-20
        • 2010-11-23
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多