
---7.2 RabbitMQ学习
小师兄.
语言学习开发路上的一个初学者。
展开
-
rabbitmq消费者“无故消失”
导读:9月1号17:12左右,发现影子队列存在大量“unacked”(收到了消息,但是还没有手动确认消息)的消息,一段时间后“unacked”的数量没有减少,但是观察消费者端的日志,并没有新消息进来,原因竟是。。。关键词:rabbitmq,Tcp Window full问题背景:9月1号17:12左右,收到实施人员投诉,有部分设备不能正常升级、收不到控制台下发的指令等问题,同事查看control工程(后面简称control)那边的日志,发现control没有收到设备上报的影子信息,所以.转载 2020-11-18 14:11:32 · 5159 阅读 · 0 评论 -
RabbitMQ
当初我学RabbitMQ的时候,第一时间就上GitHub找相应的教程,但是令我很失望的是没有找到,Spring,Mybatis之类的教程很多,而RabbitMQ的教程几乎找不到,看的最多的就是朱小厮大佬的博客。后来想着索性自己总结一下吧,有不恰当的地方欢迎小伙伴指出。这篇文章主要是对着我在GitHub上的源码解释的,因此本文并没有太多的源码。写了挺长时间的,为了防止迷路,欢迎大家star和forkgithub地址:https://github.com/erlieStar/rabbitmq-exa转载 2020-11-18 14:08:31 · 689 阅读 · 0 评论 -
RabbitMQ消息丢失的情况处理
第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了第三种:消费端弄丢了数据。刚消费到,还没处理,结果进程挂了,比如重启了。解决方案一:针对生产者方案1.开启RabbitMQ事务可以选择用 RabbitMQ ...转载 2019-12-31 09:49:02 · 4031 阅读 · 1 评论 -
RabbitMQ 实战教程(一) Hello World
准备本教程假定 RabbitMQ 已在标准端口(5672) 的 localhost 上安装并运行。如果使用不同的主机,端口或凭据,连接设置将需要调整。介绍RabbitMQ 是一个消息代理:它接受并转发消息。你可以将其视为邮局:当你将要发布的邮件放在邮箱中时,您可以确信 Postman 先生最终会将邮件发送给收件人。在这个比喻中,RabbitMQ 是一个邮箱,邮局和邮递员。Rabbi...转载 2019-03-20 17:46:02 · 428 阅读 · 0 评论 -
RabbitMQ 实战教程(二) 工作队列
工作队列,又称任务队列,主要思想是避免立即执行资源密集型任务,并且必须等待完成。相反地,我们进行任务调度,我们将一个任务封装成一个消息,并将其发送到队列。工作进行在后台运行不断的从队列中取出任务然后执行。当你运行了多个工作进程时,这些任务队列中的任务将会被工作进程共享执行。这个概念在 Web 应用程序中特别有用,在短时间 HTTP 请求内需要执行复杂的任务。准备工作现在,假装我们很...转载 2019-03-20 18:05:08 · 165 阅读 · 0 评论 -
RabbitMQ 实战教程(三) 发布订阅
为了说明这种模式,我们将建立一个简单的日志系统。这个系统将由两个程序组成,第一个将发出日志消息,第二个将接收并处理日志消息。在我们的日志系统中,每一个运行的接收程序的副本都会收到日志消息。交换器(Exchanges)在本教程的前面部分,我们主要介绍了发送者和接受者,发送者发送消息给 RabbitMQ 队列,接收者从 RabbitMQ 队列获取消息。在这一篇教程,我们会引入交换器,展示 Ra...转载 2019-03-20 18:38:40 · 221 阅读 · 0 评论 -
RabbitMQ 实战教程(四) 路由
绑定(Bindings)在上一个教程中,我们已经使用过绑定。你可能会记得如下代码:channel.queueBind(queueName, EXCHANGE_NAME, "");绑定是建立交换器和队列之间的关系。这可以简单地理解:队列对该交换器上的消息感兴趣。为了避免与 basicPublish 方法的参数混淆,我们将其称为绑定键。下面是我们如何用一个绑定键创建一个绑定:c...转载 2019-03-21 11:44:11 · 285 阅读 · 0 评论 -
RabbitMQ 实战教程(五) 主题
主题交换(Topic exchange)使用 topic 类型的交换器,不能有任意的绑定键,它必须是由点隔开的一系列的标识符组成。标识符可以是任何东西,但通常它们指定与消息相关联的一些功能。其中,有几个有效的绑定键,例如 “stock.usd.nyse”, “nyse.vmw”, “quick.orange.rabbit”。可以有任何数量的标识符,最多可达 255 个字节。topic 类型...转载 2019-03-21 13:20:34 · 207 阅读 · 0 评论 -
Spring AMQP 实战 – 整合 RabbitMQ 发送邮件
介绍通过这个项目实战旅程,你会学习到如何使用 Spring Boot 整合 Spring AMQP,并且使用 RabbitMQ 的消息队列机制发送邮件。其中,消息生产者负责将用户的邮件消息发送至消息队列,而消息消费者从消息队列中获取邮件消息进行发送。这个过程,你可以理解成邮局:当你将要发布的邮件放在邮箱中时,您可以确信邮差最终会将邮件发送给收件人。准备本教程假定 RabbitMQ 已在...转载 2019-03-25 15:56:39 · 594 阅读 · 0 评论