RabbitMq笔记(2)】的更多相关文章

使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.选择适配的版本,参考---https://www.rabbitmq.com/which-erlang.html 2.下载rpm包---https://www.erlang-solutions.com/resources/download.html 本人下载的是:esl-erlang_20.3.8.22-1_centos_7_amd64.rpm 3.安装包 yum -y install gcc yum -y i…
使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.引入包 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <!-- spring-web相关 --> &…
使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.AMQP协议 AMQP 0-9-1的工作过程如下图:消息(message)被发布者(publisher)发送给交换机(exchange),交换机常常被比喻成邮局或者邮箱.然后交换机将收到的消息根据路由规则分发给绑定的队列(queue).最后AMQP代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取. 2.相关组件 Connection:用于权限控制的虚拟主机,一个虚拟主机可以包含多个交换机.队…
今天收获不少,记个笔记. namespace RabbitMQTest { class Program { static void Main(string[] args) { Consumer(); //Console.WriteLine("方法————{0}",Thread.CurrentThread.ManagedThreadId); //Thread thread = new Thread(Consumer); //thread.Start(); //Console.WriteL…
1. 端口 rabbitMQ  server 使用的端口是5672  ,   AMQP协议的端口 rabbitMQ  web 使用的端口是15672  ,   管理工具的端口 rabbitMQ  cluster 使用的端口是25672 , 集群使用的端口 2. rabbitMQ 的启动 在 rabbitMQ 的 sbin 目录中 ./rabbitmq-plugins enable rabbitmq-management  ( 15672) ./rabbitmq-server (5672) ./r…
RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过 队列来通信.队列的使用除去了接收和发送应用…
RabbitMQ中实现RPC的机制是: 客户端发送请求(消息)时,在消息的属性(MessageProperties,在AMQP协议中定义了14中properties,这些属性会随着消息一起发送)中设置两个值replyTo(一个Queue名称,用于告诉服务器处理完成后将通知我的消息发送到这个Queue中)和correlationId(此次请求的标识号,服务器处理完成后需要将此属性返还,客户端将根据这个id了解哪条请求被成功执行了或执行失败) 服务器端收到消息并处理 服务器端处理完消息后,将生成一条…
工作队列的主要思想是不用等待资源密集型的任务处理完成, 为了确保消息或者任务不会丢失,rabbitmq 支持消息确信 ACK.ACK机制是消费者端从rabbitmq收到消息并处理完成后,反馈给rabbitmq,rabbitmq收到反馈信息后将消息从队列中删除 如果rabbitmq向消费者改善消息时,消费者服务器挂了,消息也不会超时,即使一个消息需要非常长的时间处理,也不会导致消息超时,永远不会从rabbitmq中删除, 忘记通过basicAck返回确认信息是个严重的错误 rabbitmq不允许重…
Procuder Publish的Message进入了Exchange.接着通过"routing keys", RabbitMQ会找到应该把这个Message放到哪个queue里.queue也是通过这个routing keys来做的绑定. 有三种类型的Exchanges:direct, fanout,topic. 每个实现了不同的路由算法(routing algorithm). Direct exchange: 如果 routing key 匹配, 那么Message就会被传递到相应的…
ConnectionFactory.Connection.Channel ConnectionFactory.Connection.Channel,这三个都是RabbitMQ对外提供的API中最基本的对象.不管是服务器端还是客户端都会首先创建这三类对象.       ConnectionFactory为Connection的制造工厂. Connection是与RabbitMQ服务器的socket链接,它封装了socket协议及身份验证相关部分逻辑. Channel是我们与RabbitMQ打交道的…