Skip to Content
Kafka权威指南
book

Kafka权威指南

by Neha Narkhede, Gwen Shapira, Todd Palino
January 2018
Beginner to intermediate
234 pages
7h 8m
Chinese
Posts & Telecom Press
Content preview from Kafka权威指南
Kafka
生产者——向
Kafka
写入数据
39
顺序保证
Kafka
可以保证同一个分区里的消息是有序的。也就是说,如果生产者按照
一定的顺序发送消息,
broker
就会按照这个顺序把它们写入分区,消费者也
会按照同样的顺序读取它们。在某些情况下,顺序是非常重要的。例如,往
一个账户存入
100
元再取出来,这个与先取钱再存钱是截然不同的!不过,
有些场景对顺序不是很敏感。
如果把
retries
设为非零整数,同时把
max.in.flight.requests.per.connection
设为比
1
大的数,那么,如果第一个批次消息写入失败,而第二个批次写入
成功,
broker
会重试写入第一个批次。如果此时第一个批次也写入成功,那
么两个批次的顺序就反过来了。
一般来说,如果某些场景要求消息是有序的,那么消息是否写入成功也是
很关键的,所以不建议把
retries
设为
0
。可以把
max.in.flight.requests.
per.connection
设为
1
,这样在生产者尝试发送第一批消息时,就不会有其
他的消息发送给
broker
。不过这样会严重影响生产者的吞吐量,所以只有在
对消息的顺序有严格要求的情况下才能这么做。
3.5
 序列化器
我们已经在之前的例子里看到,创建一个生产者对象必须指定序列化器。我们已经知道如
何使用默认的字符串序列化器,
Kafka
还提供了整型和字节数组序列化器,不过它们还不
足以满足大部分场景的需求。到最后,我们需要序列化的记录类型会越来越多。
接下来演示如何开发自己的序列化器,并介绍
Avro
序列化器作为推荐的备选方案。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

精通機器學習

精通機器學習

Aurélien Géron
精通特征工程

精通特征工程

Alice Zheng, Amanda Casari
高效能PYTHON程式設計

高效能PYTHON程式設計

Micha Gorelick, Ian Ozsvald

Publisher Resources

ISBN: 9787115473271