时间消息/直通队列
我正在建立一个网站,接收有关足球比赛的实时更新。 我正在使用RabbitMQ将更新发送到客户端(JS网站和Android / iOS应用程序)。
客户只应该收到实时更新。 换句话说,客户端只应在用户登录时接收更新。不保存历史记录。
为了实现这种行为,我正在考虑以下架构:
x-message-ttl
。 见下文。 x-message-ttl
设置为0。 这是AMQP / RabbitMQ实现实时通知的正确用法吗?
是和否 - 你的一些前提是错误的。
In other words, a client should only receive updates when the user is logged in.
当用户未登录时,只需将连接放到RMQ即可。 Each user has a dedicated queue, which is bound to the exchange. This queue is created when the user account is created.
只有在建立与RMQ的连接后才能创建队列,这样您还可以覆盖When a user is not logged in, the message will be discarded immediately
。 Messages are sent to the exchange by the backend, and forwarded to all queues
为了清楚起见,它是从交换到队列“转发”的RabbitMQ。 上一篇: time messages/passthrough queue
下一篇: AMQP gem for rails is requeuing hundreds of successfully processed messages