Imesh Gunaratne created STRATOS-659:
---------------------------------------

             Summary: Improve Domain Mappings Functionality to Re-Write URLs in 
Load Balancer
                 Key: STRATOS-659
                 URL: https://issues.apache.org/jira/browse/STRATOS-659
             Project: Stratos
          Issue Type: Improvement
          Components: Load Balancer
            Reporter: Imesh Gunaratne
            Assignee: Imesh Gunaratne


In current Domain Mappings implementation Stratos allows to add domain mappings 
to service subscriptions with following parameters: cartridgeType, 
subscriptionAlias, list of <domainName, appContext>. 

Stratos Manager sends this information to load balancers via the message 
broker. Load balancer keeps domainName in a hash map against its cluster, once 
a request is received the cluster is fetched and request is delegated to the 
next available member in that cluster without touching the request path. In the 
member a Tomcat virtual host could be created with the appContext to map the 
incoming request path to actual application path.

However this design is not scalable with different types of services which 
might not be able to use Tomcat virtual hosts.

Therefore we could implement a new functionality to map URLs in Stratos load 
balancer and directly delegate the incoming requests to mapped URLs with the 
provided information in domain mappings.

Sample:
Domain mapping: domain-name = foo.org, app-path = app/path/provided
Incoming request: https://foo.org/some/file/path?someQueryParam=value
LB re-writes it to: 
https://member-ip:port/app/path/provided/some/file/path/?someQueryParam=value



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to