开发者社区 > 云原生 > 消息队列 > 正文

大佬们,问下RocketMQ抢购功能,消费者处理逻辑怎么能拿到抢单者信息?类似美团众包,有个抢单功能

大佬们,问下RocketMQ抢购功能,消费者处理逻辑怎么能拿到抢单者信息?类似美团众包,有个抢单功能,客户下单支付后,我是发mq给所有骑手,一个订单只能被一名骑手接单。是不是得通过前端点击抢单按钮来触发消费逻辑?

展开
收起
真的很搞笑 2023-07-13 14:53:55 270 0
2 条回答
写回答
取消 提交回答
  • 对于RocketMQ抢单功能,消费者处理逻辑如何获取抢单者信息,可以通过以下方式实现:

    1. 客户下单支付后,将订单信息发送到一个特定的主题(Topic)中,比如"order_topic"。

    2. 骑手作为消费者订阅该主题,编写消息监听器来处理订单消息。当有新的订单消息到达时,消费者会触发相应的消费逻辑。

    3. 在消费者处理逻辑中,您可以根据业务需求进行抢单的判断和处理。当骑手收到订单消息时,可以在消费者端获取抢单者的信息。

      • 如果抢单需要前端用户点击按钮触发,那么在用户点击抢单按钮时,可以将用户的相关信息(比如骑手ID、骑手名称等)一同发送给RocketMQ,并作为订单消息的一部分。

      • 如果抢单不需要前端用户操作,而是自动根据某种规则或算法选择骑手进行抢单,那么在消费者处理逻辑中,可以通过代码逻辑来获取或生成抢单者的信息。

    2023-07-28 14:49:27
    赞同 展开评论 打赏
  • 客户APP下单 然后广播给订阅这个下单消息的骑手 消费逻辑里做该运单的唯一处理逻辑 这样不就可以,我感觉不是这样玩,客户下单后,订单状态变为可抢单,即进入抢单池,一名骑手订阅了说明这名骑手有资格从抢单池获取数据,骑手接单时分布式锁锁住,然后是业务流程。下单后mq消费只需要进入抢单池即可。我是这样想的。,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-07-13 17:06:04
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载