Hi Asanka,

We are embedding MB components into APIM and for minimum HA in API Manager,
there will be two active nodes. So will MB components/features decide which
node should be active and passive based on start up order initially?

Also, are you expecting a client to send messages to both nodes (multi
cast) and passive MB nodes will reject them? Because in API Manager
perspective both node as active, so there could be a chance to configure a
gateway with active MB node as failover node.

On Thu, Aug 17, 2017 at 4:45 PM, Asanka Abeyweera <asank...@wso2.com> wrote:

> Hi all,
>
> I am working on implementing active-passive clustering on top of the new
> MB4 architecture. Current message delivery implementation in MB4 is not
> capable to work in a multi-node environment. If we run more than one node
> concurrently, messages can be duplicated since all nodes start delivering
> messages available for a queue in the message store. We have to make the
> MB4 nodes cluster aware to rectify this behavior.
> High-level design
>
> We are planning to use the available RDBMS leader election mechanism to
> decide on the active node. All the non-leader nodes will be passive nodes
> and will reject all incoming requests. The clients should be configured
> with failover URLs so that they can failover to the active node from
> passive nodes.
>
> Tasks to do when the active node becomes passive
>
>    1.
>
>    Enable rejecting all requests to broker node except the CLOSE-OK
>    2.
>
>    Close existing AMQ connections (both publishing and consuming)
>
>
> Tasks to do when the passive node becomes active
>
>    1.
>
>    Start accepting all requests to broker node
>
>
> The assumption here is the active components like the Inbound disruptor,
> outbound disruptor, delivery task managers will stop working (consuming
> resources) when the incoming requests are stopped and subscriptions are
> removed in passive nodes.
>
>
>
>    -
>
>    Filtering message events will be handled by ā€œInboundEventGatekeeperā€.
>    -
>
>    DeliveryHandler will also be modified to stop delivering messages when
>    a node becomes passive.
>    -
>
>    All the connections will be closed using the server connection registry
>
>
> Suggestions and feedback are appreciated.
>
> --
> Asanka Abeyweera
> Senior Software Engineer
> WSO2 Inc.
>
> Phone: +94 712228648 <+94%2071%20222%208648>
> Blog: a5anka.github.io
>
> <https://wso2.com/signature>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Thanks
Abimaran Kugathasan
Senior Software Engineer - API Technologies

Email : abima...@wso2.com
Mobile : +94 773922820

<http://stackoverflow.com/users/515034>
<http://lk.linkedin.com/in/abimaran>  <http://www.lkabimaran.blogspot.com/>
<https://github.com/abimarank>  <https://twitter.com/abimaran>
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to