《RabbitMQ实战指南》是一本介绍RabbitMQ消息队列的实用指南。书中详细介绍了RabbitMQ的基本概念和用法,包括如何配置、部署和监控RabbitMQ。通过实例演示了如何使用RabbitMQ构建可靠的消息传递系统,提高系统的可伸缩性和可靠性。是一本值得一读的实用指南。
《RabbitMQ实战指南》读后感(篇一)
这本书由浅到深,由里到外,提供一个方便入手以及快速深入,是mq书里面不可多得的一本很赞的书,继续学习, 文笔有限,只能尽量表达,并不能完全把精华表达出来,望谅解,不妨你买本看看你就懂我为什么很多没有表达出来了 。帮自己解决了很多疑惑,也希望这本书让更多需要的人看见…………,回头把书在读一遍,再深入理解下。
《RabbitMQ实战指南》读后感(篇二)
一般般,个人建议不要购买,食之无味,弃之不可惜,回答最多说只需要看前四章,其实我自己觉得,前四章都没有看的必要,什么问题都没有说明清楚,国人如果写书还只是停留在粘贴代码的层次,我建议以后不需要买国内人出的计算机书籍了,给一星已经很多了,我看完前几章的感觉就是这东西可以直接丢垃圾桶了。
《RabbitMQ实战指南》读后感(篇三)
从深圳福田图书馆借的这本书,全书讲解了RabbitMQ的基本知识、重要概念、关键特性、运维等多个方面。整体上结构比较合理,很快可以通读全书。因为之前有较长时间的JMS相关的经验,所以读的比较快。
书的内容比较全面,从基本功能、集群负载、高可用既讲解了原理,也讲了实际的操作。运维部分比较偏重时间。
既可以作为学习RabbitMQ的入门书籍,也可以作为平时实际操作、开发的参考手册。
《RabbitMQ实战指南》读后感(篇四)
我读了这本书,不至于这么高的评价吧,偏实战,原理讲的就那样吧。
下面是我遇到的一些问题:
1. 表 5-1 AMQP 命令与权限的映射关系,看不懂在表达什么意思?我不是小白,我比较了解kafka。如果指的是这些命令需要这些权限的话,在可配置、可写和可读后面打对号是不是更好理解呢?你搞一堆exchange和queue和空白是什么意思?
2. 86页global的解释太操蛋了,“设置为false:信道上新的消费者需要遵从 prefetchCount 的限定值;设置为true:信道上所有的消费者都需要遵从prefetchCount 的 限定值。”,我怀疑你自己能不能明白自己在说啥?
官方一句顶你十句:“global – true if the settings should be applied to the entire channel rather than each consumer”
3. 第69页,第二段: 考虑这样一种情况,RPC 服务器可能在发送给回调队列(amq.gen-LhQzlgv3GhDOv8PIDabOXA )并且在确认接收到请求的消息(rpc_queue中的消息)【之后】挂掉了。应该是【之前】吧,不然和后文的逻辑对不上。
《RabbitMQ实战指南》读后感(篇五)
使用
建议队列以及绑定关系提前建立好,不要依赖代码。
生产者
消费者
生产者通过channel连接到exchange上(connection复用),exchange根据路由策略将消息发送到queue,再推送给消费者。
路由的方式有direct/fanout/topic,分别对应一对一,一对多,通配符路由。
Exchange to queue
Exchange to exchange
关键就三点:
设置回调函数(性能上:异步回调>批量>串行)
设置basicQos,指定最多未手动ack的消息数量
手动ack(deliveryTag是rabbitmq传过来的递增的唯一标识)
有推模式和拉模式。不建议用拉模式,性能太低。
轮询的方式,不支持广播消息。
多消费者平均分发可能造成吞吐量不高,可以限制channel上的消费者的最大未消费消息数量
1.exchange和queue都持久化
2.生产者端开启confirm机制,消息会在发送到队列写入磁盘后才ack回复
3.消费者端手动ack
4.队列本身可能宕机,这时假设开启了镜像模式,切换到从broken,可能有同步不及时导致的数据缺失
集群中节点包括内存节点、磁盘节点。内存节点就是将所有数据放在内存,磁盘节点将数据放在磁盘上。如果在投递消息时,打开了消息的持久化,那么即使是内存节点,数据还是安全的放在磁盘。对于Queue来说,消息实体只存在于其中一个节点,A、B两个节点仅有相同的元数据,即队列结构,但队列的元数据仅保存有一份。
这个镜像是指队列镜像
其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在consumer取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉
幂等,通过数据库唯一索引或redissetnx
1.一次发送多条消息给消费者,加快消息被消费的速度
2.多条消息回复一次ack ,降低处理 ack 带来的开销
3.生产者端流量控制
无法保证,可以业务方自实现全局顺序ID