Current situation or problem:
Systems outside of mod-circulation-storage and mod-circulation may have a requirement to react to changes in loan and request records or the creation of a new check-in record. We need to publish messages to a Kafka queue to which these modules can subscribe.
- Add Kafka dependency to mod-circulation-storage
- Add Kafka producers for loan-storage, request-storage and check-in-storage
- CREATE, UPDATE, DELETE events
Out of scope
- Kafka consumers
- mod-inn-reach needs to react to new loans, renewal of existing loans, and closing of existing loans
- mod-inn-reach needs to react to updates to existing requests (cancellation, move)
- Follow proposed solution for eventual consistency of duplicated data from Raman Auramau: https://wiki.folio.org/display/DD/Eventual+consistency+for+duplicated+data
- Folijet has created a utility called Kafka wrapper (see comment at link above)
Links to additional info
If initial consumers don't need some event types (eg. DELETE, DELETE_ALL, do we want to support them initially?