Hi Asanka, The required queue/binding/exchange related data will be loaded once the previously passive node is notified of becoming the active node.
This is considering the possibility of inconsistencies in a continuous sync, which could also require reloading on becoming the active node. Thank you, Maryam On Mon, Jan 15, 2018 at 8:14 AM, Asanka Abeyweera <[email protected]> wrote: > Hi Maryam, > > Are we keeping the passive node in sync with the active node or are we > reloading context and message data when a passive node becomes active? > > On Fri, Jan 12, 2018 at 6:46 PM, Maryam Ziyad <[email protected]> wrote: > >> Hi All, >> >> As mentioned, an extensible point "org.wso2.broker.coordination.HaStrategy" >> has been introduced, which can be implemented to provide variations upon >> which HA support will be based. >> >> Any new/custom implementation would have to notify the listeners >> listening on node state changes (when a node state changes from active to >> passive or passive to active). >> >> Currently the modules listening on state changes are as follows: >> >> - broker-core >> - broker-transport >> - broker-rest-runner >> >> All nodes will start up in "passive" mode, and only change state to >> "active" on notification by the HA strategy. This requires that the >> listeners are registered prior to starting the HA strategy (identification >> of the active node). >> >> >> *Default RDBMS Coordinator Election based HA Strategy * >> >> With the default HA strategy (RdbmsHaStrategy - implemented based on the >> RDBMS based coordinator election approach [1]), the possible coordination >> node states are mapped to active/passive as follows: >> >> - COORDINATOR - Active >> - CANDIDATE - Passive >> - ELECTION - Passive >> >> Thus notification of the HA listeners happens when: >> >> - election is triggered and the node was previously the coordinator >> node (active → passive) >> - election resulted in the node becoming the coordinator node >> (passive → active) >> >> [1] https://github.com/wso2/message-broker/pull/74 >> >> Feedback/suggestions would be highly appreciated. >> >> Thank you, >> Maryam >> >> On Fri, Jan 12, 2018 at 6:41 PM, Maryam Ziyad <[email protected]> wrote: >> >>> Hi Asanka, >>> >>> Renamed "haConfig" to "failover" based on the offline discussion. >>> >>> Thank you, >>> Maryam >>> >>> On Tue, Dec 19, 2017 at 7:05 PM, Asanka Abeyweera <[email protected]> >>> wrote: >>> >>>> Hi Maryam, >>>> >>>> Shall we rename the "haConfig" to "ha-clustering"? I'm not sure if we >>>> should use camel case in the yaml config. >>>> >>>> On Tue, Dec 19, 2017 at 4:42 PM, Maryam Ziyad <[email protected]> wrote: >>>> >>>>> Hi All, >>>>> >>>>> We are currently working on introducing $subject [1]. Please find >>>>> below a high level description of the approach. >>>>> >>>>> An extension point (HaStrategy) will be introduced, allowing >>>>> straightforward introduction of different implementations of >>>>> identification >>>>> of the active node, where the only requirements would be that these >>>>> approaches extend the common class and invoke particular methods when the >>>>> node state changes. >>>>> >>>>> The broker-core and broker-transport (broker-amqp) modules would >>>>> introduce listeners to receive notifications of node states changes >>>>> (active/passive), and change behaviour accordingly. >>>>> >>>>> >>>>> >>>>> >>>>> *Configuration* >>>>> >>>>> The HA related configuration would be specified in the broker.yaml >>>>> file including whether HA is enabled and the HA strategy to use. >>>>> >>>>> haConfig: >>>>> enabled: true >>>>> strategy: org.wso2.broker.coordination.rdbms.RdbmsHaStrategy >>>>> >>>>> >>>>> The basic/initial HA strategy implementation will be the >>>>> RdbmsHaStrategy based on the RDBMS based coordinator election approach >>>>> previously introduced for MB 3.2.0. [2, 3]. If HA enabled is set to true >>>>> but no strategy is specified, the RdbmsHaStrategy will be used. >>>>> >>>>> >>>>> *RDBMS Coordinator Election based HA Strategy (RdbmsHaStrategy)* >>>>> >>>>> The RDBMS based coordinator election algorithm would be extended to >>>>> provide HA support, by specifying the node elected as coordinator to >>>>> always >>>>> be the active node, while the other node(s) will be considered passive. >>>>> The >>>>> RDBMS coordinator election based approach, which would also be the default >>>>> HA strategy, would require the nodes in the HA group to share the same >>>>> database. All MB nodes pointing to this shared database will be considered >>>>> as MBs belonging to the same group, and at any given point only one of the >>>>> nodes will be considered active. >>>>> >>>>> Feedback on the approach would be highly appreciated. >>>>> >>>>> [1] https://github.com/wso2/message- >>>>> <https://github.com/wso2/message-broker/issues/87>*when* >>>>> broker/issues/87 <https://github.com/wso2/message-broker/issues/87> >>>>> [2] Mail: "[Architecture] RDBMS based coordinator election algorithm >>>>> for MB" >>>>> [3] https://github.com/wso2/andes/pullwhen/668 >>>>> <https://github.com/wso2/andes/pull/668> >>>>> >>>>> Thank you, >>>>> Maryam >>>>> >>>>> -- >>>>> *Maryam Ziyad Mohamed* >>>>> Software Engineer | WSO2 >>>>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> Asanka Abeyweera >>>> Associate Technical Lead >>>> WSO2 Inc. >>>> >>>> Phone: +94 712228648 <+94%2071%20222%208648> >>>> Blog: a5anka.github.io >>>> >>>> <https://wso2.com/signature> >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> *Maryam Ziyad Mohamed* >>> Software Engineer | WSO2 >>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>> >> >> >> >> -- >> *Maryam Ziyad Mohamed* >> Software Engineer | WSO2 >> [image: http://wso2.com/signature] <http://wso2.com/signature> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Asanka Abeyweera > Associate Technical Lead > WSO2 Inc. > > Phone: +94 712228648 <+94%2071%20222%208648> > Blog: a5anka.github.io > > <https://wso2.com/signature> > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- *Maryam Ziyad Mohamed* Software Engineer | WSO2 [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
