RabbitMQ
RabbitMQ的学习
luu_一只程序猿
这个作者很懒,什么都没留下…
展开
-
RabbitMQ基本概念介绍
目录一、Producer:生产者,消息的投递方二、Consumer :消费者,就是接收消息的一方三、Broker :消息中间件的服务节点四、Queue :队列,是RabbitMQ的内部对象,用于存储消息五、Exchange:交换器六、RoutingKey :路由键七、Binding :绑定RabbitMQ整体上是一个生产者与消费者模型,主要负责接收、存储和转发消息。...原创 2019-08-30 15:41:51 · 267 阅读 · 0 评论 -
简单模式Hello World
功能:一个生产者P发送消息到队列Q,一个消费者C接收生产者实现思路:创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码、virtual host,从连接工厂中获取连接connection,使用连接创建通道channel,使用通道channel创建队列queue,使用通道channel向队列中发送消息,关闭通道和连接。p...原创 2019-08-30 16:04:07 · 160 阅读 · 0 评论 -
work工作模式(资源的竞争)
功能:一个生产者,多个消费者,每个消费者获取到的消息唯一,多个消费者只有一个队列消息产生者将消息放入队列消费者可以有多个,消费者1 ,消费者2 , 同时监听同一个队列,消息被消费? C1 C2共同争抢当前的消息队列内容,谁先拿到谁负责消费消息(隐患,高并发情况下,默认会产生某一个消息被多个消费者共同使用,可以设置一个开关(syncronize,与同步锁的性能不一样) 保证一条消息只能...原创 2019-08-30 16:18:28 · 366 阅读 · 0 评论 -
发布/订阅模式Publish/Subscribe、路由模式Routing、通配符模式Topics
发布/订阅模式Publish/Subscribe、路由模式Routing、通配符模式Topics 这三种模式其实都可以归为一种,叫做交换机模式。只不过交换机的类型不一样。发布/订阅模式Publish/Subscribe 使用交换机类型为fanout 路由模式Routing 使用交换机类型为direct 通配符模式Topics 使用交换机类型为topic下面只讲到发布/订阅...原创 2019-08-30 16:38:43 · 762 阅读 · 0 评论 -
RabbitMQ保证消息不丢失:消息发送确认 与 消息接收确认(ACK)
默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则会立即发送,当 Message 被消费者正确接收时,就会被从 Queue 中移除为什么会产生消息确认这个概念呢?其实rabbitmq的模式是我们熟悉的典型的观察者模式的具体实现,或者说是...原创 2019-08-30 17:55:19 · 5646 阅读 · 4 评论 -
死信消息与延时消息的两种实现
死信队列介绍死信队列:DLX,dead-letter-exchange 利用DLX,当消息在一个队列中变成死信(dead message)之后,它能被重新publish到另一个Exchange,这个Exchange就是DLXDead Letter Exchanges(DLX)特性RabbitMQ的Queue可以配置x-dead-letter-exchange 和x-dead-le...原创 2019-09-03 20:08:51 · 2505 阅读 · 0 评论 -
RabbitMQ的持久化与非持久化
登录RabbitMQ的图形化管理界面,选择“Queue”队列查看模块,可以看到之前在Spring-Rabbit工程中创建的MyQueue的队列:我们可以观察到在“myQueue”列中,后面有一个Features的属性,为“D”,和下面的队列都有不同,这是一个什么参数呢?其实该参数“D”就是“durable”的意思,即“持久的”,也就是说名为“myQueue”的队列,是一个持久化队列,...原创 2019-09-18 17:35:33 · 1439 阅读 · 0 评论