
RabbitMQ
RabbitMQ
猫巳
2006年《时代周刊》年度人物
2008年“感动中国年度人物”特别奖获得者
2019年度“地球卫士奖”联合获奖人
2020年感动中国特别致敬奖——抗疫英雄
2022年”奥林匹克奖杯“获奖者
展开
-
【RabbitMQ】原生Java客户端进行消息通信
erlang v19.2rabbitmq_server v3.6.6Direct参见代码no-spring模块包cn.enjoyedu.exchange.direct中:DirectProducer:direct类型交换器的生产者NormalConsumer:普通的消费者MulitBindConsumer:队列绑定到交换器...原创 2019-06-13 13:16:53 · 325 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ在CentOS7下安装与运行
erlang v19.2rabbitmq_server v3.6.6安装过程wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpmrpm -Uvh erlang-solutions-1.0-1.noarch.rpmyum i...原创 2019-06-13 13:52:34 · 136 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ在Windows下安装和运行
erlang v19.2rabbitmq_server v3.6.6下载Erlang:http://www.erlang.org/downloads/19.2下载Windows版RabbitMq:http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-...原创 2019-06-13 13:08:09 · 241 阅读 · 0 评论 -
【消息中间件】什么是消息中间件?
消息中间件(MQ)的定义其实并没有标准定义。一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。 为什么要用消息中间件?假设一个电商交易的场景,用户下单之后调用库存系统减库存,然后需要调用物流系统进行发货,如果交易、库存、物流是属于一个...原创 2019-06-12 14:31:07 · 423 阅读 · 0 评论 -
【RabbitMQ】消息发布时的权衡
erlang v19.2rabbitmq_server v3.6.6失败确认在发送消息时设置mandatory标志,告诉RabbitMQ,如果消息不可路由,应该将消息返回给发送者,并通知失败。可以这样认为,开启mandatory是开启故障检测模式。注意:它只会让RabbitMQ向你通知失败,而不会通知成功。如果消息正确路由到队...原创 2019-06-13 13:22:49 · 252 阅读 · 0 评论 -
【RabbitMQ】集成和实战
erlang v19.2rabbitmq_server v3.6.6与Spring集成具体代码实现,参见rq-spring-with和rq-spring-with-consumer模块pom文件统一配置配置文件中增加命名空间连接相关配置生产者端RabbitTemplate或下面这种声明方式也是可以的。队列和交...原创 2019-06-13 13:50:01 · 165 阅读 · 0 评论 -
【RabbitMQ】消息的属性
erlang v19.2rabbitmq_server v3.6.6在发送消息时,我们还可以对消息的属性做更细微的控制,比如构建Request-Response模式,参见代码no-spring模块包cn.enjoyedu. setmsg。消息存活时间当队列消息的TTL 和消息TTL都被设置,时间短的TTL设置生效。如果...原创 2019-06-13 13:42:22 · 290 阅读 · 0 评论 -
【RabbitMQ】消息的消费
erlang v19.2rabbitmq_server v3.6.6消息的获得方式拉取Get属于一种轮询模型,发送一次get请求,获得一个消息。如果此时RabbitMQ中没有消息,会获得一个表示空的回复。总的来说,这种方式性能比较差,很明显,每获得一条消息,都要和RabbitMQ进行网络通信发出请求。而且对RabbitMQ来说,...原创 2019-06-13 13:30:05 · 556 阅读 · 0 评论 -
【RabbitMQ】消息的拒绝
erlang v19.2rabbitmq_server v3.6.6Reject和Nack消息确认可以让RabbitMQ知道消费者已经接受并处理完消息。但是如果消息本身或者消息的处理过程出现问题怎么办?需要一种机制,通知RabbitMQ,这个消息,我无法处理,请让别的消费者处理。这里就有两种机制,Reject和Nack。Rej...原创 2019-06-13 13:34:56 · 679 阅读 · 0 评论 -
【RabbitMQ】控制队列
erlang v19.2rabbitmq_server v3.6.6参见代码no-spring模块包cn.enjoyedu. setQueue中临时队列自动删除队列自动删除队列和普通队列在使用上没有什么区别,唯一的区别是,当消费者断开连接时,队列将会被删除。自动删除队列允许的消费者没有限制,也就是说当这个队列上最后一个消费...原创 2019-06-13 13:40:10 · 176 阅读 · 0 评论 -
【RabbitMQ】AMQP概论
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。目标是实现一种在全行业广泛使用的标准消息中间件技术,以...原创 2019-06-13 13:05:43 · 171 阅读 · 0 评论 -
【消息中间件】消息中间件常见面试题
为什么使用消息队列?其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用MQ可能会很麻烦,但是你现在用了MQ之后带给了你很多的好处。消息队列的常见使用场景,其实场景有很多,但是...原创 2019-06-19 14:55:44 · 2325 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ集群高可用
erlang v19.2rabbitmq_server v3.6.6镜像队列什么是镜像队列如果RabbitMQ集群是由多个broker节点构成的,那么从服务的整体可用性上来讲,该集群对于单点失效是有弹性的,但是同时也需要注意:尽管exchange和binding能够在单点失效问题上幸免于难,但是queue和其上持有的messa...原创 2019-06-13 14:24:01 · 282 阅读 · 2 评论 -
【RabbitMQ】管理RabbitMQ
erlang v19.2rabbitmq_server v3.6.6管理日志一般存放位置/var/log/rabbitmq/rabbit@centosvm.log /var/log/rabbitmq/rabbit@centosvm-sasl.log管理虚拟主机rabbitmqctl add_vhost [vhost_name]...原创 2019-06-13 14:02:02 · 231 阅读 · 0 评论 -
【RabbitMQ】RabbitMQ集群
erlang v19.2rabbitmq_server v3.6.6RabbitMQ內建集群內建集群的设计目标1、允许消费者和生产者在节点崩溃的情况下继续运行;2、通过添加节点线性扩展消息通信的吞吐量。可以保证消息的万无一失吗?不行,当一个节点崩溃时,该节点上队列的消息也会消失,rabbitmq默认不会将队列的消息复制到整个集...原创 2019-06-13 14:06:34 · 186 阅读 · 0 评论