![](https://img-blog.csdnimg.cn/20210908103700643.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RabbitMQ,kafka.....消息队列
文章平均质量分 78
消息队列的学习和总结
Phil Arist
迎着风 一直跑
展开
-
.Net Core&RabbitMQ消息存储可靠机制
.Net Core&RabbitMQ消息存储可靠机制原创 2022-09-09 17:00:06 · 381 阅读 · 0 评论 -
C# RabbitMQ的使用
RabbitMQ安装先说一下RabbitMQ的安装,建议使用Docker镜像安装,Docker安装的好处是不管Windows系统还是Linux,安装步骤少,安装方法相同,不容易出错。使用下面的命令就可以:docker run -d --hostname myRabbit --name rabbitmq3.9.11 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin RABBITMQ_DEFAULT_VHOST=my_vho..原创 2021-12-29 18:19:56 · 2674 阅读 · 0 评论 -
Kafka和RabbitMQ有哪些区别,各自适合什么场景?
一、消息的顺序有这样一个需求:当订单状态变化的时候,把订单状态变化的消息发送给所有关心订单变化的系统。订单会有创建成功、待付款、已支付、已发货的状态,状态之间是单向流动的。好,现在我们把订单状态变化消息要发送给所有关心订单状态的系统上去,实现方式就是用消息队列。在这种业务下,我们最想要的是什么? 消息的顺序:对于同一笔订单来说,状态的变化都是有严格的先后顺序的。 吞吐量:像订单的业务,我们自然希望订单越多越好。订单越多,吞吐量就越大。 在这种情况下,我们先看看 R原创 2022-01-07 17:12:32 · 1311 阅读 · 0 评论 -
RabbitMQ的五种工作模式
simple模式消息产生消息,将消息放入队列消息的消费者(consumer) 监听 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(隐患 消息可能没有被消费者正确处理,已经从队列中消失了,造成消息的丢失,这里可以设置成手动的ack,但如果设置成手动ack,处理完后要及时发送ack消息给队列,否则会造成内存溢出)。work工作模式消息产生者将消息放入队列消费者可以有多个,消费者1,消费者2同时监听同一个队列,消息被消费。C1 C2共同争抢当前的消息队列内容,谁先拿到谁负责原创 2021-09-24 09:32:10 · 166 阅读 · 0 评论 -
RabbitMQ学习笔记2
公共参数说明队列参数channel.QueueDeclare方法中arguments参数,队列一旦声明,参数将无法更改,添加,删除参数名称 描述 Features x-message-ttl 队列中的消息的生存周期,单位毫秒 TTL x-expires 队列在指定的时间内没有被使用(访问)就会被删除 Exp x-max-length 设置队列最大长度(先进先丢) Lim x-max-length-bytes 队列可以容纳的消息原创 2021-09-08 11:02:55 · 168 阅读 · 0 评论 -
Rabbitmq如何保证消息不丢失
1.设计思路2.方案说明2.1 生产者提交给消息服务器时,使用确认机制channel.confirmSelect();…………if (channel.waitForConfirms()) { System.out.println("发送消息成功");} else { System.out.println("发送消息失败");}生产者收不到确认的情况:1)、MQ挂了2)、MQ满了,解决办法:每次的生产者消息发送都通过日志表记录下来,后续采用手动补偿即原创 2021-09-01 11:04:59 · 173 阅读 · 0 评论 -
Rabbitmq队列模式总结
1.整体图示由上图可以知道交换机的类型有:扇形、直连、主题和头交换机。扇形交换机:广播直连交换机:精确匹配主题交换机:模糊匹配2.主题交换机和头交换机的区别主题交换机的路由是基于路由键,只有是字符串,匹配是设置*和#头交换机的路由值基于消息的header数据,可以是整型和哈希值,匹配值是x-match消息header数据里有一个特殊值”x-match”,它有两个值:all: 默认值。一个传送消息的header里的键值对和交换机的header键值对全部匹配,才可以路由到对原创 2021-09-01 11:00:28 · 124 阅读 · 0 评论 -
Rabbitmq介绍及安装教程
思维导图一、什么是消息队列消息指的是两个应用间传递的数据。数据的类型有很多种形式,可能只包含文本字符串,也可能包含嵌入对象。“消息队列(Message Queue)”是在消息的传输过程中保存消息的容器。在消息队列中,通常有生产者和消费者两个角色。生产者只负责发送数据到消息队列,谁从消息队列中取出数据处理,他不管。消费者只负责从消息队列中取出数据处理,他不管这是谁发送的数据。二、为什么使用消息队列主要有三个作用:解耦。如图所示。假设有系统B、C、D都需要系统A的数据,于是系统A原创 2021-08-31 16:55:42 · 278 阅读 · 0 评论 -
RabbitMQ简介和六种工作模式实战详解
一、RabbitMQ简介是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang(高并发语言)语言来编写的,并且RabbitMQ是基于AMQP协议的。1.1 AMQP协议Advanced Message Queuing Protocol(高级消息队列协议)1.2 AMQP专业术语:(多路复用->在同一个线程中开启多个通道进行操作) Server:又称broker,接受客户端的链接,实现AMQP实体服务 Conne原创 2021-09-03 10:26:26 · 479 阅读 · 1 评论