Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a...

22
Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure Anamarija Talijanac, Irena Kezić IBM Services 13 th May, 2019

Transcript of Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a...

Page 1: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure

Anamarija Talijanac, Irena KezićIBM Services13th May, 2019

Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure

Anamarija Talijanac, Irena KezićIBM Services13th May, 2019

Page 2: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

• Kafka basics• Kafka Use Cases• Java Connector Architecture• Distributed messaging challenges• Reliable Kafka Processing• IBM Event Streams

Agenda

© 2019 IBM Corporation

Page 3: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Architectural overview

© 2019 IBM Corporation

Page 4: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Architectural overview

© 2019 IBM Corporation

Page 5: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Kafka basics

HIGH THROUGHPUT

DURABILITY RELIABILITY SCALABILITY

© 2019 IBM Corporation

Page 6: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Kafka basics

6

• Cluster / Broker• Topic / Partition• Producer / Consumer

© 2019 IBM Corporation

Page 7: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Kafka Use Cases

7

• Activity tracking• Commit Log• Metrics and Logging• Unit of Order• Stream processing

© 2019 IBM Corporation

Page 8: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Java Connector Architecture

© 2019 IBM Corporation

Page 9: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

• The Java EE standard for integrating application servers with EIS.• Unified common client interface for heterogeneous resource providers

Java Connector Architecture

© 2019 IBM Corporation

Page 10: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

• Lifecycle management Contract• Work management Contract• Connection Management Contract• Transaction Management Contract• Security Contract• Transaction Inflow Contract• Message Inflow Contract• Generic Context Contract

Java Connector Architecture

© 2019 IBM Corporation

Page 11: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

EXACTLY ONCE DELIVERY

GUARANTEED ORDER OF MESSAGES

RELIABLE MESSAGING

Distributed messagingchallenges

© 2019 IBM Corporation

Page 12: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

BEGIN TRANSACTION

CONSUME MESSAGE FROM KAFKA TOPIC

INSERT ROW INTO TARGET DATABASE

COMMIT TRANSACTION

XA with Kafka

© 2019 IBM Corporation

Page 13: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 14: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 15: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 16: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 17: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 18: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 19: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Reliable Kafka Processing

© 2019 IBM Corporation

Page 20: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

IBM Event Streams

• IBM has years of operational expertise running Apache Kafka for Enterprises

• Event Streams makes Kafka easy to run, manage & consume, reducing skill requirements and raising speed of deployment for faster time to value

• Support you can Trust – IBM has decades of experience supporting the World’s toughest environments

© 2019 IBM Corporation

Page 21: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

Q&A

© 2019 IBM Corporation

[email protected]@hr.ibm.com

Page 22: Kafka Messaging JavaCro2019 IBM pdfv · Integrating Kafka with Enterprise Java for establishing a high performant distributed messaging infrastructure AnamarijaTalijanac, Irena Kezić

IBM Event StreamsVisualisation of your topic

data

Tools to boost productivity