On Wed, 2016-02-24 at 16:32 -0500, Ted Ross wrote:
> Regarding the distributed/sharded cases...
> 
> I prefer a syntax that allows a list of containers/connections on a 
> single route.  The issue with that is that adding and removing 
> containers (a common use case) is not well supported.

I agree, I didn't get it in my first draft because I decided I needed
to stop tweaking and get some feedback :)

> Here's a possible solution:
> 
> When creating a route, provide an initial list of
> containers/connections 
> to be used.  This list cannot be directly updated via management.
> 
> Add the following methods on the "route" entity to manage the
> container 
> list:
> 
> ADD_CONTAINER
> Expands the capacity by adding a container to the list.
> 
> REMOVE_CONTAINER_CLEAN
> Cleanly removes a container from the list by first quiescing its
> traffic 
> then removing it.  Quiescing involves stopping the forwarding of new 
> messages to the node-on-container and/or waiting for it to be
> drained. 
> This ensures that no messages are lost in the transition.
> 
> REMOVE_CONTAINER_HARD
> Remove the container without quiescing.

I was thinking about adding "external-container". There are a bunch of
behaviours you might want to mix and match. It is analogous to how we
use named connectors now but it could contain a connector and/or a
listener and it could require the connected container to have a
specific ID (or pattern match?) or simply accept whatever connects.
That would cover our existing cases and the "listen for specific
container" case uniformly.


> On 02/24/2016 04:06 PM, Ted Ross wrote:
> <SNIP>
> > Distributed (sharded) queue waypoint:
> > 
> >      route {
> >          address: my_queue
> >          type: waypoint
> >          container: <broker-1-container-id>
> >      }
> >      route {
> >          address: my_queue
> >          type: waypoint
> >          container: <broker-2-container-id>
> >      }
> > 
> > 
> > Distributed (sharded) topic waypoint:
> > 
> >      route {
> >          address: my_topic
> >          type: waypoint
> >          inTreatment: multicast
> >          outTreatment: linkBalanced
> >          container: <broker-1-container-id>
> >      }
> >      route {
> >          address: my_topic
> >          type: waypoint
> >          inTreatment: multicast
> >          outTreatment: linkBalanced
> >          container: <broker-2-container-id>
> >      }
> <SNIP>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to