Hi all, We have decided to change the default deployment configurations with the HA active passive implementation[1], We now have two options for "deployment/mode" [2][3]. They are,
- standalone - This is the simplest mode a broker can be started. The node will assume that message store is not shared with another node. Therefore it will not try to coordinate with other nodes (possibly non-existent) to provide HA. This is the *default* configuration used. - clustered - Broker node will run in HA mode (active/passive). WDYT? [1] https://github.com/wso2/andes/pull/921 [2] https://github.com/wso2/andes/pull/923 [3] https://github.com/wso2/carbon-business-messaging/pull/585 On Fri, Aug 18, 2017 at 3:32 PM, Asanka Abeyweera <asank...@wso2.com> wrote: > Hi Abimaran, > > On Fri, Aug 18, 2017 at 2:44 PM, Abimaran Kugathasan <abima...@wso2.com> > wrote: > >> 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? >> > > Yes, the MB component will decide on the active node. > > >> >> 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. >> > > No, the clients don't have to publish messages to both node. You can > configure the broker URL with failover options. If the client connects to > the passive node first it will get rejected and try to connect to the > second node in the broker list. After connecting to the active node clients > can resume publishing messages. Therefore it will not be an issue even if > you connect to the pssive node first. > > WDYT? > > >> 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 <+94%2077%20392%202820> >> >> <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 >> >> > > > -- > Asanka Abeyweera > Senior Software Engineer > WSO2 Inc. > > Phone: +94 712228648 <+94%2071%20222%208648> > Blog: a5anka.github.io > > <https://wso2.com/signature> > -- Asanka Abeyweera Associate Technical Lead WSO2 Inc. Phone: +94 712228648 Blog: a5anka.github.io <https://wso2.com/signature>
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture