This document outlines 10 principles for effective event-driven microservices using Kafka as the backbone:
1. Don't use Kafka for request/response and shopping carts, but for event streaming of business events.
2. Pick topics that have business significance like orders and payments.
3. Decouple publishers and subscribers and only use request/response where needed.
4. Use the Kafka log to regenerate state instead of journaling events.
5. Apply the single writer principle by changing data at the source service.
6. Leverage keeping datasets like reference data within the Kafka broker.
7. Prefer stream processing over maintaining historical views.
8. Sometimes historical views are needed, so
Related topics: