当前位置: 首页 > 网络应用技术

[消息中间件] RocketMQ消息发送回复和响应

时间:2023-03-07 16:16:35 网络应用技术

  大家好,我是小郭。我介绍了上一篇文章,即RocketMQ的构建和RocketMQ的名称服务器。接下来,我们与官方演示合作,进行实用的消息发送和学习,并在发送中进行一些问题。

  在实际使用中,我们通常选择发送可靠和同步的发送,因为我们很快获得了成功和失败的反馈。

  业务场景:用户一个位置订单以创建订单,付款,完成订单

  在此过程中,可以生成三个消息,并且由于负载平衡的策略,可以将发送消息分配给其他消息队列

  因此,为了确保本地顺序消息,只要每组消息被逐渐消费,我们就需要考虑修改MessageQueueSeleRctor方法,以确保将消息传递到同一队列。

  发送结果

  数据基于我们修改的MessagequeueSelector。

  它主要由Brokername,主题和Queueid组成。RocketMQ支持序列传递。使用MessageQueueSelector将相同的密钥提交给同一队列以确保本地订单。

  规则:IP+Process PID+类加载器哈希码+自我提示

  初始化

  构建Uniqid

  获取MSGID

  排队键中的剩余消耗量

  发送消息时,将密钥设置为订单号,我们可以在RocketMQ-Console中检查消息

  标签的作用:过滤主题中的消息,选择处理

  下面我们进行测试消费测试

  在上面发送消息时,标签参数设置为TAGA,将标签参数设置为在消费者端的空白,并且无法拉出消息。

  在上面的代码中,执行重试设置,并在代码中设置超时场景

  该法规迅速抛出了异常信息,发现我们设定的重试设置没有起作用,没有发出新闻,也没有排除队列。

  缺点:

  典型的事情是,在发送消息然后定期安排后,数据库中有一个数据库,最后将消息发送到MQ

  但是我认为该计划仍然存在缺陷。消息再次发送后,消息的顺序更改。需要考虑这个问题

  今天,本文主要介绍同步发送序列消息以及消息中主要参数的角色和生成规则。

  最后的问题是在后来的学习中思考,以改善使用MessagequeueSelctor的问题,但是错误没有重新连接的问题。

  在下一篇文章中,我们主要查看RocketMQ消息发送的源代码,以了解更多内容。

  原始:https://juejin.cn/post/710277660528817671

猜你喜欢