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]