Hi all, Thanks for the feedback. I'm working on the the topic subscription method and seems working fine.
Thanks, Roshan Deniyage Associate Technical Lead WSO2, Inc: http://wso2.com Mobile : +94 777636406 Twitter : *https://twitter.com/roshku <https://twitter.com/roshku>* LinkedIn : https://www.linkedin.com/in/roshandeniyage On Sun, Oct 12, 2014 at 6:39 PM, Lakmal Warusawithana <[email protected]> wrote: > Hi DImuthu, > > On Sat, Oct 11, 2014 at 9:56 PM, Dimuthu Leelarathne <[email protected]> > wrote: > >> Hi Lakmal, >> >> Why is polling better than having a Topology listener? >> > > Ok, I did not notice its polling. But what I thought is getting it from > rest API is better than custom extending, but if it required then its ok. > > >> >> thanks, >> dimuthu >> >> On Fri, Oct 10, 2014 at 10:18 AM, Lakmal Warusawithana <[email protected]> >> wrote: >> >>> Hi Roshan, >>> >>> On Thu, Oct 9, 2014 at 10:12 PM, Roshan Deniyage <[email protected]> >>> wrote: >>> >>>> * Adding the missing images.* >>>> >>>> Hi All, >>>> >>>> Currently I’m working with php application type support for wso2 >>>> appfactory product. The scenario is as follows, >>>> >>>> Multi-Tenant Cartridge Case >>>> >>>> The existing supported application types (ex: java web application) >>>> work with in-container multi-tenancy support which means those applications >>>> run inside wso2 application server, deployed inside one cartridge instance >>>> of stratos (of course with many for clustering). >>>> >>>> Based on the current “dev setup” and “production deployment”, when new >>>> tenant is created with app factory, relevant tenant is created in the >>>> wso2-as of the shared cartridge instance illustrated as follows. >>>> >>>> The sample is for dev cloud without LB. (same as dev setup). The >>>> cartridge instance could be spawned before tenant is created. Hence, the >>>> “Public IP address” or the “DNS name” is know. >>>> [image: Inline image 1] >>>> >>>> >>>> >>>> >>>> Single Tenant Cartridge Case >>>> >>>> But, in the “php application type” case, no multi-tenant cartridges are >>>> there, we have to use single tenant cartridges with “apache http server”. >>>> In this case, Need to spawn a new instance when a new tenant is created. >>>> The workflow would be as follows. >>>> >>>> [image: Inline image 2] >>>> >>>> >>>> >>>> Generating Application URL of Single Tenant Application Types >>>> >>>> But the problem in single-tenant case is, the Public IP or the DNS name >>>> of the newly spawned cartridge is unknow. Or in case of clustering, the >>>> Public IP or the DNS name of the LB is unknow. Hence, In order to get the >>>> Public IP of entry point, I propose the following workflow. >>>> >>>> [image: Inline image 3] >>>> >>>> >>>> The purpose of this design is to get the “Public IP of DNS Name” of the >>>> newly spawned cartridge or the LB of the cartridge cluster (If cluster is >>>> present). The logic is as follows, >>>> >>>> 1. >>>> >>>> When server is started App-Fac’s “StratosMemberActivated Listener” >>>> is subscribed to topic in active mq. >>>> 2. >>>> >>>> Tenant user create new single tenant type application. >>>> 3. >>>> >>>> App-Fac do the necessary logic and then, subscribed to new >>>> cartridge via stratos controller. >>>> 4. >>>> >>>> When cartridge is spawning it sends events to topic in active mq >>>> and when cartridge is activated, it send the “MemberActivated Event” to >>>> the >>>> topic. >>>> 5. >>>> >>>> App-Fac receives the “MemberActivated Event” and get the “Public >>>> IP” of the cartridge or the LB. >>>> 6. >>>> >>>> App-Fac generates the “Application URL” using received public IP >>>> and store in the registry. >>>> 7. >>>> >>>> When user request the “Application URL” of the newly created >>>> application, App-Fac get the url from registry. >>>> >>>> >>>> >>>> In this feature, upto figure :02 is already done and the application >>>> url generation has designed based on the figure: 03. >>>> >>>> NOTE : In order to get the cartridge’s Public IP or DNS name (or LB >>>> Public IP if clustering is present), there are 3 options. >>>> >>>> >>>> 1. >>>> >>>> Subscribe to topic in stratos and get the relevant information. >>>> 2. >>>> >>>> Stratos can provide a REST API and app-fac can pool to get the >>>> information. >>>> 3. >>>> >>>> Cartridge agent can be modified to send information to provided url >>>> of app-fac. >>>> >>>> >>>> From above 3 approaches, the first one is selected. >>>> >>>> I expect your valuable comment on this design and approach to generate >>>> url of the applications deployed with single tenant cartridges, Any comment >>>> would be appreciated. >>>> >>> >>> >>> I would like to propose go with option #2. Because this is a valid >>> scenario for external users. Without implementing AppF specific code, you >>> can provide propose enhancement to apache Stratos code based. Please send >>> a pull request. >>> >>> >>>> >>>> Thanks, >>>> >>>> >>>> Roshan Deniyage >>>> Associate Technical Lead >>>> WSO2, Inc: http://wso2.com >>>> >>>> Mobile : +94 777636406 >>>> Twitter : *https://twitter.com/roshku <https://twitter.com/roshku>* >>>> LinkedIn : https://www.linkedin.com/in/roshandeniyage >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> Lakmal Warusawithana >>> Vice President, Apache Stratos >>> Director - Cloud Architecture; WSO2 Inc. >>> Mobile : +94714289692 >>> Blog : http://lakmalsview.blogspot.com/ >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Dimuthu Leelarathne >> Architect & Product Lead of App Factory >> >> WSO2, Inc. (http://wso2.com) >> email: [email protected] >> Mobile : 0773661935 >> >> Lean . Enterprise . Middleware >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > Lakmal Warusawithana > Vice President, Apache Stratos > Director - Cloud Architecture; WSO2 Inc. > Mobile : +94714289692 > Blog : http://lakmalsview.blogspot.com/ > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
