RocketMQ读书笔记1——简述】的更多相关文章

[消息队列的功能介绍] 分布式消息队列可以提供应用解耦.流量削峰.消息分发.保证最终一致性.方便动态扩容等功能. [MQ使用场景1——应用解耦] 复杂的系统如电商系统,会存在多个子系统,如订单系统.库存系统.物流系统.支付系统.如果各个子系统之间耦合性太强,会导致整体系统的可用性大幅降低,多个低错误率的子系统强耦合,会得到一个高错误率的整体系统. 用户创建订单后,如果耦合地调用库存系统.物流系统.支付系统,任何一个子系统出现故障不可用,都会造成下单操作异常,影响用户体验. [ 举例——通过MQ解…
[Broker简述] Broker是RocketMQ的核心,大部分“重量级”的工作都是由Broker完成的,包括: 1.接受Producer发过来的消息: 2.处理Consumer的消费信息请求: 3.消息的持久化存储: 4.消息的HA机制: 5.服务端的过滤功能. [消息存储] 分布式消息队列因为有高可靠性的要求,所以数据要通过磁盘进行持久化存储. RocketMQ的消息是存储到磁盘上的,这样既可以保证断电后恢复,也可以不受内存大小的限制. [ 磁盘存储的“快”——顺序写 ] 磁盘存储,使用得…
[NameServer简述] 对于一个消息队列集群来说,系统由很多机器组成,每个机器的角色.IP地址都不相同,而且这些信息是变动的(如在某些情况下,会有新的Producer或Consumer加入). NameServer的存在主要是为了解决这类问题,由NameServer维护这些配置信息.状态信息,其他角色都通过NameServer来协同执行. [NameServer的功能] NameServer是整个消息队列中的状态服务器,集群的各个组件通过它来了解全局的信息.各个角色的机器要定时向NameS…
[Broker端进行消息过滤] 在Broker端进行消息过滤,可以减少无效消息发送到Consumer,少占用网络宽带从而提高吞吐量. [过滤方式1——通过Tag过滤] [ 关于Tag和Key ] 对一个应用来说,尽可能只用一个Topic,不同消息子类型用Tag来标识,每条消息只能有一个Tag,服务端基于Tag进行过滤,并不需要读取消息体的内容,效率较高.Producer发送消息设置了Tag以后,Consumer在订阅消息时,才会利用Tag在Broker端做消息过滤. 消息的Key,发送的消息设置…
[顺序消息] 顺序消费是指消息的产生顺序和消费顺序相同. 比如订单的生成.付款.发货,这三个消息必须按顺序处理才可以. [顺序消息的分类] 全局顺序消息和部分顺序消息. 上面订单的例子,其实是部分顺序消息,只要保证同一个订单ID的三个消息能顺序消费即可. [全局顺序消息] [部分顺序消费] 在实际的场景中,更多的是像订单类消息那样,只需要部分有序即可. [ MessageQueueSelector ] Producer发送端使用MessageQueueSelector类来控制把消息发往哪个Mes…
[不同类型的消费者] DefaultMQPushConsumer 由系统控制读取操作,收到消息后自动调用传入的处理方法来处理. DefaultMQPullConsumer 读取操作中的大部分功能由使用者自动控制. [DefaultMQPushConsumer的使用] [特点] 1.系统收到消息后自动调用处理方法来处理消息,自动保存Offset. 2.加入的新的DefaultMQPushConsumer会自动做负载均衡. public class QuickStart { /** * Defaul…
[生产者的不同写入策略] 生产者向消息队列里写入数据,不同的业务需要生产者采用不同的写入策略: 同步发送.异步发送.延迟发送.发送事务消息等. [DefaultMQProduce示例] public class ProducerQuickStart { public static void main(String[] args) throws MQClientException,InterruptedException { /**1.设置Producer的GroupName**/ Default…
很长一段时间关注在Java Web开发的方向上,提及到Jave Web开发就绕不开Spring全家桶系列,使用面向百度,谷歌的编程方法能够完成大部分的工作.但是这种不系统的了解总觉得自己的知识有所欠缺.所以有了系统了解Spring的想法,了解了Spring,才能够更好的学习Spring全家桶系列,Spring的书籍也是琳琅满目,当然也可以阅读Spring官方的reference,相信那个才是最好的材料,但是鉴于英语的阅读速度有限.所以就挑选了这本<精通Spring 4.X企业应用开发实战>.这…
<Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一.语言特性 我们可以用几个关键词或短语来概括Go语言的主要特性. 1>.开放源代码 这显示来Go作者开放的态度以及营造语言生态的决心.顺便说一句,Go本事就是用Go语言编写的. 2>.静态类型和编译类型 在Go中,每个变量或常量都必须在声明时指定类型,且不可改变.另外,程序必须通过编译生成归档文件或…
热修复系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 深入探索Android热修复技术原理读书笔记 -- 资源热修复技术 1. SO库加载原理 Java Api 提供以下两个接口加载一个 so 库 System. loadLibrary (String libName):传进去的参数:so 库名称, 表示的 so 库文件,位于apk压缩文件中的 libs 目录,最后复制到 apk 安装目录下. S…
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> 读书笔记汇总 建立练习环境 以CentOS7系统下的MySQL和MariaDB为例. 01--了解SQL 什么是SQL,为什么很有用 基本的数据库术语 02--检索数据 如何使用SQL的SELECT语句来检索单个表列.多个表列以及所有表列 如…
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用SQL语句 简化复杂的SQL操作 使用表的一部分而不是整个表 保护数据:可以赋予访问表的特定部分的权限 可返回与底层表不同格式和表示的数据 如果应用大量或复杂的视图,极可能影响性能,应该先进行测试再应用视图. 18.1.2 视图的规则和限制 视图名必须唯一,与其他的视图和表不同 视图数目没有限制 可…
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Library,任务并行库)和PLINQ(Parallel LINQ,并行LINQ). 18.1 独立线程的运行和控制 通过 System.Threading.Tasks.Task 类在托管代码中公开各种API,该类代表的是一个异步操作.然而,一个 Task 并不直接映射到一个非托管线程.相反, Tas…
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种特性.新版本除了精心修订旧版内容外,还全面涵盖了C# 5.0的新增特性,比如异步编程.调用者信息.case表达式.带参数的泛型构造函数.支持null类型运算等.通过本书,读者能够快速.深入地理解C#,为自己的编程生涯打下良好的基础. 本书是C#入门的经典好书,适合对C#感兴趣的所有读者.Daniel…
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心得和感悟,将技术问题以生动易懂的语言展开,层层深入,以例说理.全书主要,包括了.NET基础知识及其深度分析,以.NET Framework和CLR研究为核心展开.NET本质论述,涵盖了.NET基本知识几乎所有的重点内容.全书分为5个部分,第1部分讲述.NET与面向对象,从底层实现角度分析了.NET如何实现面向…
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型.架构设计.性能优化.Web安全.系统发布.运维监控等在内的大型网站开发全景视图. 本书不仅适用于指导网站工程师.架构师进行网站技术架构设计,也可用于指导产品经理.项目经理.测试运维人员等了解网站技术架构的基础概念:还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解…
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流以及改善会员公司的运作模式. LOMA 280主要介绍了保险原理,被保险人的保险过程和保单所有人的权益.这套教材同時也包括了个人和团体人寿.健康保险以及年金的内容和特点.由于我所在的公司Manulife是一家保险公司,所以我需要增加我的业务背景知识,所以希望通过LOMA教程来学习保险基本原理. 以下…
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇只涉及两章,但容量已足够喝一壶了. 第8章 矩阵和线性变换 变换物体和变换坐标系是等价的,将物体变换一个量等价于将坐标系变换一个相反的量. 旋转rotation 2D中的旋转只有一个参数:角度θ,逆时针经常被认为是正方向. 在3D场景中,绕轴旋转而不是点.绕轴旋转θ°时,必须知道哪个方向被认为是正方向.在左手…
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and Game Development>第一版的读书笔记.第二版貌似还没有中文版. 本书网站gamemath.com.中文版居然给了翻译公司的网址,而且里面还什么有用的都没有,囧. 第2章 笛卡尔坐标系统 左手坐标系的记忆方法 伸出左手,手指依次是())))))Z轴.他们分别对应起来,用左手摆成下图的样子(…
<More Effective C#>这本书,大概是四年前看完的,但只整理了一部分读书笔记,后面有时间的话,会陆续补充的. More Effective C# :使用泛型 More Effective C# Item1 : 使用1.x框架API的泛型版本 More Effective C# Item2 : 恰到好处的定义约束 More Effective C# Item3 : 运行时检查泛型参数的类型并提供特定的算法 More Effective C# Item4 : 使用泛型强制编译期类型推…
<javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字符集 JavaScript程序是用Unicode字符集编写. Unicode是ASCII和Latin-1的超集,支持几乎所有语言. ES3 要求支持Unicode 2.1及后续版本 ES5 要求支持Unicode 3及后续版本 2.1.1 区分大小写 JavaScript是区分大小写的. HTML 并不区分大…
<javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本书来补充下. 今天是今年的196天,由于我之前承诺过,每天分享读书笔记,只是之前分享的是大众读物,所以随手分享到kindle阅读群里了.但是现在读的是技术类书籍,分享到kindle读书群不太合适,所以还是以博客的形式分享.这样子,一个链接,大家感兴趣了就点开看看,不感兴趣了,就不点开. 其实这篇文章应该是昨天…
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) short System.Int16 16位有符号的整数 -32 768~32 767(−215−215~215−1215−1) int System.Int32 32位有符号的整数 -2 147 483 648~2 147 483 647(−231−231~231−1231−1) long System.Int…
Spark存储管理(读书笔记) 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark的存储管理 RDD的存放和管理都是由Spark的存储管理模块实现和管理的.本文从架构和功能两个角度对Spark的存储管理模块进行介绍. 架构角度 从架构角度,存储管理模块主要分为以下两层: 通信层:存储管理模块采用的是主从结构来实现通信层,主节点和从节点之间传输控制信息.状态信息. 存储层:存储管理模块需要把数据存储到硬盘或者内存中,必要时还需要复制到远端,这些操作由存储层来实…
Spark调度管理(读书笔记) 转载请注明出处:http://www.cnblogs.com/BYRans/ Spark调度管理 本文主要介绍在单个任务内Spark的调度管理,Spark调度相关概念如下: Task(任务):单个分区数据及上的最小处理流程单元. TaskSet(任务集):由一组关联的,但互相之间没有Shuffle依赖关系的任务所组成的任务集. Stage(调度阶段):一个任务集对应的调度阶段. Job(作业):有一个RDD Action生成的一个或多个调度阶段所组成的一次计算作业…
HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespace) HDFS的命名空间包含目录.文件和块.命名空间管理是指命名空间支持对HDFS中的目录.文件和块做类似文件系统的创建.修改.删除.列表文件和目录等基本操作. 块/存储管理(Block Storage) 在块存储服务中包含两部分工作:块管理和物理存储.这是一个更通用的存储服务.其他的应用可以直接建…
我们已经掌握了很多实用 Bootstrap  的重要技能.现在,是时候拿出更多的创意来帮助客户实现他们全方位在线营销的愿望了.此次将带领大家做一个漂亮的单页高端营销网站. 主要任务如下: □ 一个大型介绍性传送带图片展示区,配有自定义的响应式欢迎信息: □ 一个客户留言区,显示为带标题的图片墙,就像砖垒的一样: □ 一个功能清单,使用大号 Font Awesome 图标: □ 一个带有自定义价目表的注册区: □ 一个带动态滚动的 ScrollSpy 导航条. 1.概况 有一位潜在客户联系我们,她…
<如何在大学里脱颖而出(How to Win at College)>读书笔记 图书简介 中文版: 英文版: 作者卡尔·纽波特(Cal Newport)于 2004 年6月以优等生荣誉学会会员身份毕业于达特茅斯学院.曾在<华尔街日报>的学报和<今日商务>等杂志上发表了数篇讲述大学生活以及大学生成功事迹的文章.目前,他在美国麻省理工学院攻读计算机科学博士学位,居住在马萨诸塞州的波士顿. 不禁感慨,我上大学那阵怎么就没有这本书呢,呵呵,不过现在看到,总比没有看过好 :-)…
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 ""(空字符串) Number 任何非零数值(包括无穷大) 0和NaN Object 任何对象 null Undefined n/a undefined 2. Number():可以用于任何数据类型 数据类型 返回值 true or false 1和0 数字值 简单传入和返回 null 0 undefin…
Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案.它集成了ARM CORTEX-A8核心.实现了ARM架构V7且支持外围设备.他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2…