On Sun, Apr 1, 2012 at 2:57 PM, Paul Fremantle <[email protected]> wrote:
> Let me understand: can I use this to put a specific tenant to cluster and > no-one else? Yes, you can define a cluster that contains a single tenant. So, we can now support private jet mode. The number of nodes in that cluster is done through the autoscaling configuration. Does that answer your question? > > Also: can the config be dynamic? e.g. can I modify this definition at > runtime? Or only static? > Tenant partition definitions are static. Processes which have loaded a tenant cannot unload that tenant and reload it with the state etc. on a different cluster. However, I believe we can support hotUpdate of the loadbalancer.conf file, which will allow you to change the tenant partitions, so that new requests can be handled by a different cluster. The way we have implemented it currently, only the LB is aware of the partitioning and not the worker nodes. > > Paul > > On 12 March 2012 13:31, Sanjeewa Malalgoda <[email protected]> wrote: > >> Hi, >> >> Here i'm attaching the design diagram of this implementation, And >> configurations will be as follows. >> >> *01.LoadBalancer.xml file we can define domain and corresponding >> clusters and their tenant ranges as follows* >> >> <service> >> <hosts> >> <host>appserver.cloud-test.wso2.com</host> >> </hosts> >> <!--domain>wso2.carbon.as.domain</domain--> >> <domains> >> <domain> >> <name>wso2.as1.domain</name> >> <tenantRange>1,100</tenantRange> >> </domain> >> <domain> >> <name>wso2.as2.domain</name> >> <tenantRange>101,200</tenantRange> >> </domain> >> <domain> >> <name>wso2.as3.domain</name> >> <tenantRange>201,300</tenantRange> >> </domain> >> <domain> >> <name>wso2.as4.domain</name> >> <tenantRange>*</tenantRange> >> </domain> >> </domains> >> </service> >> >> *In synapse main.xml Endpoint Defines as follows* >> * >> * >> <endpoint name="tenantAwareLBEndpoint"> >> <class name >> ="org.wso2.carbon.endpoint.service.TenantAwareLoadBalanceEndpoint"> >> <parameter name="algorithm"> >> org.apache.synapse.endpoints.algorithms.RoundRobin</parameter> >> <parameter >> name="configuration">$system:loadbalancer.xml</parameter> >> <parameter name="failover">true</parameter> >> </class> >> </endpoint> >> >> Thanks. >> >> >> On Sun, Mar 4, 2012 at 2:09 AM, Afkham Azeez <[email protected]> wrote: >> >>> User management in the LB is not configured properly? We never used this >>> in the LB before. Even CarbonContext will not be created >>> >>> -- >>> Afkham Azeez >>> Sent from my phone >>> On Mar 3, 2012 9:30 PM, "Sanjeewa Malalgoda" <[email protected]> wrote: >>> >>>> Hi All, >>>> I was able to setup 2 app services clusters that maps to same host >>>> address and setup load balancer according to static >>>> configuration(host/domain/tenant range). with this implementation *we >>>> can send requests to correct cluster based on tenant domain in url*.For >>>> this i created new TenantAwareLoadBalancer endpoint in carbon end points >>>> and configure loadbalancer to use that end point(We can use external >>>> endpoints after azeez latest change to synapse trunk). First we get >>>> domainTenantContext(Which holds map of tenatid, cluster domain) object >>>> according to host address. Then we can get cluster domain >>>> from domainTenantContext object by passing tenant id (if there no any value >>>> that maps to tenantId key we will send that request to cluster with >>>> constant tenant id something like 0 or 1000 by this we can avoid upper >>>> range mapping). Map holds values something like below. >>>> >>>> tenat id cluster domain >>>> 1-200 as1.domain >>>> 201-400 as2.domain >>>> 0 as3.domain >>>> >>>> so if request comes to 401 tenant request will send to as3.domain >>>> cluster(default cluster). And regard sticky session implementation which we >>>> discussed in separate mail i will work with azeez. For this moment all >>>> configurations are hard coded and easily we can make them configurable. >>>> Ideas and comments are welcome on this. >>>> >>>> And i have one question inside loadbalancer product we are always >>>> getting getRealmService().getTenantManager().getTenantId(domainName) as -1 >>>> (which means no such tenant). What did we miss here ? >>>> >>>> >>>> >>>> Thanks. >>>> -- >>>> *Sanjeewa Malalgoda* >>>> Software Engineer >>>> ** >>>> *WSO2, Inc.* >>>> lean.enterprise.middleware. >>>> >>>> mobile : +94 713068779 >>>> web: http://wso2.com >>>> <http://sanjeewamalalgoda.blogspot.com/>blog >>>> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/> >>>> >>>> [image: >>>> http://wso2.com/wp-content/themes/wso2ng-v2/images/logos/stratos_logo_h42.gif] >>>> >>>> >>>> _______________________________________________ >>>> Stratos-dev mailing list >>>> [email protected] >>>> https://wso2.org/cgi-bin/mailman/listinfo/stratos-dev >>>> >>>> >> >> >> -- >> *Sanjeewa Malalgoda* >> Software Engineer >> ** >> *WSO2, Inc.* >> lean.enterprise.middleware. >> >> mobile : +94 713068779 >> web: http://wso2.com >> <http://sanjeewamalalgoda.blogspot.com/>blog >> :http://sanjeewamalalgoda.blogspot.com/<http://sanjeewamalalgoda.blogspot.com/> >> >> [image: >> http://wso2.com/wp-content/themes/wso2ng-v2/images/logos/stratos_logo_h42.gif] >> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Paul Fremantle > CTO and Co-Founder, WSO2 > OASIS WS-RX TC Co-chair, VP, Apache Synapse > > UK: +44 207 096 0336 > US: +1 646 595 7614 > > blog: http://pzf.fremantle.org > twitter.com/pzfreo > [email protected] > > wso2.com Lean Enterprise Middleware > > Disclaimer: This communication may contain privileged or other > confidential information and is intended exclusively for the addressee/s. > If you are not the intended recipient/s, or believe that you may have > received this communication in error, please reply to the sender indicating > that fact and delete the copy you received and in addition, you should not > print, copy, retransmit, disseminate, or otherwise use the information > contained in this communication. Internet communications cannot be > guaranteed to be timely, secure, error or virus-free. The sender does not > accept liability for any errors or omissions. > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>** email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
