Each system can produce data, consume data or both.
Integrating between systems becomes a must.
If system A produces data, and System B & C needs this data, you will have to integrate A +B , then A+C.
Integrating systems costs a lot with this way ( i mean two by two).
- Imagine you have 4 tools, the number of possible integration between every two is : C(4,2) = 6
- Imagine you have 10 tools, the number of possible integration between every two is : C(10,2) = 45
Note: C(n,k) is a maths formula, check it here: https://www.calculatorsoup.com/calculators/discretemathematics/combinations.php
Kafka comes to avoid all these integration. Instead of integrating two by two, you just need to put Kafka as centralized place for Data Streaming : Data producers ( systems which produces data) need to report their data to Kafka & Data consumers ( systems which needs this data) they just need to subscribe to Kafka ( e.g Kafka topics,… so on)