Hi Shaheed,

Thanks for bringing this up. According to my knowledge currently we do not
have a guide for enabling High Availability for Stratos. I will start
preparing one so that everyone could contribute.

If we consider the set of products we may use in Stratos:

*1. Stratos Core (Stratos Manager, Autoscaler, Cloud Controller)*
Stratos core products use Carbon registry for managing their state and
registry could be persisted by a given RDBMS. Therefore we could enable HA
for Stratos core products by enabling HA for the connected RDBMS and
running multiple instances of each product in Master-Slave mode using
Linux-HA [1].

As I know currently we cannot run Autoscaler in Master-Master mode since
the auto-scaling decision making process is not designed to run in a
distributed environment.

*2. Message Broker (ActiveMQ*)
ActiveMQ supports HA in three different ways [2]:
   a) Shared File System Master Slave
   b) JDBC Master Slave
   c) Replicated LevelDB Store

*3. Complex Event Processor (CEP)*
There are two methods for enabling HA in CEP [3]:
    a) Distributed Cache Mode Deployment
    b) Persistence Mode Deployment

*4. Business Activity Monitor (BAM)*
There are two methods for enabling HA in BAM [4]:
    a) Partially Distributed
    b) Fully Distributed

*5. Stratos Load Balancer*
Stratos load balancer use Synapse for implementing session affinity and
currently Synapse does not support distributed session management.
Therefore we could run Stratos load balancer in a distributed environment
but without having session affinity support.


[1] http://www.linux-ha.org/doc/users-guide/users-guide.html
[2] http://activemq.apache.org/masterslave.html
[3] https://docs.wso2.org/display/CLUSTER420/Clustering+CEP
[4]
https://docs.wso2.org/display/CLUSTER420/Clustering+Business+Activity+Monitor


Thanks
Imesh


On Mon, Apr 7, 2014 at 9:43 PM, Shaheedur Haque (shahhaqu) <
[email protected]> wrote:

>  Hi all,
>
>
>
> Separate but related to the thread on "Separating Read-Only files from
> Read-Write?<http://mail-archives.apache.org/mod_mbox/incubator-stratos-dev/201404.mbox/%3C6899B95749E44F43BF2128D9A4FD000CF67476%40xmb-rcd-x09.cisco.com%3E>"
> is the question of how to configure High Availability (HA) for Stratos. My
> assumption is that something like the following steps are needed:
>
> 1.       Configure MySQL as a cluster of some kind, or active-active, or
> active-standby pair
>
> 2.       Configure Cassandra as a cluster of some kind, or active-active,
> or active-standby pair
>
> 3.       Configure Stratos (MB, CEP, AS, CC and maybe BAM) to use the
> above
>
>  Is there a configuration guide as to how to do this?
>
>  Thanks, Shaheed
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PPMC Member, Apache Stratos

Reply via email to