Today Nuxeo mqueues is an addon with 2 modules:
- a pure java lib: nuxeo-mqueues-core
- some Nuxeo contributions: nuxeo-mqueues-contrib
and it requires a marketplace (marketplace-mqueues) to install all the dependencies.
To integrate this by default the code needs to be moved to the low-level nuxeo-runtime.
Also it is a good time for a renaming, MQueues comes from the first impl which was just an array of java queue structure: a multi queues.
The actual impl is a log based message broker on wich you can build different patterns including stream processing, we can rename it into stream
because it is a bigger buzzword than paritionned log.
The integration layout could be:
- nuxeo-runtime/nuxeo-stream: the pure java lib, may be with only the computation pattern
- nuxeo-runtime/nuxeo-runtime-stream: the Nuxeo service
- nuxeo-core/nuxeo-core-event: the workmanager impl
- nuxeo-features/nuxeo-platform-audit: the audit listener and bulker impl
- nuxeo-distribution: new templates:
- kafka: define kafka access and properties
- stream: stream configurations
- stream-workmanager: to enable the workmanager impl
- stream-audit: to enable the audit listener/bulker impl
- addons/nuxeo-stream-importer: the automation importer (including the producer consumer pattern)
The target is to have partlog-audit by default in 9.3