码迷,mamicode.com
首页 > 其他好文 > 详细

消息中间件RabbitMQ

时间:2020-04-05 00:42:00      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:produce   消息路由   hang   服务   info   cat   安装   性能   ade   

能够说出消息队列的应用场景以及RabbitMQ的主要改娘

完成RabbitMQ的安装以及RabbitMQ三种模式的入门案例

完成用户注册,能够将消息发送给RabbitMQ

完成短信微服务,能够接收消息并调用阿里云通信完成短信发送

 

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题

实现高性能,高可用,可伸缩和最终一致性【架构】 使用较多的消息队列有:

ActiveMQ,RabbitMQ,Kafka,ZeroMQ,MetaMQ,RocketMQ,其中Kafka是专供大数据的

速度最快的是Kafka,然后是RabbitMQ,最后是ActiveMQ,但是安全性上ActiveMQ最好,其次是RabbitMQ

,最后是Kafka。效率上RabbitMQ最好,用的最多。

RabbitMQ是一个由Erlang语言开发的AMQP的开源实现。

架构图

技术图片

 

 

例如之前快递员,每次送快递必须打电话打通确认,送到你手上,然后才能去派送下一家,这样就会造成阻塞,万一打电话你在外地,

那是不是要等你晚上回来给你后,再去送其他家啊?所以显然是不行的,所以现在就不需要这样了,快递员我把快递放在蜂巢或是菜鸟驿站等,然后就可以派送其他的了。

所以这里的消息中间件就相当于蜂巢。。。

主要概念:

RabbitMQ Server :传输服务

Producer:消息生产者

Consumer:消息消费者

Exchange:生产者将消息发送到Exchange交换器,由Exchange将消息路由到一个或多个Queue中(或者丢弃)。Exchange并不存储信息。RabbitMQ中的Exchange由

    direct、fanout、topic、headers四种类型,每种类型对应不同的路由规则。

Queue:队列是RabbitMQ的内部对象,用于存储消息。

RoutingKey:是消息队列Queue的Key值。消息队列的唯一标识。

windows本地安装完成,启动,端口号为15672

http://127.0.0.1:15672

 

Docker安装:

技术图片

 

 技术图片

 

 用户名密码为guest guest

三种模式:

直接模式:类似于我们直接把消息发送打了消息队列里面,而没有经过Exchange交换器,其实不然,实际上经过了,只不过是经过了一个“”“空字符串的交换器。

      这是它默认交换器default Exchange。

技术图片

 

分裂模式:

技术图片

 

 主题模式(topic):

技术图片

 

 

 通配符。。。。。

必须指定路由Routing Key

 

普通用户和后台用户的区别?

技术图片

 

 技术图片

 这个意味着application.yml里面所有配置信息,启动时候都读取过来得到,以map的形式。。。。

技术图片

 

另一种方式也可以。。。。

 

消息中间件RabbitMQ

标签:produce   消息路由   hang   服务   info   cat   安装   性能   ade   

原文地址:https://www.cnblogs.com/beyond7788/p/12635351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!