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
