Тёмный

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

Spring I/O
Подписаться 32 тыс.
Просмотров 7 тыс.
50% 1

Spring I/O 2022 - Barcelona, 26-27 May
Slides: bit.ly/debeziumspring
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.

Наука

Опубликовано:

 

10 июл 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 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?
Далее
Лайфхак с колой не рабочий
00:16
Просмотров 168 тыс.
Осторожно селеба идет 😂
00:16
Просмотров 166 тыс.
КАКОЙ У ТЕБЯ ЛЮБИМЫЙ МАРМЕЛАД?
00:40