【问题标题】:Pull based queue for displaying error message用于显示错误消息的基于拉取的队列
【发布时间】:2020-03-12 17:42:24
【问题描述】:

我需要将错误推送到队列中并将它们显示在屏幕上。一旦用户确认错误,该消息应该从屏幕上消失,否则如果用户没有点击确认按钮,消息应该仍然在屏幕上可见,只要我们加载屏幕。所需的吞吐量并不多。因此需要基于拉的队列。关于使用哪个队列的任何建议。 RabbitMQ 还是 Kafka?

【问题讨论】:

    标签: java apache-kafka rabbitmq queue


    【解决方案1】:

    如果您使用队列中的消息(向用户显示消息),则默认情况下它会从队列中删除(物理删除)。这不符合您需要用户先手动确认消息的要求。

    如果 Kafaka Consumer 使用来自某个主题的消息,默认情况下该消息的偏移量也被确认为已处理。该消息仍然存在于主题中(直到在满足保留期后将其删除),但在每条消息被消费后偏移量会提前到下一条消息。

    我认为这两种方法都不符合您的要求。您似乎需要一个包含以下信息的数据库表:

    a) 表示消息是否已被确认的列

    b) 用户 ID 的 FK(假设您的系统有多个用户,因此您知道哪些消息是针对哪个用户的)

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 2017-07-20
      • 2011-03-07
      • 1970-01-01
      • 2020-12-16
      • 2017-04-14
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多