![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息中间件
文章平均质量分 70
消息中间件
quge_name_harder
指尖 拥有改变世界的力量
展开
-
消息中间件(9)—— RabbitMQ知识点
一、日志一般存放位置 Linux 上 /var/log/rabbitmq/rabbit@XXX.log /var/log/rabbitmq/rabbit@XXX-sasl.log Windows上 C:\Users\Administrator\AppData\Roaming\RabbitMQ\log\ rabbit@XXX.log C:\Users\Administrator\AppData\Roaming\RabbitMQ\log\ rabbit@ XXX-sasl.log 第一个是记.原创 2021-06-21 23:28:59 · 215 阅读 · 0 评论 -
消息中间件(8)—— 与SpringBoot集成
SpringBoot配置步骤: 一、pom.xml原创 2021-06-21 23:11:00 · 268 阅读 · 0 评论 -
消息中间件(7)—— 队列及消息的属性
在RabbitMQ 中,生产者生产的消息先储存在队列中,然后消费者从队列中获取进行消费 因此,本节来学习一下队列的相关知识 一、队列种类 1.1 临时队列 RabbitMQ 服务器重启,这些队列就不会存在,所以称之为临时队列 临时队列又分为: 1)自动删除队列 和普通队列在使用上没有什么区别,唯一的区别是,当消费者断开连接时,队列将会被删除 注意:自动删除队列可能绑定多个消费者,当最后一个消费者断开连接才会执行删除 设置属性 auto-delete 标识为 true 即可。系统声明的随机队原创 2021-06-18 18:49:11 · 276 阅读 · 1 评论 -
消息中间件(6)—— 消息拒绝
在上节学习了消费者获取消息 那么当消费者获取到消息后,发现消息不应该由自己解决,或者处理时发生异常,应该怎么处理呢 这就是本节学习的消息拒绝 一、消息拒绝 消息拒绝也有两种方式:Reject 和 Nack Reject一次只能拒绝一条消息,而Nack则可以一次性拒绝多条消息 并且无论哪种方式,都可以使用requeue 标识 如果是 false,则不重新发送,一般这个消息就会被 RabbitMQ 丢弃 如果是 true,则消息发生了重新投递 //Reject方式拒绝(这里第2个参数决定是否原创 2021-06-18 07:36:22 · 268 阅读 · 0 评论 -
消息中间件(5)—— 获取消息
上节学习消息发布时的策略,本节学习获取消息时的策略 我们知道消费者会消费队列上的消息,那么消费者如何知道队列上有消息的呢 最简单的方式就是一直轮询该队列(称之为拉取),也就是while(){...}的方式 显然这种方式很消耗性能,不推荐使用,但是可以先看一下 一、拉取 1.1 消费者demo public class GetMessageConsumer { public static void main(String[] argv) throws IOExce原创 2021-06-17 23:06:43 · 545 阅读 · 1 评论 -
消息中间件(4)—— 消息发布
前面介绍消息中间件的概念,以及几种交换器的特性 也说了生产者生产消息,并发给交换器,由交换器将消息发给队列,再由绑定到队列上的消费者进行消费 本节学习生产者生产消息,发布时的几种方式 一、无保障 在之前的学习中,通过channel.basicPublish(EXCHANGE_NAME, routekey,null, message.getBytes()); 发布并使用正确的交换器和路由信息,消息会被接收并发送到合适的队列中 但是如果出现: 1、网络问题,2、消息不可路由,3、RabbitMQ 自原创 2021-06-17 22:20:05 · 1003 阅读 · 1 评论 -
消息中间件(3)—— 交换器(Fanout、Topic)
上一篇通过代码演示了最简单的交换器--direct交换器 本篇学习一下其他的交换器(Fanout、Topic) 一、Fanout交换器 又称为广播交换器,不处理路由键。只要是绑定到该交换器上的队列都能收到这个消息,Fanout交换机转发消息是最快的 创建方式很简单,只需要指定交换器的类型即可 生产者代码如下 public class FanoutProducer { public final static String EXCHANGE_NAME = "fanoutLogs";原创 2021-06-16 12:36:09 · 320 阅读 · 0 评论 -
消息中间件(2)—— 交换器
本节主要学习生产者如何发布消息,本次使用direct交换器 如图,生产者主要是和交换器互动 1、准备创建连接、连接到RabbitMQ 这里采用工厂模式,先创建工厂 ConnectionFactory connectionFactory= new ConnectionFactory(); 2、指定连接的MQ地址(这里使用默认端口5672) connectionFactory.setHost("localhost"); 3、创建连接(TCP连接) Connection connecti原创 2021-06-10 14:05:35 · 159 阅读 · 1 评论 -
消息中间件(1)—— 入门
消息中间件(消息队列) 一、概念 一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。 高效:对于消息的处理处理速度快。 可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。 异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,既不需要等待。 二、优点 低耦合,不管是程序还是模块之间,使用消息中间件进行间接通信。 异步通信能力,使得子系统之间得以充分执行自己的逻辑而无需等待原创 2021-06-10 13:40:45 · 435 阅读 · 1 评论