This page last changed on Nov 13, 2009 by juha.

In addition to the security implementation, we are adding the first rudimentary pieces of high availability implementation into OpenRemote Boss.

At the moment, fail-over can be managed with a relatively straight-forward node switch. The controller is stateless (or has cached state which can be re-created from original sources) and therefore no group communication between the controller instances is required (i.e. no state synchronization)

The protocol between panels and controller has no session state, the requests are stateless with context in parameters or as part of REST URL where necessary.

In this case the fail-over on the client side can be managed fairly transparently (in terms of state). When/if requests fail, they can be re-attempted on another IP address hosting a backup controller.

The client implementation (iPhone, Android phone, other software integrating with controller) is a round-robin of available IP addresses in the simple case. For this purpose the client application and controller discovery will need to modified to deal with multiple controller IP addresses. Where discovery is not available, multiple IP addresses can be configured on the client (pure web console is a special case here and must be dealt with separately).

This implementation does not deal with dynamic cluster group formation. If the clustered controller group is modified, a re-discovery on the panel software must be triggered. In that sense, the cluster group definition is still "static" compared to some other cluster implementations you may be familiar with.

Document generated by Confluence on Jun 05, 2016 09:31