Eberhard Wolff about Kafka Patterns and Anti-Patterns
Kafka has become one of the main drivers for event-oriented APIs and systems and ecosystems using that style. Kafka is a reliable and highly scalable tool that as an additional feature has the ability to store all messages indefinitely. This allows certain patterns such as event sourcing to be based on Kafka relatively easily.
Eberhard Wolff explains why this ability of Kafka (or similar message-oriented systems) may lead to unfortunate design decisions. It may cause the messaging system to become the new centralized database, where all events are centrally stored and managed. This means that implementations using it that way violate encapsulation constraints which say that components should not expose (parts of) their implementation to the outside.
Instead, a better model of using messaging systems like Kafka is to not treat them as part of the implementation of components, but instead to treat them strictly as communications infrastructure. At the very least, even when they are used as part of component implementations, then the models that these components do store should be treated as private data instead of exposing those implementation details.
The original video by Eberhard Wolff: https://www.youtube.com/watch?v=RCHZ6oCNZvU
Видео Eberhard Wolff about Kafka Patterns and Anti-Patterns канала Erik Wilde
Eberhard Wolff explains why this ability of Kafka (or similar message-oriented systems) may lead to unfortunate design decisions. It may cause the messaging system to become the new centralized database, where all events are centrally stored and managed. This means that implementations using it that way violate encapsulation constraints which say that components should not expose (parts of) their implementation to the outside.
Instead, a better model of using messaging systems like Kafka is to not treat them as part of the implementation of components, but instead to treat them strictly as communications infrastructure. At the very least, even when they are used as part of component implementations, then the models that these components do store should be treated as private data instead of exposing those implementation details.
The original video by Eberhard Wolff: https://www.youtube.com/watch?v=RCHZ6oCNZvU
Видео Eberhard Wolff about Kafka Patterns and Anti-Patterns канала Erik Wilde
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![What are Webhooks? What does it take to support Webhooks?](https://i.ytimg.com/vi/8uuubKUjjBY/default.jpg)
![Microservices Design Pattern - When to use Kafka and REST? | Tech Primers](https://i.ytimg.com/vi/13p483nnwHo/default.jpg)
![Build an event-driven orchestration with Eventarc and Workflows](https://i.ytimg.com/vi/2SI12QE-2DU/default.jpg)
![Apache Kafka® 101: Introduction](https://i.ytimg.com/vi/qu96DFXtbG4/default.jpg)
![Why I love Logstash and you should too](https://i.ytimg.com/vi/mfb0R7azKZc/default.jpg)
![3. Apache Kafka Fundamentals | Apache Kafka® Fundamentals](https://i.ytimg.com/vi/B5j3uNBH8X4/default.jpg)
![Powering Microservices with Docker, Kubernetes, Kafka and MongoDB](https://i.ytimg.com/vi/F_BuRIAnvqE/default.jpg)
![Difference Between Software Architecture and Software Design | Scott Duffy](https://i.ytimg.com/vi/i7aKW7YNOxY/default.jpg)
![Building Event Driven Services with Apache Kafka and Kafka Streams by Ben Stopford](https://i.ytimg.com/vi/p9wcx3aTjuo/default.jpg)
![Building event sourced systems with Kafka Streams (Amitay Horwitz, Israel)](https://i.ytimg.com/vi/b17l7LvrTco/default.jpg)
![Apache Kafka Transactions: Message Delivery and Exactly-Once Semantics](https://i.ytimg.com/vi/Ki2D2o9aVl8/default.jpg)
![Kafka Streams 101: Time Concepts](https://i.ytimg.com/vi/QHBkbDKFnIM/default.jpg)
![Apache Kafka® 101: Topics](https://i.ytimg.com/vi/kj9JH3ZdsBQ/default.jpg)
![Improve Your API Documentation with this Checklist](https://i.ytimg.com/vi/J2DDMPvwM7g/default.jpg)
![API Security Trends: Securing Large API Landscapes](https://i.ytimg.com/vi/QEd1pQReKyI/default.jpg)
![Design Patterns: Why Event Sourcing?](https://i.ytimg.com/vi/rUDN40rdly8/default.jpg)
![A Brief History of HTTP: How HTTP Evolved](https://i.ytimg.com/vi/z7x2Qk0j3rk/default.jpg)
![Microservices Anti-Patterns](https://i.ytimg.com/vi/I56HzTKvZKc/default.jpg)
![Apache Kafka UI Tools Overview ( Conduktor, Control Center, Kafdrop)](https://i.ytimg.com/vi/JWu33wDT1kk/default.jpg)
![KonferenSE:20 • Jesper Pipping: Snow; rain; gloom of night: Transactional kafka messaging](https://i.ytimg.com/vi/7YXg-HMRmQc/default.jpg)