RabbitMQ初学自学笔记

 

1、 为什么学习消息队列,首要学习rabbitMQ?

消息可靠性高、支持多种编程语言、支持集群化、高可用部署架构

2、 什么是高可用?

就是系统一年停机的总时长,百度就是行业典范

要做到到可用,就要在系统架构中的每一层做到适当冗余,保证宕机后,不影响继续交易

3、 我的问题

为什么自己搭建了mq的demo,还是理解不了其中的道理?

为什么行内的架构中,会要求配置交换机等信息?

怎样才算真正意义上的学会了消息队列?

 

 

学习过程中的问题

什么是AMDQ协议?

什么是AMQP?

什么是OS?

 

 

由exchange、queue、routingKey三个才能决定一个从exchange到queue的唯一线路

exchange:消息交换机,指定消息按照什么规则,路由到哪个队列

queue:消息队列载体,每个消息都会被投入到一个或多个队列

routingKey:路由关键字,exchange根据这个关键字进行消息投递

 

queue(队列)是rabbitMQ的内部对象,用于存储信息,rabbitMQ中的消息只能存储在queue中

实际应用中,可能会出现消费者拿到消息之后,并没有处理完就宕机,那么此时需要消费者发送一个回执消息,rabbitMQ收到回执消息之后,再将消息从队列中删除

 

exchage:生产者实际上是将消息发送到交换机,由交换机将消息路由到一个或者多个queue中,或者丢弃

 

binding

rabbitMQ通过binding将exchange与queue关联起来,这样rabbitMQ就知道如何将消息正确地路由到指定的queue

 

bindingKey

在绑定exchange和queue的时候,需要指定bindingKey

bindingKey通常依赖exchangeType才会生效

posted @ 2021-04-04 17:00  Java精进之路  阅读(66)  评论(0编辑  收藏  举报