...
Page Properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Note | ||
---|---|---|
| ||
This decision has been migrated to the Technical Council's Decision Log as part of a consolidation effort. See: DR-000006 - Apache Kafka Usage in Inventory Storage |
Background
Apache Kafka should be used directly in inventory-storage for implementation of domain event pattern, which is needed for both remote-storage integration and new search module. This direct usage of Apache Kafka should be considered as a special case, as it was for data-import. Also it is special case, that storage module use more than one data storage. However, Kafka is used here not for data storage, but for event provision for interaction between modules. Also it least forFor search module , the performance is significant. Kafka partitioning provide system with out-of-the-box mechanism for scaling out modules if there is a high-load.
It will be one fault tolerant solution for sending notification to other applications, when data is changed in inventory-storage. This notifications allow us to make business logic segregation and avoid implementation of not related business logic in inventory module:
...