Hi all,

Im working on Making the tenants subscription to stratos environments fault
tolerant [1]

This has been discussed in mail thread with subject  - "[Architecture] [AF]
Tenant subscribing to stratos environments - making it fault tolerant"

*Issue*

*====*

There are some possible failure points in AF, hence in App Cloud. One such
critical point is making the tenants subscribed to the dev, test and prod
stratos environments. Due to any reason, if this step fails, then, thats
the end of story for that tenant.


Actually in appfactory tenant creation,

When a tenant creation request is made, appfactory sends  REST calls to
stratos environments (dev,prod,test) to create tenants. At the moment there
is no way to overcome a situation where tenant creation fails in one or
more stratos environments.

*Proposal*

*=======*

Here what I'm going to do is, integrate WSO2 Message Broker to take tenant
creation requests to a durable topic and manipulate the process in a fault
tolerant manner. The durable topic will keep messages around persistently
for any suitable consumer to consume them.


Appfactory will have a publisher who publishes messages in the topic inside
MB when a tenant creation is requested.


There will be a subscriber for each stratos environment who is listening to
above topic(create_teanant). If subscription is successfull then subscriber
will acknowledge to MB and MB will not send that particular request to same
subscriber again. If subscription got failed subscriber will not ack. and
MB will take care of sending that request until it becomes successful.


At the moment we have 3 stratos environments therefore we will have 3
subscribers listening to that particular topic(create_teanant) in MB. In a
case of AF having more stratos environments in future, it is possible to
add more subscribers. Durable topic subscribers[2] will be used here since
it will persist the subscription on behalf of the client subscription when
client is not online.


This step is not synchronous therefore  above changes will not effect the
tenant creation flow.


*Architectural diagram *

*=================*

Architectural diagram can be found in [3]



​


[1] - https://wso2.org/jira/browse/APPFAC-2436

[2] -
https://docs.wso2.com/display/MB220/Creating+a+Durable+Topic+Subscription

[3] -
https://docs.google.com/a/wso2.com/drawings/d/15CmM3rCTwjUUu4V6lp2WX32nRzufraDXawALNYIoTek/edit

-- 
*Mahesh Chinthaka Vidanagama* | Software Engineer
WSO2, Inc | lean. enterprise. middleware.
#20, Palm Grove, Colombo 03, Sri Lanka
Mobile: +94 71 63 63 083 | Work: +94 112 145 345
Email: [email protected] | Web: www.wso2.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to