不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者们可以使用 Kafka 内置的客户端 API 开发 Kafka 应用程序. 我们将从 Kafra 生产者的设计和组件讲起,学习如何使用 Kafka 生产者.内容包括: 如何创建 KafkaProducer 和 ProducerRecords 对象.如何将记录发送给 Kafka: 如何处理从 Kafk…
集中讨论以下3 个有意思的话题 :• Kafka 如何进行复制:• Kafka 如何处理来自生产者和消费者的请求 :• Kafka 的存储细节,比如文件格式和索引. 集群成员关系 Kafka 使用 Zoo keeper 来维护集群成员的信息.每个 broker 都有一个唯一标识符,这个标识符可以在配置文件里指定 ,也可以自动生成.在 broker 启动的时候,它通过创建临时节点把自己的ID注册到 Zookeeper.Kafka 组件订阅 Zookeeper 的/brokers/ids 路径(br…
发布与订阅消息系统 数据(消息)的发送者(发布者)不会直接把消息发送给接收者,这是发布与订阅消息系统的一个特点.发布者以某种方式对消息进行分类,接收者(订阅者)订阅它们, 以便接收特定类型的消息.发布与订阅系统一般会有一个 broker,也就是发布消息的中心点. Kafka 登场 在0.10版本之前, Kafka仅仅作为一个消息系统,主要用来解决应用解决. 异步消息 . 流量削峰等问题. 不过在0.10版本之后, Kafka提供了连接器与流处理的能力,它也从分布式的消息系统逐渐成为一个流式的数据…
KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组.一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息. 往群组里增加消费者是横向伸缩消费能力的主要方式. 我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者.不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置.  除了通过增加消费者来横向伸缩单个应用程序外,还经常出现多个应用程序从同一个主题读取数据的情况. Kafka 设计的主要目标之一 ,就是要让 Kafka 主…
新生代.老年代.永久代的概念不多说,这三个空间中任何一个不能满足内存分配请求时,就会发生垃圾收集. 新生代不满足内存分配请求时,发生Minor GC,老年代.永久代不满足内存分配请求时,发生Full GC,Minor GC比Full GC持续的时间要短很多. 所以内存空间设置的不合理就会频繁引起垃圾收集,以及OutOfMemoryError错误,严重影响程序性能. Java堆大小计算法则 若你的应用部署在单独的服务器,且该服务器上只有这一个应用,那Java堆肯定是越大越好,但这种情况比较少. J…
第七章 数组 1 数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快的多. 2 数组直接量的语法允许有可选的结尾的逗号,故[ ; ; ]只有两个元素而非三个. 3 调用构造函数创建数组     a 调用时没有参数 => 空数组     b 调用时有一个数值参数 => 指定长度的数组     c 显式指定两个或多个数组元素或一个非数值元素 => 参数成为新数组的元素 4 稀疏数组:包含从0开始的不连续索引(即 '索引值' in '数组' 运算返回 false)…
Broker配置 Kafka可以同时拥有可靠的主题和非可靠的主题.非可靠的主题允许丢失. 复制系数 主题级别的配置参数是 replication.factor,在Broker级别则可以通过default.replication.factor 来配置自动创建的主题. 在主题创建之后,可以通过新增或移除副本来改变复制系数. 较高的复制系数会带来更高的可用性,可靠性,和更少的故障. 复制系数N,需要至少N个broker,会有N个数据副本. 默认副本数量是3.如果配置了机架名字,broker.rack,…
跨集群数据镜像 使用场景: 区域集群和中心集群 这种场景下,每个区域的应用程序只访问相应的区域内的集群.而有些情况下,需要将各个集群的信息汇总到中心集群,就可以用中心集群分析业务数据了. 冗余 一个Kafka集群足以支撑所有的应用程序,但是为了高可用,可以做一个灾备. 云迁移 有很多公司将业务同时部署在本地数据中心和云端.为了实现冗余,应用程序通常运行在多个云供应商的多个服务区域里,或者使用多个云服务.本地和每个云服务都有一个Kafka集群. 有些情况下,也会在数据中心之间传输数据.例如云端部署…
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读一遍之后,会对HTTP有个总体认识.然后你可以根据文章中的关键点,去查找更详细的细节.这就是读书的第二重境界,将书读厚. HTTP(hypertext transfer protocol,超文本传输协议)是万维网进行通信时所使用的协议方案.HTTP有很多应用,但最著名的是用于Web浏览器和Web服务…
今天翻手机,翻到了许久之前看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…