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

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

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

展开
收起
真的很搞笑 2023-07-13 14:53:55 311 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
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

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