Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks 越大,越不容易丢失消息,但是吞吐量下降. buffer.memory,设置不当会导致阻塞或者抛出异常. compression.type snappy和gzip, lz4. retries 重试次数, 如果要保证消息的顺序,必须保证max.in.flight.requests.per.connect…
跨集群数据镜像 使用场景: 区域集群和中心集群 这种场景下,每个区域的应用程序只访问相应的区域内的集群.而有些情况下,需要将各个集群的信息汇总到中心集群,就可以用中心集群分析业务数据了. 冗余 一个Kafka集群足以支撑所有的应用程序,但是为了高可用,可以做一个灾备. 云迁移 有很多公司将业务同时部署在本地数据中心和云端.为了实现冗余,应用程序通常运行在多个云供应商的多个服务区域里,或者使用多个云服务.本地和每个云服务都有一个Kafka集群. 有些情况下,也会在数据中心之间传输数据.例如云端部署…
Broker配置 Kafka可以同时拥有可靠的主题和非可靠的主题.非可靠的主题允许丢失. 复制系数 主题级别的配置参数是 replication.factor,在Broker级别则可以通过default.replication.factor 来配置自动创建的主题. 在主题创建之后,可以通过新增或移除副本来改变复制系数. 较高的复制系数会带来更高的可用性,可靠性,和更少的故障. 复制系数N,需要至少N个broker,会有N个数据副本. 默认副本数量是3.如果配置了机架名字,broker.rack,…
Kafka Broker kafka 第一个启动的Broker在ZooKeeper中创建一个临时节点/controller,让自己成为控制器.其他Broker启动后在控制器节点上创建Watch对象,便接收节点变更通知. Kafka利用ZooKeeper来选举控制器,并在节点加入或者退出集群时通知控制器.控制器负责在节点加入或者退出集群时选举分区首领.控制器使用Epoch来防止"脑裂". Kafka 使用主题来组织数据,每个主题被分为若干个分区,每个分区有多个副本.每个Broker上面可…
之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是下定决心来好好读一读这本厚厚的‘词典’.在阅读原书过程中,本人也发现了不少概念问题,可能因为汉化区别,导致实际情况与概念描述并不相符的情况,这里就全当做下笔记了. 记录从书籍第三章开始,如果有幸有人看到了本人博客并对前两章有兴趣,可以通过其它途径去了解,这里就当权威指南概念的缩减版,以及作为自己待业…
前言 mycat官方地址http://www.mycat.io/,mycat是关系数据库的中间件,也就是说它可以把后端的多个数据库,抽象成一个关系数据库. mycat能干啥 官方文档介绍,主要是用来做分库分表,但应用中用的比较多的是mysql的主从分离.它的另一个分库分表,把一张表分在同一个关系数据库的不同库里或分在不同主机节点的数库里.分表,官方提供了很多规则来完成分表的操作,比如常见的取模,hash等,但是呢,分表是分了,带来的join查询就是一大头疼问题,权威指南在说join查询的时候,尽…
集中讨论以下3 个有意思的话题 :• Kafka 如何进行复制:• Kafka 如何处理来自生产者和消费者的请求 :• Kafka 的存储细节,比如文件格式和索引. 集群成员关系 Kafka 使用 Zoo keeper 来维护集群成员的信息.每个 broker 都有一个唯一标识符,这个标识符可以在配置文件里指定 ,也可以自动生成.在 broker 启动的时候,它通过创建临时节点把自己的ID注册到 Zookeeper.Kafka 组件订阅 Zookeeper 的/brokers/ids 路径(br…
KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组.一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息. 往群组里增加消费者是横向伸缩消费能力的主要方式. 我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者.不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置.  除了通过增加消费者来横向伸缩单个应用程序外,还经常出现多个应用程序从同一个主题读取数据的情况. Kafka 设计的主要目标之一 ,就是要让 Kafka 主…
不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者们可以使用 Kafka 内置的客户端 API 开发 Kafka 应用程序. 我们将从 Kafra 生产者的设计和组件讲起,学习如何使用 Kafka 生产者.内容包括: 如何创建 KafkaProducer 和 ProducerRecords 对象.如何将记录发送给 Kafka: 如何处理从 Kafk…
发布与订阅消息系统 数据(消息)的发送者(发布者)不会直接把消息发送给接收者,这是发布与订阅消息系统的一个特点.发布者以某种方式对消息进行分类,接收者(订阅者)订阅它们, 以便接收特定类型的消息.发布与订阅系统一般会有一个 broker,也就是发布消息的中心点. Kafka 登场 在0.10版本之前, Kafka仅仅作为一个消息系统,主要用来解决应用解决. 异步消息 . 流量削峰等问题. 不过在0.10版本之后, Kafka提供了连接器与流处理的能力,它也从分布式的消息系统逐渐成为一个流式的数据…
Web服务器会做些什么: 1.建产连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭. 1)处理新连接 2)客户端主机名识别 3)通过ident确定客户端用户 ident在组织内部可以很好地工作,主要是因为以下原因导致在公共因特网上并不能很好地工作: 1.很多客户端PC没有运行ident识别协议守护进程软件 2.ident协议会使HTTP事务处理产生严重的时延 3.很多防火墙不允许ident流量进入 4.ident协议不安全,容易被伪伪 5.ident协议也不支持虚拟IP地…
HTTP通信是由TCP/IP承载的,HTTP紧挨着TCP,位于其上层,所以HTTP事务的性能很大程度上取决于底层TCP通道的性能. HTTP事务的时延 如图: HTTP事务的时延有以下几种主要原因. (1)客户端首先需要根据URI确定Web服务器的IP地址和端口号.如果最近没有对URI中的主机名进行访问,通过DNS解析系统将URI中的主机名转换成一个IP地址可能要花费数十秒的时间. (2)接下来,客户端会向服务器发送一条TCP连接请求,并等待服务器回送一个请求接受应答.每条新的TCP连接都会有连…
报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line).包含属性的首部(header),以及可选的.包含数据的主体(body)部分. 请求报文格式 <method> <request-URL> <version> <headers> <entity-body> 响应报文格式 <version> <status> <reson-phrase> <headers> <en…
URL中的限制字符: 在URL中,有几个字符被保留起来,有着特殊的含义.有些字符不在定义的US-ASCII可打印字符集中.还有些字符会与某些因特网网关和协议产生混淆,因此不赞成使用. 下面这些字符是URL中的限制字符,在将其用于保留用途之外的场合时,要在URL中对其进行编码. 字符 保留/受限 % 保留作为编码字符的转义标志 / 保留作为路径组件中分隔路径段的字界符 . 保留在路径组件中使用 .. 保留在路径组件中使用 # 保留作为分段定界符使用 ? 保留作为查询字符串定界符使用 ; 保留作为参…
HTTP协议版本: 1.HTTP/0.9:HTTP的1991原型版本称为HTTP/0.9.这个协议有很多严重的缺陷,只应该用与与老客户端的交互.HTTP/0.9只支持GET方法,不支持多媒体内容的MIME类型,各种HTTP首部,或者版本号.HTTP/0.9定义的初衷是为了获取简单的HTML对象,它很快就被HTTP/1.0取代了. 2.HTTP/1.0:1.0是第一个得到广泛使用的HTTP版本.HTTP/1.0添加了版本号.各种HTTP首部,一些额外的方法,以及对多媒体对象的处理.HTTP/1.0…
第六章 对象 1.首先是先介绍了对象直接量的格式:对象直接量就是1.由若干个名/值对组成的映射表,2名/值对中间由冒号分割,3名值对之间由逗号分割,4整个映射表由花括号括起来.这样就组成了一个对象直接量了.属性名可是是标识符或者字符串直接量,属性值可以使任意形式的JS表达式,表达式的值就是属性的值.就是平常所接触的对象的形式,比如: var a= { a:111,b:222} 作者还举了一个需要特别注意的知识的例子: var b = { "main title" : "aaa…
一.新增元素及属性 1.表单内元素的form属性. html5: <form id="testForm"> <input type=text> </form> <textarea form = testForm></textarea> 2.表单内元素的formaction属性 <form id="testForm" action="test.jsp"> <input t…
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运行需求,不过还是可以通过调整一些参数来进一步提升Kafka的性能.这些参数主要与虚拟内存,网络子系统和用来存储日志片段的磁盘挂在点有关.这些参数一般配置在“/etc/sysctl.conf” 文件里,不过在对内核参数进行调整时,最好参考官方提供的操作系统文档. 一.虚拟内存 一般来说,Linux的虚拟内存会根…
题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对,请谅解和指出.谢谢大家.正文: 第一章 CSS和文档---------- 1.CSS,称为层叠样式表.使用CSS的理由有:a.易于使用,样式表能大大减少Web创作人员的工作量:b.在多个页面上使用样式,可以创建一个样式表,然后把这个样式表应用到多个页面:c.层叠,CSS还规定了冲突规则:这些规则统称…
前面章节中的例子,用来作为单个节点的服务器示例是足够的,但是如果想要把它应用到生产环境,就远远不够了.在Kafka中有很多参数可以控制它的运行和工作.大部分的选项都可以忽略直接使用默认值就好,遇到一些特殊的情况你可以再考虑使用它们. 本文翻译自<Kafka权威指南> Broker的一般配置 有很多参数在部署集群模式时需要引起重视,这些参数都是broker最基本的配置,很多参数都需要依据集群的broker情况而变化. broker.id 每个kafka的broker都需要有一个整型的唯一标识,这…
<HTTP 权威指南>笔记:第十六章 国际化 客户端通过在请求报文中的 Accept-Language 首部和 Accept-Charset 首部来告知服务器:“我理解这些语言.”服务器通过 Content-type 首部中的 charset 参数和 Content-Language 来告知客户端文件可用的字母表和语言.两者进行协商,得到最佳的结果. MIME charset 术语 字符编码方案:将二进制代码转化为字符代码字符集:将字符代码转换为字符MIME 字符集:是将特定的编码方案和特定的…
在上篇的例子里([Kafka]<Kafka权威指南>--写数据), ProducerRecord 对象包含了目标主题.键和值. Kafka 的消息是 一个个 键值对, ProducerRecord对象可以只包含目标主题和值,键可以设置为默认的 null,不过大多数应用程序会用到键.键有两个用途 :可以作为消息的附加信息,也可以用来决定消息该被写到主题的哪个分区.拥有相同键的悄息将被写到同一个分区. 也就是说,如果一个进程只从一个主题的分区读取数据(第 4章会介绍更多细节),那么具有相 同键的所…
目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客户端识别与cookie机制 基本认证机制 安全HTTP 内容发布与分发 Web主机托管 [] HTTP权威指南-学习笔记 HTTP (Hypertext Transfer Protocol, 超文本传输协议) 运行实例 HTTP: Web的基础 Web客户端和服务器: Web内容都是存储在服务器上的…
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学习笔记 JavaScript是一门高级.动态.解释型变成语言,非常适合面向对象和函数式编程风格. JavaScript的变量是无类型的. JavaScript和Java除了表面语法大致相似,它与Java是完全不同的两门变成语言. Hello World Node:交互式模式输出Hello World…
一直不懂逆向,最近刚好不忙,于是学习逆向,用来做笔记,顺便和大家分享交流. 参考书籍<IAD PRO权威指南> 工具: PETools: ETools 是另一款很好的PE文件编辑工具,以前曾发过 v1.5.400.2003 的汉化版,今天也来更新一下:).PEditor 功能有转存进程.检测可执行文件加壳类型.在SoftICE中插入中断.编辑PE文件的导入表.节表.重建校验和.重建程序等,其自带了一个签名管理程序可自己添加更多的壳类型来让 PETools 识别.PETools 可支持插件,并带…
2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会改进,还没买的小伙伴们可以买第二版. 一.安装1.安装要求:控制服务器:需要安装Python2.6/2.7被管理服务器:需要安装Python2.4 以上版本,若低于Python2.5 需要安装pythonsimplejson;若启用了selinux,则需要安装libselinux-python 2.yum安装…
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.net/my_acm 上一篇介绍了什么是Hadoop.Hadoop的作用等.本篇相同基于Hadoop权威指南,结合迪伦的Hadoop的视频教程对MapReduce做一个介绍. 1. MapReduce是Hadoop的核心之中的一个.MapReduce分为两个部分,Mapper和Ruducer模块.简单…
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读一遍之后,会对HTTP有个总体认识.然后你可以根据文章中的关键点,去查找更详细的细节.这就是读书的第二重境界,将书读厚. HTTP(hypertext transfer protocol,超文本传输协议)是万维网进行通信时所使用的协议方案.HTTP有很多应用,但最著名的是用于Web浏览器和Web服务…
Hadoop简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出.一起学习一起进步. 转载请注明:http://blog.csdn.net/my_acm 1. 数据的增长远远超过了磁盘的读取速度.传统的数据存储方式和分析方式变得不再适用于大数据的处理. Hadoop分为两大核心技术.HDFS(HadoopDistributed File System-分布式hadoop文件处理系统)和MapReduce(分为Map-数据映射等,Redu…
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[class="one"][name="two"] class属性为one且name属性为two的p元素p[class~="one"] class属性包含one的p元素p[class^="one"] class属性以one开头p[clas…