RabbitMQ
失忆๑
想走的更远。。。。看更好的风景
展开
-
RabbitMQ的安装-centos 7
1.安装erlang用户权限为root使用rpm包安装,要求我们拥有sudo权限,如果没有sudo权限的话,请参考官网如何使用源码进行安装。1.2. 安装依赖环境Erlang方法一:安装erlang-rpm包,该包经过RabbitMQ官方处理,去掉了一些无用的依赖,只保存运行RabbitMQ所需要的Erlang模块。方法二:1.安装依赖的epel(如果缺少的话)该包还需依赖到ep...原创 2019-08-29 21:09:23 · 107 阅读 · 0 评论 -
RabbitMQ-介绍
为什么要使用 RabbitMQ?他解决了什么问题?解决的问题就是同步变异步的问题如下图在进行用户在进行订单请求的时候,请求交给了的订单的服务,服务要进行处理,同时调用,短信服务,邮箱服务,App服务等,此时出现的问题就是,用户要的等待所有的服务结束才能的到反馈的信息,这样的服务是很不友好的,而且所有的服务都是同步,在一个的线程中影响效率,并且服务和服务之间耦合度太大。解决方式一)我们可以...原创 2019-08-29 21:12:39 · 97 阅读 · 0 评论 -
RabbitMQ-入门测试
一)入门测试RabbitMQ的入门测试项目构建pom坐标添加的坐标位置是的rabbitMQ位置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta...原创 2019-08-29 21:22:57 · 129 阅读 · 0 评论 -
RabbitMQ-执行原理图和组件信息
一)RabbitMQ执行原理图图中组件的角色1.Message 消息。消息是不具名的,它由消息头消息体组成。消息体是不透明的,而消息头则由 一系列可选属性组成,这些属性包括:routing-key(路由键)、priority(相对于其他消息的优先 权)、delivery-mode(指出消息可能持久性存储)等。2.Publisher 消息的生产者。也是一个向交换器发布消息的客户端应用程序。...原创 2019-08-29 21:27:12 · 227 阅读 · 0 评论 -
RabbitMQ-Direct交换器
Direct 交换器(发布与订阅 完全匹配)RabbitMQ的exchange模式有:fanout(路由器模式)、direct(指定模式,RabbitMQ的默认模式)、topic(主题)、headers(不常用)。direct模式:指定exchange为direct,发送者发送消息时设置routing_key(路由键),消费者绑定exchange并指定bing_key与消息的routing_k...原创 2019-08-29 21:31:18 · 141 阅读 · 0 评论 -
RabbitMQ-Topic队列模式
Topic队列的需求下面是三个服务,三个服务的日志都要通过Topic交换器交给对应的队列进行日志的处理,那么我们在进行队列选择时候,如果还是使用DIRECT进行日志队列匹配的话,那么就要在增加对应服务的队列,无疑增加了队列的个数,而topic模式相当于模糊匹配,不管你是什么服务,只要是info级别的消息都交给info队列进行处理其他一样,是不是就将对列的个数降低了呢。topic对列出镜的地方就是...原创 2019-08-29 21:35:52 · 1149 阅读 · 0 评论 -
RabbitMQ-fanout广播交换器模式
需求当订单服务向交换器发送请求的时候,需要短信服务和push服务进行工作,如果使用传统的服务调用的话,是强耦合不利于扩展开发,此时可以使用RabbitMQ提供的交换器中的Fanout(广播模式)进行解决,中间件通过广播模式同时将请求放入订单服务的队列中。进行业务的处理fanout不会进行路由键匹配的进行消息的发送,而是以广播的方式将消息发送到所有的队列中,所以不管是消费端还是生产端都不需要路由...原创 2019-08-29 21:38:03 · 175 阅读 · 0 评论 -
RabbitMQ-松耦合设计
松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方松耦合通讯机制提供了紧耦合机制所没有的许多优点,并且它们有助于降低客户端和远程服务之间的依赖性。但是,紧耦合性通常可以提供性能好处,便于在客户端和服务之间进行更为紧密的集成。最近,人们越来越...原创 2019-08-29 21:39:39 · 349 阅读 · 0 评论 -
RabbitMQ-消息持久化和ACK演示
一)演示消息丢失现象服务消费端@Component@RabbitListener( bindings = @QueueBinding( value = @Queue(value = "${spring.rabbitmq.queue.error.name}", autoDelete = "true"), excha...原创 2019-08-29 21:44:53 · 180 阅读 · 0 评论