相关疑难解决方法(0)

Redis发布 - 订阅:Redis是否保证即使在巨大压力下也能传递消息?

如果订阅的客户端和发布消息的服务器都保留了连接,那么即使在客户端和/或服务器受到巨大压力的情况下,Redis仍保证始终将发布的消息最终传递给订阅的客户端吗?或者我应该计划Redis可能会在事情变得"热"的时候偶尔丢弃消息?

publish-subscribe redis

13
推荐指数
2
解决办法
1万
查看次数

如何从 RabbitMQ 获取旧消息?

我使用 Bunny (Ruby) 发布 RabbitMQ 消息,如下所示:

x.publish("Message !"+n.to_s, :routing_key => 'mychannel')
Run Code Online (Sandbox Code Playgroud)

并像这样订阅:

    ch   = conn.create_channel
x    = ch.topic('fling',durable: true)
q    = ch.queue("")
q.bind(x, :routing_key => 'mychannel')


puts "Waiting for messages."
q.subscribe( :block => true) do |delivery_info, properties, body|
puts " [x] Received #{body}, message properties are #{properties.inspect}"
Run Code Online (Sandbox Code Playgroud)

一旦我启动订阅者,它就会立即接收发送的任何消息。但是,如果我在没有启动订阅者的情况下发送消息,则当我启动订阅者时不会收到消息(无论发送者是否仍在推送消息)。

当没有订阅者在监听时,是否可以返回队列并接收过去发送的消息?

rabbitmq bunny rabbitmq-exchange

5
推荐指数
1
解决办法
7506
查看次数