| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # Load balancer test configuration 2 |
| # ----------------------------------- |
| # topology-event-listener = false |
| # cep-stats-publisher = true |
| # |
| |
| loadbalancer { |
| |
| # Default load balancing algorithm |
| # Refer algorithm name from algorithms section. |
| algorithm: round-robin; |
| |
| # Enable/disable failover handling |
| # If failover handling is enabled load balancer will retry requests on all members in a |
| # given cluster if the selected member fails to respond. |
| failover: true; |
| |
| # Enable/disable session affinity |
| # If session affinity is enabled load balancer will track all outgoing sessions and delegate |
| # incoming requests to members with same sessions. |
| session-affinity: true; |
| |
| # Endpoint timeout in milli-seconds |
| endpoint-timeout: 15000; |
| |
| # Session timeout in milli-seconds |
| session-timeout: 90000; |
| |
| # Enable/disable topology event listener |
| # If this property is set to true, load balancer will listen to topology events and build |
| # the topology configuration accordingly. If not static configuration given in the services |
| # section will be used. |
| topology-event-listener: false; |
| |
| # Message broker endpoint |
| # Provide message broker ip address and port if topology-event-listener or multi-tenancy is set to true. |
| mb-ip: localhost; |
| mb-port: 5677; |
| |
| # Topology member ip address type |
| # Provide this configuration if topology-event-listener is set to true. If this property is set to 'private' |
| # load balancer will delegate requests to member's private IP address. If it is set to 'public' requests will |
| # be delegated to member's public IP address. |
| topology-member-ip-type: private; |
| |
| # Topology service filter |
| # Provide service names in a comma separated list to filter incoming topology events if |
| # topology_event_listener_enabled is set to true. This functionality could be used for hosting |
| # dedicated load balancers for services. |
| # topology-service-filter: service-name=service-name1,service-name2; |
| |
| # Topology cluster filter |
| # Provide cluster ids in a comma separated list to filter incoming topology events if |
| # topology_event_listener_enabled is set to true. This functionality could be used for hosting |
| # dedicated load balancers for subscriptions. |
| # topology-cluster-filter: cluster-id=cluster-id1,cluster-id2; |
| |
| # Topology member filter |
| # Provide load balancer cluster ids in a comma separated list to filter incoming topology events if |
| # topology_event_listener_enabled is set to true. This functionality could be used for allowing members |
| # to join a given load balancer cluster. |
| # topology-member-filter: lb-cluster-id=lb-cluster-id1; |
| |
| # Enable/disable cep statistics publisher |
| cep-stats-publisher: true; |
| |
| # Complex event processor endpoint |
| # Provide CEP ip address and port if cep-stats-publisher is set to true. |
| cep-ip: localhost; |
| cep-port: 7615; |
| |
| # Network partition id |
| # Provide the network partition id if cep-stats-publisher is set to true. |
| network-partition-id: network-partition-1; |
| |
| # Multi-tenancy |
| # If this property is set to true, all incoming request URLs will be scanned using the given tenant-identifier-regex |
| # and matching tenant identifier value will be used to delegate the requests to the relevant cluster. |
| multi-tenancy: true; |
| tenant-identifier: tenant-domain; # Tenant identifier could either be tenant-id or tenant-domain. |
| tenant-identifier-regex: t/([^/]*)/; # Regular expression for extracting the tenant identifier value from the URL. |
| |
| # Load balancing algorithm class names |
| algorithms { |
| round-robin { # algorithm name |
| class-name: org.apache.stratos.load.balancer.algorithm.RoundRobin; |
| } |
| } |
| |
| # Rewrite location header |
| # If this property is set to true, load balancer will rewrite HTTP Location header values found in response |
| # messages if the host is set to an ip address of a known member. The resulting Location header host will be |
| # set to corresponding cluster hostname and the port will be set to corresponding transport proxy port. |
| rewrite-location-header: false; |
| |
| services { |
| app-server { # service name, a unique identifier to identify a service |
| multi-tenant: true; # Set to true if the service is multi-tenant |
| clusters { |
| app-server-cluster1 { # cluster id, a unique identifier to identify a cluster |
| hosts: cluster1.appserver.foo.org, cluster1.org; # comma separated hostname list |
| tenant-range: 1-100; # Tenant range of the cluster |
| algorithm: round-robin; # algorithm name |
| members { |
| m1 { # member id, a unique identifier to identify a member |
| ip: 10.0.0.10; # member ip address |
| ports { |
| http { |
| value: 8080; # application port |
| proxy: 80; # proxy port exposed by load balancer transport |
| } |
| https { |
| value: 8090; |
| proxy: 443; |
| } |
| } |
| } |
| m2 { |
| ip: 10.0.0.11; |
| ports { |
| http { |
| value: 8080; |
| proxy: 80; |
| } |
| https { |
| value: 8090; |
| proxy: 443; |
| } |
| } |
| } |
| m3 { |
| ip: 10.0.0.12; |
| ports { |
| http { |
| value: 8080; |
| proxy: 80; |
| } |
| https { |
| value: 8090; |
| proxy: 443; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |