Following up on this thread, I just created this PR to propose an SPI approach 
for making OW internal components pluggable, with examples of db + messaging 
(using existing impls as defaults so no change in functionality). This does NOT 
address any potential class path changes to include additional/alternate impls, 
it is ONLY the support for loading the impls, so that classpath can be changed 
in the future. Some description of the model and discussion of classpath 
modification options is included in the docs/spi.md file.

https://github.com/apache/incubator-openwhisk/pull/2414

It has evolved in various ways from my original proposal, but hopefully a 
usable example will be a better demonstration of the approach.

Thanks in advance for feedback.

Tyson


On Jun 14, 2017, at 6:43 AM, Rodric Rabbah 
<rod...@gmail.com<mailto:rod...@gmail.com>> wrote:

I saw that class and I just wanted to check if a contribution would be
accepted eventually.

We are generally tending toward a model where the components are all
deployment time configurable so that one can tailor the architecture to use
or experiment with different technology. The datastore has an abstract
interface, the message bus producer and consumer also has an abstract
interface, we recently refactor the interface to the container pool
management, and there's ongoing discussion about logging and tracing in the
same way. These abstractions were intended to allow for experimentation and
with the right model for plugins, I think we can address the increasing
interest we are observing in making the architecture adaptable in several
ways.

On the message bus, Kafka makes sense because it offers low latency
messaging and offers persistence of the activation requests. That said, I
expect this is will be an area of continued interest as it has implication
for the load balancing and scheduling.

-r

Reply via email to