![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MQ
阿萨德执行
这个作者很懒,什么都没留下…
展开
-
RabbitMq——8、首部交换机Headers
简介首部交换机和扇形交换机都不需要路由键routingKey,交换机时通过Headers头部来将消息映射到队列的,有点像HTTP的Headers,Hash结构中要求携带一个键“x-match”,这个键的Value可以是any或者all,这代表消息携带的Hash是需要全部匹配(all),还是仅匹配一个键(any)就可以了。相比直连交换机,首部交换机的优势是匹配的规则不被限定为字符串(string)而是Object类型。any: 只要在发布消息时携带的有一对键值对headers满足队列定义的多个参数ar原创 2020-05-12 10:33:57 · 298 阅读 · 0 评论 -
RabbitMq——7、远程过程调用RPC
简介远程过程调用(RPC): 客户端发送一个请求到远程服务器上,远程服务器接收请求并处理结果,将结果响应给客户端,这个过程被称为远程过程调用。RPC涉及到的基本知识:关于队列:整个过程会设计到两个队列一个是专门保存请求的队列,一般名字被称为rpc_queue,另一个队列被称为响应队列,专门用于保存服务器处理的响应结果,这个队列的名字是随机生成的字符串。 关于消息的基本属性BasicProperties:回复(replyTo):是响应队列的名字,当服务器接收请求并处理好结果,服务器需要知道将响应原创 2020-05-12 10:00:55 · 184 阅读 · 0 评论 -
RabbitMq——6、主题交换机Topics
简介本节主要演示交换机的另一种类型:主题类型topic,直连接类型direct必须是生产者发布消息指定的routingKey和消费者在队列绑定时指定的routingKey完全相等时才能匹配到队列上,与direct不同,topic可以进行模糊匹配,可以使用星号*和井号#这两个通配符来进行模糊匹配,其中星号可以代替一个单词;主题类型的转发器的消息不能随意的设置选择键(routing_key),必须是由点隔开的一系列的标识符组成。标识符可以是任何东西,但是一般都与消息的某些特性相关。一些合法的选择键的例子:“原创 2020-05-09 17:52:15 · 200 阅读 · 0 评论 -
RabbitMq——5、路由选择Routing
简介本节主要演示使用直连接类型,将多个路由键绑定到同一个队列上。也可以将同一个键绑定到多个队列上(多重绑定multiple bindings),此时满足键的队列都能收到消息,不满足的直接被丢弃。生产者:package com.suirui.mq.rabbit.directRouting;import com.rabbitmq.client.AMQP;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Con原创 2020-05-09 17:33:20 · 194 阅读 · 0 评论 -
RabbitMq——4、扇形交换机发布/订阅(Publish/Subscribe)
简介本节主要演示交换机的广播类型fanout,广播类型不需要routingKey,交换机会将所有的消息都发送到每个绑定的队列中去。在发布消息时可以只先指定交换机的名称,交换机的声明的代码可以放到消费者端进行声明,队列的声明也放在消费者端来声明。发布订阅类似观察者模式设计模式,一般适用于当接收到某条消息时同时做多种类似的任务的处理,如一个发短信,另一个一个发邮件;一个插入数据库,另一个保存在文件等类似操作,扇形交换机将消息传送给不同的队列,不同的队列对同一种消息采取不同的行为。扇形交换机是最基原创 2020-05-09 14:49:45 · 205 阅读 · 0 评论 -
RabbitMq——3、工作队列(Work Queues)
工作队列使用工作队列实现任务分发的功能,一个队列的优点就是很容易处理并行化的工作能力,但是如果我们积累了大量的工作,我们就需要更多的工作者来处理,这里就要采用分布机制了。本示例主要演示显示的功能:定义交换机 多个消费者同时订阅一个队列 模式采用手动应答演示代码:package com.suirui.mq.rabbit;import com.rabbitmq.client.AMQP;import com.rabbitmq.client.Channel;import com.原创 2020-05-08 18:30:09 · 174 阅读 · 0 评论 -
RabbitMq——2、简介和基本概念
一:简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗,消息队列是一种应用系统之间的通信方法,是通过读写出入队列的消息来通信(RPC则是通过直接调用彼此来通信的)AMQP(Advanced Message Queuing Protocol)高级消息队列协议是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然原创 2020-05-08 17:52:55 · 130 阅读 · 0 评论 -
RabbitMq——1、windows安装
RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。装RabbitMQ服务器必须首先安装 Erlang 运行环境。安装Erlang安装Erlang 时要注意安装的RabbityMQ 所依赖的...原创 2020-05-08 17:26:12 · 105 阅读 · 0 评论 -
RocketMq——windows环境搭建与入门
一、准备工作文件已上传百度云网盘运行当前最新版本的RockitMQ(v4.4.0),必须先安装64bit的JDK1.8或以上版本。从RockitMQ官网 http://rocketmq.apache.org/release_notes/ 下载最新的release包。上图是rocketmq-all-4.4.0-bin-release.zip包解压后的目录结构。bin目录下存放可运...原创 2020-05-08 16:38:12 · 1153 阅读 · 1 评论