
Kafka
文章平均质量分 93
煉心_
永遠的初級程序員...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kafka基础-生产者发送消息
无论你是使用Kafka作为队列,消息总线还是数据存储平台,你都会用到生产者,用于发送数据到Kafka。下文介绍如何使用Java来发送消息到Kafka。1. 发送消息的主要步骤首先创建ProducerRecord对象,此对象除了包括需要发送的数据value之外还必须指定topic,另外也可以指定key和分区。当发送ProducerRecord的时候,生产者做的第一件事就是把key和value序列...原创 2018-06-20 15:12:13 · 28182 阅读 · 3 评论 -
Kafka基础-消费者读取消息
下文介绍如何使用Java从Kafka订阅和读取消息,它和从其它消息系统读取消息有点不同,涉及到一些独特的概念。所以我们要先了解这些概念:1. Kafka消费者概念1.1 消费者和消费者组当你只有一个消费者而且生产者发送消息的速率比消费者读取消息的速率要快的时候,处理新消息就会造成延时,显然需要配置多个消费者去读取消息。Kafka的消费者是消费者组的一部分,当多个消费者订阅一个topic...原创 2018-07-31 14:18:36 · 11768 阅读 · 0 评论 -
Kafka基础-内部原理
理解Kafka的内部原理可以有助于故障的排除,因此本文会着重介绍以下三个部分:Kafka复制的工作原理 Kafka是怎样处理生产者和消费者的请求 Kafka是怎样储存数据,例如文件格式和索引1. 集群成员Kafka使用Apache Zookeeper来维护当前集群的成员列表,每个broker都有一个唯一的标识,该标识可以在broker的配置文件设置或者自动生成。每次broker进程启...原创 2018-08-21 16:39:25 · 1372 阅读 · 0 评论 -
Kafka基础-可靠性数据传输
可靠的数据传输是系统的一个必要属性,就像性能一样,必须从一开始就设计到系统中。Apache Kafka在可靠的数据传输方面非常灵活,支持非常多的配置参数。1. 可靠性保证当我们讨论可靠性时,通常会提到保证这个术语。最著名的可靠性保证ACID,它是关系型数据库普遍支持的标准可靠性保证。理解Kafka提供的保证对于创建可靠的应用是至关重要的,Kafka能够保证:同一个分区消息的顺序保证。在...原创 2018-09-17 14:01:50 · 1861 阅读 · 0 评论 -
Kafka基础-流处理
1. 什么是流处理?首先,让我们说一下什么是数据流(也称为事件流)?它是无边界数据集的抽象说法,无边界意味着无限且不断增长,因为随着时间的推移,新数据会不断地到来。除了无边界的特性之外,事件流模型还有其它几个属性:1.1 事件流是有序的这在交易事件里是最容易理解的,先在账户里存钱然后消费与先消费再还钱是非常不同的,后者将产生透支费用,而前者不能透支。这是事件流和数据库表之间的不同点...原创 2018-10-26 17:10:20 · 7188 阅读 · 6 评论 -
Kafka Streams实战-开发入门
本文会介绍:Kafka Streams APIs Kafka Streams的Hello World例子 深入探索基于Kafka Streams的ZMart应用程序 把输入流拆分为多个流1. Streams APIsKafka有两类流APIs,low-level Processor API和high-level Streams DSL。本文介绍的是后者DSL,它的核心是KStrea...原创 2018-11-13 09:54:34 · 9562 阅读 · 73 评论 -
Kafka Streams实战-流和状态
本文会介绍:有状态操作 使用状态存储 连接两个流 Kafka Streams的timestamps1. 有状态操作1.1 转换处理器KStream.transformValues是最基本的有状态方法,下图展示了它工作的原理:此方法在语义上与KStream.mapValues方法相同,但主要的区别是transformValues可以访问状态存储实例来完成其任务。1.2...原创 2018-12-14 09:31:51 · 7123 阅读 · 0 评论 -
Kafka Streams实战-KTable API
本文会介绍:流和表的关系 数据更新和KTable的配置 聚合、窗口和流表连接 全局KTable1. 流和表的关系1.1 数据更新流假设我们有一个股票价格的数据流,每个数据包含股票的ID,timestamp和股价,要把这些数据写入到关系型数据库的表格里,如果使用股票的ID作为主键,那么具有相同ID的数据会被更新,我们可以把这种用于更新数据的流视为更新流。如下图所示:这类似...原创 2019-01-31 11:41:42 · 7856 阅读 · 2 评论