MQ的好处:

1.业务上接口(系统扩展性变强)

2.性能提升(同步变异步,效率提高,还方便做负载均衡)

3.技术兼容(可以连接各种不同语言的系统,作为粘合剂)

读书笔记:

1.消息队列的应用场景:系统集成。其它方案是,通过写数据库,定时轮询来读取数据

2.信道(channel)的好处是:可以减少TCP连接的成本,在同一个TCP连接里,建立多条信道,既保证了私密性,又不会给操作系统的TCP栈造成额外负担

3.接收消息的2种订阅命令:

  1)basic.consume:自动接收

  2)basic.get:一条条接收(禁止,使用此命令来代替上面的命令,会有性能问题)

4.消息在接收方处理完上一条之前,不会消费下一条。利用这点,可以在消费方延迟确认,来防止应用过载。

5.当要丢弃一条消息时,使用basic.reject命令。注意把requeue参数设为false,则不会继续给下一个消费者,而是直接丢进“死信”队列

6.队列该由谁来创建:如果业务场景允许消息丢失,可以由消费来创建。否则,则应该双方都创建。

7.路由器的几种类型:

  1)direct:路由键匹配

  2)fanout:广播

  3)topic:订阅。"."把key分割,“*”任意匹配,“#”所有匹配

PS.根据路由键和交换器类型,服务器会决定将消息投递到哪个队列去。

8.为了确保消息的准确性,可以使用confirm模式(消息带上唯一ID)。这个模式是异步的,性能消耗很小(对应的有个事务模式,性能消耗巨大,但是可以回滚)。

其它:

1.第一次阅读,是略读。很多关于高可用,效率优化方面的内容没仔细看。后面有机会再深入精度一遍

命令list:

1.basic.consume:自动接收

2.basic.get:一条条接收(禁止,使用此命令来代替上面的命令,会有性能问题)

3.basic.reject:拒收消息。注意把requeue参数设为false,则不会继续给下一个消费者,而是直接丢进“死信”队列

4.basic.decdeclare:创建队列

5.exchange.declare:声明自己的交换器

队列相关参数设置:

1.exclusive:设为ture的话,则变为私有队列。一个队列只有一个消费者

2.auto-delete:当消费者没有时,自动删除队列

3.queue.declare的passive参数:如果为ture,用于检测队列是否存在

《RabbitMQ 实战》读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. elasticsearch原理学习笔记

    https://mp.weixin.qq.com/s/dn1n2FGwG9BNQuJUMVmo7w 感谢,透彻的讲解 整理笔记 请说出 唐诗中 包含 前  的诗句 ...... 其实你都会,只是想不起 ...

  2. selenium浏览器自动化测试框架文档(修正版)

    写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...

  3. 【面试突击】-缓存击穿(布隆过滤器 Bloom Filter)

    原文地址:https://blog.csdn.net/fouy_yun/article/details/81075432 前面的文章介绍了缓存的分类和使用的场景.通常情况下,缓存是加速系统响应的一种途 ...

  4. 【转载】C#中float.TryParse方法和float.Parse方法的异同之处

    在C#编程过程中,float.TryParse方法和float.Parse方法都可以将字符串string转换为单精度浮点类型float,但两者还是有区别,最重要的区别在于float.TryParse方 ...

  5. python day 20: 线程池与协程,多进程TCP服务器

    目录 python day 20: 线程池与协程 2. 线程 3. 进程 4. 协程:gevent模块,又叫微线程 5. 扩展 6. 自定义线程池 7. 实现多进程TCP服务器 8. 实现多线程TCP ...

  6. VUE过滤器 基础回顾5

    过滤器是一种在模板中处理数据的便捷方式,特别适合对字符串和数组进行简易显示 <div id="app"> <p>商品1花费{{oneCost | froma ...

  7. element-ui select多选情况下获取label和value

    直接上代码 <el-select v-model="value" multiple collapse-tags ref="select" @change= ...

  8. 常用模块 - configparse模块

    一.简介 configparser模块在Python中是用来读取配置文件的,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节点(section),每个节可以有多个参数(键=值 ...

  9. DEDECMS文章标题显示不全的原因以及解决方法

    首先这里说一下编码问题:UTF-8与GBK(通常为GB2312). GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准):GBK编码专门用来解决中文编码的,是双字节的 ...

  10. 【故障处理】ORA-12162 错误的处理

    [故障处理]ORA-12162: TNS:net service name is incorrectly specified 一.1  场景 今天拿到一个新的环境,可是执行sqlplus / as s ...