Date: 2022-05-0711
Status - DRAFT
Impact - HIGH
RFC - Link to the relevant RFC's
Contributors
...
- N/A
Other Documents
Contributors
Approvers
- TBD
Background/Context
Explain the need that triggered the need for having a streaming platform
Assumptions
List all assumption that were made when making the decision
Constraints
List any constraints that lead us to make a certain decision
Decision
Implications
...
- Provide a link to RFC if applicable
...
As this decision is being documented after the fact, this section describes the discovered history of the decision rather than the background to the decision point.
Kafka was first introduced to support a publish subscribe mechanism in FOLIO. At this point, Kafka was intended to be private to this mechanism to allow for substitution with other tooling without broad impact.
Kafka became general use when Data Import was changed to use it directly in order to improve reliability and a centralized search mechanism was introduced to provide a better inventory search experience.
Assumptions
Unknown
Constraints
Unknown
Decision
Kafka is an official infrastructure component of the FOLIO platform
Implications
- Pros
- Alternative integration approach to HTTP APIs
- Cons
- Additional infrastructure component required for hosting providers to operate
- Dependency on third party tooling (much like PostgreSQL and Elastic Search)
- Increased operational complexity e.g. monitoring