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