mq
文章平均质量分 76
morris131
这个作者很懒,什么都没留下…
展开
-
RabbitMQ之消息的属性
在发送消息时,我们还可以对消息的属性做更细微的控制,怎么查看消息支持哪些属性?属性名说明content-type消息体的MIME类型,如application/jsoncontent-encoding消息的编码类型,如是否压缩message-id消息的唯一性标识,由应用进行设置correlation-id一般用做关联消息的message-id,常用于消息的响应timestamp消息的创建时刻,整型,精确到秒expiration消息的过期时刻,原创 2021-07-31 11:06:48 · 2263 阅读 · 0 评论 -
RabbitMQ中队列的参数
Queue.DeclareOk queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, Map<String, Object> arguments) throws IOException;queuequeue参数用来指定创建的队列的名字。durable持久化durable=true:持久化队列,会被保存在磁盘中,固定原创 2021-07-29 20:53:29 · 3634 阅读 · 0 评论 -
RabbitMQ与Spring Boot的集成
引入pom<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>2.3.4.RELEASE</version></dependency>配置文件application.yamlserver: port: 8080原创 2021-07-26 20:56:57 · 1668 阅读 · 0 评论 -
RabbitMQ镜像队列与负载均衡
镜像队列RabbitMQ集群是由多个broker节点构成的,那么从服务的整体可用性上来讲,该集群对于单点失效是有弹性的,但是同时也需要注意:尽管exchange和binding能够在单点失效问题上幸免于难,但是queue和其上持有的message却不行,这是因为queue及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的queue不可用。引入RabbitMQ的镜像队列机制,将queue镜像到cluster中其他的节点之上。在该实现下,如果集群中的一个节点失效了,queue能自动地切换到镜像原创 2021-07-18 20:16:23 · 12027 阅读 · 2 评论 -
RabbitMQ集群的构建
集群的设计设计目标:允许消费者和生产者在节点崩溃的情况下继续运行;通过添加节点线性扩展消息通信的吞吐量。可以保证消息的万无一失吗?不行,当一个节点崩溃时,该节点上队列的消息也会消失,rabbitmq默认不会将队列的消息复制到整个集群上。队列集群中队列信息只在队列的所有者节点保存队列的所有信息,其他节点只知道队列的元数据和指向所有者节点的指针,节点崩溃时,该节点的队列和其上的绑定信息都消失了。为什么集群不复制队列内容和状态到所有节点?主要考虑存储空间和性能,如果消息需要复制到集群原创 2021-07-10 10:55:16 · 869 阅读 · 0 评论 -
rabbitmq消费者--消息订阅时的权衡
消息的获得方式pull拉取属于一种轮询模型,发送一次get请求,获得一个消息。如果此时RabbitMQ中没有消息,会获得一个表示空的回复。总的来说,这种方式性能比较差,很明显,每获得一条消息,都要和RabbitMQ进行网络通信发出请求。而且对RabbitMQ来说,RabbitMQ无法进行任何优化,因为它永远不知道应用程序何时会发出请求。while (true) { GetResponse getResponse = channel.basicGet(QUEUE_NAME, true);原创 2021-07-07 21:26:57 · 1735 阅读 · 2 评论 -
rabbitmq中exchange交换机的四种类型
exchange有以下四种类型:directfanouttopicheaders见枚举类com.rabbitmq.client.BuiltinExchangeType:public enum BuiltinExchangeType { DIRECT("direct"), FANOUT("fanout"), TOPIC("topic"), HEADERS("headers");... ...fanout消息广播到绑定的队列,不管队列绑定了什么路由键,消息经过交原创 2021-06-27 10:11:27 · 1149 阅读 · 2 评论 -
rabbitmq生产者—消息发布时的权衡
不做任何配置的情况下,生产者是不知道消息是否真正到达RabbitMQ,也就是说消息发布操作不返回任何消息给生产者。怎么保证我们消息发布的可靠性?有以下几种常用机制。准备生产者package com.morris.rabbit.workqueue;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import原创 2021-06-23 21:31:04 · 803 阅读 · 1 评论 -
rabbitmq入门
几个角色:P:生产者,负责向队列中发送消息。C:消费者,负责从队列中接收消息。maven依赖<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.12.0</version></dependency>发送消息package com.morris.r原创 2021-06-22 21:34:01 · 783 阅读 · 2 评论 -
消息中间件简介
消息中间件(MQ)的定义其实并没有标准定义,一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。几个关键词:高效:对于消息的处理处理速度快。可靠:一般消息中间件都会有消息持久化机制和其他的机制确保消息不丢失。异步:指发送完一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。一句话总结,消息中间件不生产消息,只是消息的搬运工。为什么要用消息中间件?假设一个电商交易的场景,用原创 2021-06-15 21:16:02 · 1520 阅读 · 4 评论 -
centos7下RabbitMQ的安装
RabbitMQ官网:https://www.rabbitmq.com/docker安装RabbitMQ官网docker安装教程:https://www.rabbitmq.com/download.html# docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-managementcentos安装官网安装教程:https://www.rabbitmq.com/install-rpm.html这里安原创 2021-06-09 20:54:42 · 10122 阅读 · 3 评论