Muutke küpsiste eelistusi

E-raamat: Kafka Streams in Action: Real-time apps and microservices with the Kafka Streams API

  • Formaat: 280 pages
  • Ilmumisaeg: 29-Aug-2018
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638356028
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 41,07 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 280 pages
  • Ilmumisaeg: 29-Aug-2018
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638356028
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Kafka Streams is a library designed to allow for easy stream processing of data flowing into a Kafka cluster. Stream processing has become one of the biggest needs for companies over the last few years as quick data insight becomes more and more important but current solutions can be complex and large, requiring additional tools to perform lookups and aggregations.



Kafka Streams in Action teaches readers everything they need to know to implement stream processing on data flowing into their Kafka platform, allowing them to focus on getting more from their data without sacrificing time or effort. By the end of the book, readers will be ready to use Kafka Streams in their projects to reap the benefits of the insight their data holds quickly and easily.

 

KEY FEATURES Hands-on lessons Step-by-step instructions Thorough introduction to Kafka Streams

 

This book is suitable for all Java (or JVM language) developers looking to discover the world of stream processing and its many benefits. Knowledge of Kafka is not required, but would be a bonus.



 

ABOUT THE TECHNOLOGY Kafka Streams is a library that allows you to perform per-event processing of records.



 

AUTHOR BIO Bill Bejeck is a Kafka Streams contributor with over 13 years of software development experience. With 6 years working exclusively on the back-end and large data volumes, Bill currently uses Kafka to improve data flow to downstream customers.
Foreword xi
Preface xiii
Acknowledgments xiv
About This Book xv
About The Author xix
About The Cover Illustration xx
Part 1 Getting Started With Kafka Streams 1(54)
1 Welcome to Kafka Streams
3(19)
1.1 The big data movement, and how it changed the programming landscape
4(4)
The genesis of big data
4(1)
Important concepts from MapReduce
5(3)
Batch processing is not enough
8(1)
1.2 Introducing stream processing
8(2)
When to use stream processing, and when not to use it
9(1)
1.3 Handling a purchase transaction
10(2)
Weighing the stream-processing option
10(1)
Deconstructing the requirements into a graph
11(1)
1.4 Changing perspective on a purchase transaction
12(3)
Source node
12(1)
Credit card masking node
12(1)
Patterns node
13(1)
Rewards node
13(1)
Storage node
13(2)
1.5 Kafka Streams as a graph of processing nodes
15(1)
1.6 Applying Kafka Streams to the purchase transaction flow
16(6)
Defining the source
16(1)
The first processor: masking credit card numbers
17(1)
The second processor: purchase patterns
18(1)
The third processor: customer rewards
19(1)
The fourth processor-writing purchase records
20(2)
2 Kafka quickly
22(33)
2.1 The data problem
23(1)
2.2 Using Kafka to handle data
23(2)
ZMart's original data platform
23(1)
A Kafka sales transaction data hub
24(1)
2.3 Kafka architecture
25(15)
Kafka is a message broker
26(1)
Kafka is a log
27(1)
How logs work in Kafka
27(1)
Kafka and partitions
28(1)
Partitions group data by key
29(1)
Writing a custom partitioner
30(1)
Specifying a custom partitioner
31(1)
Determining the correct number of partitions
32(1)
The distributed log
32(1)
ZooKeeper: leaders, followers, and replication
33(1)
Apache ZooKeeper
33(1)
Electing a controller
34(1)
Replication
34(1)
Controller responsibilities
35(2)
Log management
37(1)
Deleting logs
37(1)
Compacting logs
38(2)
2.4 Sending messages with producers
40(4)
Producer properties
42(1)
Specifying partitions and timestamps
42(1)
Specifying a partition
43(1)
Timestamps in Kafka
43(1)
2.5 Reading messages with consumers
44(5)
Managing offsets
44(2)
Automatic offset commits
46(1)
Manual offset commits
46(1)
Creating the consumer
47(1)
Consumers and partitions
47(1)
Rebalancing
47(1)
Finer-grained consumer assignment
48(1)
Consumer example
48(1)
2.6 Installing and running Kafka
49(8)
Kafka local configuration
49(1)
Running Kafka
50(2)
Sending your first message
52(3)
Part 2 Kafka Streams Development 55(118)
3 Developing Kafka Streams
57(27)
3.1 The Streams Processor API
58(1)
3.2 Hello World for Kafka Streams
58(7)
Creating the topology for the Yelling App
59(4)
Kafka Streams configuration
63(1)
Serde creation
63(2)
3.3 Working with customer data
65(9)
Constructing a topology
66(6)
Creating a custom Serde
72(2)
3.4 Interactive development
74(2)
3.5 Next steps
76(8)
New requirements
76(5)
Writing records outside of Kafka
81(3)
4 Streams and state
84(33)
4.1 Thinking of events
85(1)
Streams need state
86(1)
4.2 Applying stateful operations to Kafka Streams
86(10)
The transformValues processor
87(1)
Stateful customer rewards
88(2)
Initializing the value transformer
90(1)
Mapping the Purchase object to a RewardAccumulator using state
90(4)
Updating the rewards processor
94(2)
4.3 Using state stores for lookups and previously seen data
96(4)
Data locality
96(1)
Failure recovery and fault tolerance
97(1)
Using state stores in Kafka Streams
98(1)
Additional key/value store suppliers
99(1)
StateStore fault tolerance
99(1)
Configuring changelog topics
99(1)
4.4 Joining streams for added insight
100(10)
Data setup
102(1)
Generating keys containing customer IDs to perform joins
103(1)
Constructing the join
104(5)
Other join options
109(1)
4.5 Timestamps in Kafka Streams
110(7)
Provided TimestampExtractor implementations
112(1)
WallclockTimestampExtractor
113(1)
Custom TimestampExtractor
114(1)
Specifying a TimestampExtractor
115(2)
5 The KTable API
117(28)
5.1 The relationship between streams and tables
118(5)
The record stream
118(1)
Updates to records or the changelog
119(3)
Event streams vs. update streams
122(1)
5.2 Record updates and KTable configuration
123(3)
Setting cache buffering size
124(1)
Setting the commit interval
125(1)
5.3 Aggregations and windowing operations
126(19)
Aggregating share volume by industry
127(5)
Windowing operations
132(7)
Joining KStreams and KTables
139(1)
GlobalKTables
140(3)
Queryable state
143(2)
6 The Processor API
145(28)
6.1 The trade-offs of higher-level abstractions vs. more control
146(1)
6.2 Working with sources, processors, and sinks to create a topology
146(6)
Adding a source node
147(1)
Adding a processor node
148(3)
Adding a sink node
151(1)
6.3 Digging deeper into the Processor API with a stock analysis processor
152(7)
The stock-performance processor application
153(4)
The process() method
157(1)
The punctuator execution
158(1)
6.4 The co-group processor
159(11)
Building the co-grouping processor
161(9)
6.5 Integrating the Processor API and the Kafka Streams API
170(3)
Part 3 Administering Kafka Streams 173(42)
7 Monitoring and performance
175(24)
7.1 Basic Kafka monitoring
176(6)
Measuring consumer and producer performance
176(2)
Checking for consumer lag
178(1)
Intercepting the producer and consumer
179(3)
7.2 Application metrics
182(17)
Metrics configuration
184(1)
How to hook into the collected metrics
185(1)
Using JMX
185(4)
Viewing metrics
189(2)
More Kafka Streams debugging techniques
191(1)
Viewing a representation of the application
191(1)
Getting notification on various states of the application
192(1)
Using the StateListener
193(2)
State restore listener
195(3)
Uncaught exception handler
198(1)
8 Testing a Kafka Streams application
199(16)
8.1 Testing a topology
201(7)
Building the test
202(2)
Testing a state store in the topology
204(1)
Testing processors and transformers
205(3)
8.2 Integration testing
208(9)
Building an integration test
209(6)
Part 4 Advanced Concepts With Kafka Streams 215(30)
9 Advanced applications with Kafka Streams
217(28)
9.1 Integrating Kafka with other data sources
218(8)
Using Kafka Connect to integrate data
219(1)
Setting up Kafka Connect
219(3)
Transforming data
222(4)
9.2 Kicking your database to the curb
226(11)
How interactive queries work
228(1)
Distributing state stores
229(1)
Setting up and discovering a distributed state store
230(2)
Coding interactive queries
232(2)
Inside the query server
234(3)
9.3 KSQL
237(8)
KSQL streams and tables
238(1)
KSQL architecture
238(2)
Installing and running KSQL
240(1)
Creating a KSQL stream
241(1)
Writing a KSQL query
242(1)
Creating a KSQL table
243(1)
Configuring KSQL
244(1)
Appendix A Additional Configuration Information 245(6)
Appendix B Exactly Once Semantics 251(2)
Index 253
Bill Bejeck is a Kafka Streams contributor with over 13 years of software development experience. With 6 years working exclusively on the back-end and large data volumes, Bill currently uses Kafka to improve data flow to downstream customers.