Change Data Streaming For Spring Boot With Apache Kafka and Debezium by Alex Soto @ Spring I/O 2022

  Рет қаралды 7,933

Spring I/O

Spring I/O

Күн бұрын

Spring I/O 2022 - Barcelona, 26-27 May
Slides: bit.ly/debeziu...
Apache Kafka is a highly popular option for asynchronous event propagation between microservices. Things get challenging though when adding a service’s database to the picture: How can you avoid inconsistencies between Kafka and the database?
Enter change data capture (CDC) and Debezium. By capturing changes from the log files of the database, Debezium gives you both reliable and consistent inter-service messaging via Kafka and instant read-your-own-write semantics for services themselves.
In this session you’ll see how to leverage CDC for reliable microservices integration, e.g. using the outbox pattern, as well as many other CDC applications, such as maintaining audit logs, automatically keeping your full-text search index in sync, and driving streaming queries. We’ll also discuss practical matters, e.g. HA set-ups, best practices for running Debezium in production on and off Kubernetes, and the many use cases enabled by Kafka Connect’s single message transformations.

Пікірлер: 2
@SleePokeR
@SleePokeR 2 жыл бұрын
Thanks! That was interesting. I didn't work with Kafka, so wanted to ask: I don't see how we actually solve the problem of inconcistent state of the system with kafka, that was mentioned at the very beginning? Without Kafka we save to DB (DB consistent) and send two http requests and for example second request fails (we can update DB at least with some status). With Kafka we can get basically the same situation. We save to DB (DB consistent) and generate two event messages. One will be processed, the second errors. Basically the same situation. THe only difference I could see here is that kafka supports acknowledgment, message persistence, etc. (you mentioned fault tolerance by default) and this message will be retried and reproccessed after all, so we don''t have to create our custom jobs to check DB. So as I said, maybe it's just a better way to address this issue, but I don't see, how we solve it completely. Do I miss something here?
@smokelordo
@smokelordo Жыл бұрын
Will an additional latency be introduced when relying on Debezium instead of directly publishing to Kafka?
Kluster Duo #настольныеигры #boardgames #игры #games #настолки #настольные_игры
00:47
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 11 МЛН
Debezium - Capturing Data the Instant it Happens (with Gunnar Morling)
1:02:47
Change Data Capture for Microservices
50:46
InfoQ
Рет қаралды 3,6 М.
Spring Cloud Stream with Kafka Binder
24:48
Himanshu Sharma
Рет қаралды 9 М.
Microservices & Data: Implementing the Outbox Pattern with Debezium
10:56
Apache Kafka and Debezium | DevNation Tech Talk
30:58
Red Hat Developer
Рет қаралды 22 М.
Kluster Duo #настольныеигры #boardgames #игры #games #настолки #настольные_игры
00:47