Monday, March 26, 2012

Tenant Aware Load Balancer Concept

Tenant Aware Load Balancer is the upcoming Load Balancer from WSO2. If a Cloud deployment has to be able to scale to thousands, hundreds of thousands or millions of tenants, we need tenant-partitioning. This means, for a single Cloud service, there will be multiple clusters, and each of these Service clusters will handle a subset of the tenants in the system.Here i will briefly  describe about it. I will add complete article on this later.


  1. Tenants are loaded in demand and assign to a cluster
  2. Unloading the unused tenants.
  3. Notifying the load balancers when a tenant is loaded.
  4. by adding the Loadbalancers in to a group communication group and publishing a message to the group when a tenant is loaded.
  5. Can define statically tenants to each clusters
  6. Single service may have multiple clusters and each cluster is assigned in tp particular tenant range
  7. Always running an additional cluster(Default cluster) to quickly load new tenants.

Following diagram describes the overall design of tenant aware load balancer


Carbon Context and it's usages in WSO2 Products

A context can be defined as a construct that strictly bounds the execution environment. Because Carbon Context is a runtime container for your app(s) you gain the benefit of leveraging the Carbon Context runtime API allows to obtain contextual information about various actors utilizing your web apps and web services. For example, you may want to use registry,cache for that particular user or tenant. The carbon context allows you to access 5 APIs and has several utility methods. In each time we create user specific thing we create carbon context for that user to store specific things. This is valid for all WSO2 Carbon 3.2.2 based servers.

Here is the link to post written by regarding carbon context and its usages.
http://wso2.org/library/articles/2012/03/carbon-context-its-usages-wso2-products