首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

03 Confluent_Kafka权威指南 第三章: Kafka 生产者:向kafka写消息

无论你将kafka当作一个队列、消息总线或者数据存储平台,你都需要通过一个生产者向kafka写入数据,通过一个消费者从kafka读取数据。或者开发一个同时具备生产者和消费者功能的程序来使用kafka。 例如,在信用卡交易处理系统中,有一个客户端的应用程序(可能是一个在线商店)在支付事物发生之后将每个事物信息发送到kafka。另外一个应用程序负责根据规则引擎去检查该事物,确定该事物是否被批准还是被拒绝。然后将批准/拒绝的响应写回kafka。之后kafka将这个事物的响应回传。第三个应用程序可以从kafka中读取事物信息和其审批状态,并将他们存储在数据库中,以便分析人员桑后能对决策进行检查并改进审批规则引擎。 apache kafka提供了内置的客户端API,开发者在开发与kafka交互的应用程序时可以使用这些API。 在本章中,我们将学习如何使用kafka的生产者。首先对其设计理念和组件进行概述。我们将说明如何创建kafkaProducer和ProducerRecord对象。如何发送信息到kafka,以及如何处理kafak可能返回的错误。之后,我们将回顾用于控制生产者行为的重要配置选项。最后,我们将深入理解如何使用不同的分区方法和序列化。以及如何编写自己的序列化器和分区器。 在第四章我们将对kafka消费者客户端和消费kafka数据进行阐述。

03
您找到你想要的搜索结果了吗?
是的
没有找到

卡夫卡入门

1.Kafka独特设计在什么地方? 2.Kafka如何搭建及创建topic、发送消息、消费消息? 3.如何书写Kafka程序? 4.数据传输的事务定义有哪三种? 5.Kafka判断一个节点是否活着有哪两个条件? 6.producer是否直接将数据发送到broker的leader(主节点)? 7.Kafa consumer是否可以消费指定分区消息? 8.Kafka消息是采用Pull模式,还是Push模式? 9.Procuder API有哪两种? 10.Kafka存储在硬盘上的消息格式是什么? 一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳。 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集群,集群向消费者提供消息,如下图所示: <ignore_js_op>

05

Kafka 技术文档

•通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 •高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。 •Consumer客户端pull,随机读,利用sendfile系统调用进行zero-copy ,批量拉数据 •消费状态保存在客户端 •支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。 •数据迁移、扩容对用户透明 •支持Hadoop并行数据加载。 •支持online(在线)和offline(离线)的场景。 •持久化:通过将数据持久化到硬盘以及replication防止数据丢失。 •scale out:无需停机即可扩展机器。 •定期删除机制,支持设定partitions的segment file保留时间。

01
领券