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)