Kafka
Lestat.Z.
lestatzhang.com
展开
-
关于Kafka Replication机制
ReplicationKafka的replication复制机制是其可靠性的保证,即为每个分区数据提供多个副本。每个Kafka topic包含有多个分区,分区是kafka存储数据的基本单位。一个分区只能存储在同一个硬盘上。Kafka保证每一个分区内的消息的顺序,无论这个分区是在线(available)的还是离线的(unavailable)。每个分区拥有多个副本,其中一个副本...原创 2019-03-11 15:58:10 · 5566 阅读 · 0 评论 -
关于kafka中的序列化
Serializers前言自定义序列化器使用Apache Avro进行序列化将Avro记录与Kafka一起使用前言如前面的示例所示,生产者配置包括强制序列化器。 我们已经了解了如何使用默认的String序列化程序。 Kafka还包括integers和ByteArrays的序列化程序,但这并不包括大多数用例。 最终,你将希望能够序列化更多通用格式的记录。我们将首先展示如何编写自己的序列化程序,...原创 2019-05-13 10:59:30 · 4871 阅读 · 0 评论 -
关于kafka中的反序列化
Deserializers前言Custom deserializers使用Avro反序列化与Kafka消费者参考资料前言Kafka生产者需要序列化程序将对象转换为字节数组,然后发送到Kafka。 同样,Kafka消费者需要使用反序列化器将从Kafka收到的字节数组转换为Java对象。 在前面的示例中,我们假设每个消息的键和值都是字符串,我们在消费者配置中使用了默认的StringDeserial...原创 2019-05-12 20:33:48 · 3707 阅读 · 0 评论 -
关于Kafka可靠性的保证与复制机制
Kafka可靠性的保证当我们谈论可靠性时,我们通常会谈到保证,保证是系统在不同情况下保留的行为。可能最着名的可靠性保证是ACID,这是关系数据库普遍支持的标准可靠性保证。 ACID代表原子性,一致性,隔离性和耐久性。当供应商解释他们的数据库符合ACID时,这意味着数据库保证了有关交易行为的某些行为。这些保证是人们信任关系数据库及其最关键应用程序的原因 —— 他们确切知道系统承诺的内容以及它在...原创 2019-05-14 14:42:40 · 1907 阅读 · 0 评论 -
在Kafka中消费具有特定偏移的记录
Consuming Records with Specific Offsets消费具有特定偏移的记录参考资料消费具有特定偏移的记录到目前为止,我们已经看到如何使用 poll() 开始消耗每个分区中最后一个已经发生的偏移量的消息,并继续按顺序处理所有消息。但是,有时我们肯想要以不同的偏移量开始阅读。如果你想从分区的开头读取所有消息,或者你想要一直跳到分区的末尾并开始只消费新消息,那么可以使用有...原创 2019-05-14 14:19:54 · 669 阅读 · 0 评论 -
关于Kafka的诞生
LinkedIn的开发团队主要由软件工程师Jay Kreps领导,他之前负责分布式键值存储系统Voldemort的开发和开源发布。最初的团队还包括Neha Narkhede和后来的Jun Rao。他们共同创建了一个消息系统,可以满足监控和跟踪系统的需求,并可以扩展到未来。主要目标是:• 使用推拉模型将生产者和消费者分离• 为消息传递系统中的消息数据提供持久性,以允许多个消费者• 优化消息的高...原创 2019-05-01 20:57:50 · 2925 阅读 · 0 评论 -
Kafka的一些应用场景
Kafka的一些应用场景活动跟踪消息传递度量和日志记录提交日志流处理参考资料活动跟踪Kafka的原始用例,就像在LinkedIn上设计的那样,是用于用户活动的追踪。 网站的用户与前端应用程序交互,后者生成有关用户正在执行的操作的消息。 这可以是被动信息,例如页面查看和点击跟踪,也可以是其他更复杂的操作,例如用户添加到其配置文件中的信息。 消息将发布到一个或多个主题,然后由后端的应用程序使用。 ...原创 2019-04-27 12:45:27 · 3442 阅读 · 0 评论 -
Kafka的优点
Kafka的优点前言Kafka的优点多个生产者多个消费者基于磁盘的保留可扩展性高性能参考资料前言现在市场上的有很多发布/订阅消息传递系统,那么是什么让Apache Kafka成为一个不错的选择呢?或者说Kafka它有什么优势呢?Kafka的优点多个生产者无论这些客户是使用多个主题还是相同主题,Kafka都能够无缝地处理多个生产者。 这使得该系统非常适合聚合来自许多前端系统的数据并使其保持...原创 2019-04-27 12:25:29 · 4456 阅读 · 1 评论 -
Kafka中offsets.retention.minutes和log.retention.minutes之间的区别
前言在Kafka中,我们可能会发现两个与retention相关的配置:log.retention.minutesoffsets.retention.minutes那么它们之前的差别是什么呢?定义首先让我们看看它们在官方文档中的定义名称描述类型默认值有效值重要性log.retention.minutesThe number of minutes to keep a ...原创 2019-04-25 21:20:34 · 3232 阅读 · 0 评论 -
Kafka入门的一些基本概念
Kafka入门的一些基本概念消息和批处理 Messages and Batches模式(Schemas)主题和分区 Topics and Partitions生产者和消费者 Producers and Consumers代理和集群(Brokers and Clusters)多集群 Multiple Consumers原创 2019-04-21 20:10:49 · 2973 阅读 · 0 评论 -
关于Kafka消费者中的偏移量的提交(Commits and Offsets)
关于Kafka消费者中的偏移量的提交概述KafkaConsumer API中多种提交偏移的方法自动提交(Automatic Commit)提交当前偏移量异步提交(Asynchronous Commit)结合同步和异步提交提交指定的偏移量参考资料概述每当我们调用poll()时,它都会返回之前被写入Kafka的记录,即我们组中的消费者还没有读过的记录。 这意味着我们有一种方法可以跟踪该组消费者读取...原创 2019-04-21 16:22:27 · 4745 阅读 · 0 评论 -
关于Kafka Consumer 与 Partitions
Consumers and Consumer Groups假设我们有一个应用程序需要从Kafka主题中读取消息,对它们运行一些简单的验证,并将结果写入另一个数据存储中。 因此,我们需要将创建一个Consumer对象,订阅相应的主题,并开始接收消息,验证它们并编写结果。 这可能会有一段时间,但如果写入主题的速率超过应用程序验证它们的速率怎么办? 如果您仅限于单个消费者阅读和处理数据,您的应用程序可...原创 2019-03-16 19:04:03 · 2822 阅读 · 0 评论 -
关于Kafka Producer中的分区
前言在前面的示例中,我们创建的ProducerRecord对象包括主题名称,键和值。 Kafka消息是键值对,虽然可以仅使用主题和值创建ProducerRecord,但默认情况下键设置为null,大多数应用程序生成带键的记录。Key的使用有两个目标:它们是与消息一起存储的附加信息它们还用于决定将消息写入哪个主题分区。具有相同Key的所有消息将转到同一分区。 这意味着如果进程只读取主题...原创 2019-05-13 14:47:49 · 1446 阅读 · 0 评论