istio.io/archive/v0.1/docs/reference/config/traffic-rules/destination-policies.html

36 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en" itemscope itemtype="https://schema.org/WebPage" style="overflow-y: scroll;"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="title" content="Destination Policies"><meta name="og:title" content="Destination Policies"><meta name="og:image" content="/v0.1/img/logo.png"/><meta name="description" content="Client-side traffic management policies configuration schema"><meta name="og:description" content="Client-side traffic management policies configuration schema"><title>Istioldie 0.1 / Destination Policies</title><script> window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', 'UA-98480406-2', 'auto'); ga('send', 'pageview'); </script> <script async src='https://www.google-analytics.com/analytics.js'></script><link href='https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic' rel='stylesheet' type='text/css'><link rel="alternate" type="application/rss+xml" title="Istio Blog RSS" href="/v0.1/feed.xml"><link rel="apple-touch-icon" href="/v0.1/favicons/apple-touch-icon.png" sizes="180x180"><link rel="icon" type="image/png" href="/v0.1/favicons/android-chrome-96x96.png" sizes="96x96" ><link rel="icon" type="image/png" href="/v0.1/favicons/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/v0.1/favicons/favicon-16x16.png" sizes="16x16"><link rel="manifest" href="/v0.1/favicons/manifest.json"><link rel="mask-icon" href="/v0.1/favicons/safari-pinned-tab.svg" color="#2DA6B0"><meta name="msapplication-TileColor" content="#ffffff"><meta name="msapplication-TileImage" content="/v0.1/favicons/mstile-150x150.png"><link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"><link rel="stylesheet" href="/v0.1/css/all.css"><link rel="stylesheet" href="/v0.1/css/prism.css"><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script></head><body class="language-unknown"><div class="nav-hero-container" style="z-index: 200000;"><nav id="header-nav" class="navbar navbar-inverse" role="navigation"><div class="container"><div class="row"><div class="col-md-11 nofloat center-block "><div class="navbar-header"> <button type="button" class="hamburger navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="/v0.1/"><div> <img src="/v0.1/img/logo.png" alt="Istio" width="36px" height="54px"/> <span class="brand-name">Istioldie 0.1</span></div></a></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="/v0.1/about/" >About</a></li><li><a href="/v0.1/docs/" class='current'>Docs</a></li><li><a href="/v0.1/blog/" >Blog</a></li><li><a href="/v0.1/community/" >Community</a></li><li><a href="/v0.1/faq/" >FAQ</a></li><li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href=""> <i class='fa fa-lg fa-cog'></i> <span class="caret"></span> </a><ul class="dropdown-menu"><h6 class="dropdown-header">Other versions of this site</h6><li> <a href="https://istio.io">Current Release</a></li><li> <a href="https://preliminary.istio.io">Next Release</a></li><li> <a href="https://archive.istio.io">Older Releases</a></li></ul></li><li><form name="cse" id="searchbox_demo" class="navbar-form navbar-right" role="search"> <input type="hidden" name="cx" value="013699703217164175118:iwwf17ikgf4" /> <input type="hidden" name="ie" value="utf-8" /> <input type="hidden" name="hl" value="en" /><div class="form-group"><div class="input-group"> <input name="q" class="form-control" type="text" size="30" /><div class="input-group-addon"> <span class="btn-search glyphicon glyphicon-search"></span></div></div></div></form> <script type="text/javascript" src="https://www.google.com/cse/brand?form=searchbox_demo"></script></li></ul></div></div></div></div></nav></div><div class="container"><div class="row"><div class="col-md-11 nofloat center-block" style="margin-top: 3px;"><ul class="col-sm-10 nav nav-tabs"><li role="presentation" ><a href="/v0.1/docs/index.html">Welcome</a></li><li role="presentation" ><a href="/v0.1/docs/concepts/index.html">Concepts</a></li><li role="presentation" ><a href="/v0.1/docs/tasks/index.html">Tasks</a></li><li role="presentation" ><a href="/v0.1/docs/samples/index.html">Samples</a></li><li role="presentation" class='active'><a href="/v0.1/docs/reference/index.html">Reference</a></li></ul></div></div></div><script src="/v0.1/js/navtree.js"></script><div class="container docs"><div class="row"><div class="col-md-11 nofloat center-block"><div class="row"><div id="sidebar-container" class="col-sm-3"><ul class="doc-side-nav"><li><h5 class='doc-side-nav-title'>Reference</h5></li><script type="text/javascript"> var docs = []; docs.push({path: [ "api", "index.md", ], url: "/docs/reference/api/index.html", title: "API", order: 21, overview: "Detailed information on API parameters."}); docs.push({path: [ "api", "mixer", "index.md", ], url: "/docs/reference/api/mixer/index.html", title: "Mixer", order: 10, overview: "Detailed information on configuration and API exposed by Mixer."}); docs.push({path: [ "api", "mixer", "mixer-service.md", ], url: "/docs/reference/api/mixer/mixer-service.html", title: "Mixer Service", order: 1200, overview: "Mixer's API Surface"}); docs.push({path: [ "api", "mixer", "status.md", ], url: "/docs/reference/api/mixer/status.html", title: "Status RPC", order: 40, overview: "Google's rpc.Status proto"}); docs.push({path: [ "commands", "index.md", ], url: "/docs/reference/commands/index.html", title: "CLI", order: 30, overview: "Describes usage and options of the Istio CLI and other utilities."}); docs.push({path: [ "commands", "istioctl.md", ], url: "/docs/reference/commands/istioctl.html", title: "istioctl", order: 1, overview: "Istio control interface"}); docs.push({path: [ "commands", "mixc.md", ], url: "/docs/reference/commands/mixc.html", title: "mixc", order: 101, overview: "Utility to trigger direct calls to Mixer's API."}); docs.push({path: [ "commands", "mixs.md", ], url: "/docs/reference/commands/mixs.html", title: "mixs", order: 201, overview: "Mixer is Istio's abstraction on top of infrastructure backends."}); docs.push({path: [ "config", "index.md", ], url: "/docs/reference/config/index.html", title: "Configuration", order: 22, overview: "Detailed information on configuration options."}); docs.push({path: [ "config", "mixer", "adapters", "denychecker.md", ], url: "/docs/reference/config/mixer/adapters/denyChecker.html", title: "denyChecker", order: 0, overview: "denyChecker adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "genericlistchecker.md", ], url: "/docs/reference/config/mixer/adapters/genericListChecker.html", title: "genericListChecker", order: 10, overview: "genericListChecker adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "index.md", ], url: "/docs/reference/config/mixer/adapters/index.html", title: "Adapters", order: 2000, overview: "Mixer's adapter configuration schemas."}); docs.push({path: [ "config", "mixer", "adapters", "iplistchecker.md", ], url: "/docs/reference/config/mixer/adapters/ipListChecker.html", title: "ipListChecker", order: 20, overview: "ipListChecker adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "kubernetes.md", ], url: "/docs/reference/config/mixer/adapters/kubernetes.html", title: "kubernetes", order: 30, overview: "kubernetes adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "memquota.md", ], url: "/docs/reference/config/mixer/adapters/memQuota.html", title: "memQuota", order: 40, overview: "memQuota adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "prometheus.md", ], url: "/docs/reference/config/mixer/adapters/prometheus.html", title: "prometheus", order: 50, overview: "prometheus adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "redisquota.md", ], url: "/docs/reference/config/mixer/adapters/redisquota.html", title: "redisquota", order: 60, overview: "redisquota adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "statsd.md", ], url: "/docs/reference/config/mixer/adapters/statsd.html", title: "statsd", order: 70, overview: "statsd adapter configuration schema"}); docs.push({path: [ "config", "mixer", "adapters", "stdiologger.md", ], url: "/docs/reference/config/mixer/adapters/stdioLogger.html", title: "stdioLogger", order: 80, overview: "stdioLogger adapter configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "accesslogs.md", ], url: "/docs/reference/config/mixer/aspects/accessLogs.html", title: "accessLogs", order: 1120, overview: "accessLogs aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "applicationlogs.md", ], url: "/docs/reference/config/mixer/aspects/applicationLogs.html", title: "applicationLogs", order: 1130, overview: "applicationLogs aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "attributes.md", ], url: "/docs/reference/config/mixer/aspects/attributes.html", title: "attributes", order: 1140, overview: "attributes aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "denials.md", ], url: "/docs/reference/config/mixer/aspects/denials.html", title: "denials", order: 1150, overview: "denials aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "index.md", ], url: "/docs/reference/config/mixer/aspects/index.html", title: "Aspects", order: 2000, overview: "Generated documentation for Mixer's aspects."}); docs.push({path: [ "config", "mixer", "aspects", "lists.md", ], url: "/docs/reference/config/mixer/aspects/lists.html", title: "lists", order: 1160, overview: "lists aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "metrics.md", ], url: "/docs/reference/config/mixer/aspects/metrics.html", title: "metrics", order: 1170, overview: "metrics aspect configuration schema"}); docs.push({path: [ "config", "mixer", "aspects", "quotas.md", ], url: "/docs/reference/config/mixer/aspects/quotas.html", title: "quotas", order: 1180, overview: "quotas aspect configuration schema"}); docs.push({path: [ "config", "mixer", "attribute-vocabulary.md", ], url: "/docs/reference/config/mixer/attribute-vocabulary.html", title: "Attribute Vocabulary", order: 10, overview: "Describes the base attribute vocabulary used for policy and control."}); docs.push({path: [ "config", "mixer", "expression-language.md", ], url: "/docs/reference/config/mixer/expression-language.html", title: "Expression Language", order: 43, overview: "Mixer config expression language reference."}); docs.push({path: [ "config", "mixer", "index.md", ], url: "/docs/reference/config/mixer/index.html", title: "Mixer", order: 10, overview: "Detailed information on configuration and API exposed by Mixer."}); docs.push({path: [ "config", "mixer", "mixer-config.md", ], url: "/docs/reference/config/mixer/mixer-config.html", title: "Mixer", order: 1190, overview: "Mixer's configuration schema"}); docs.push({path: [ "config", "service-mesh.md", ], url: "/docs/reference/config/service-mesh.html", title: "Service Mesh", order: 30, overview: "Global configuration schema"}); docs.push({path: [ "config", "traffic-rules", "destination-policies.md", ], url: "/docs/reference/config/traffic-rules/destination-policies.html", title: "Destination Policies", order: 30, overview: "Client-side traffic management policies configuration schema"}); docs.push({path: [ "config", "traffic-rules", "index.md", ], url: "/docs/reference/config/traffic-rules/index.html", title: "Traffic Management Rules", order: 10, overview: "Detailed information on rules configuration and API exposed by Pilot for managing them."}); docs.push({path: [ "config", "traffic-rules", "routing-rules.md", ], url: "/docs/reference/config/traffic-rules/routing-rules.html", title: "Routing Rules", order: 20, overview: "Traffic routing rule configuration schema"}); docs.push({path: [ "contribute", "creating-a-pull-request.md", ], url: "/docs/reference/contribute/creating-a-pull-request.html", title: "Creating a Pull Request", order: 20, overview: "Shows you how to create a GitHub pull request in order to submit your docs for approval."}); docs.push({path: [ "contribute", "editing.md", ], url: "/docs/reference/contribute/editing.html", title: "Editing Docs", order: 10, overview: "Lets you start editing this site's documentation."}); docs.push({path: [ "contribute", "index.md", ], url: "/docs/reference/contribute/index.html", title: "Contributing to the Docs", order: 100, overview: "Learn how to contribute to improve and expand the Istio documentation."}); docs.push({path: [ "contribute", "reviewing-doc-issues.md", ], url: "/docs/reference/contribute/reviewing-doc-issues.html", title: "Doc Issues", order: 60, overview: "Explains the process involved in accepting documentation updates."}); docs.push({path: [ "contribute", "staging-your-changes.md", ], url: "/docs/reference/contribute/staging-your-changes.html", title: "Staging Your Changes", order: 40, overview: "Explains how to test your changes locally before submitting them."}); docs.push({path: [ "contribute", "style-guide.md", ], url: "/docs/reference/contribute/style-guide.html", title: "Style Guide", order: 70, overview: "Explains the dos and donts of writing Istio docs."}); docs.push({path: [ "contribute", "writing-a-new-topic.md", ], url: "/docs/reference/contribute/writing-a-new-topic.html", title: "Writing a New Topic", order: 30, overview: "Explains the mechanics of creating new documentation pages."}); docs.push({path: [ "glossary.md", ], url: "/docs/reference/glossary.html", title: "Glossary", order: 40, overview: "A glossary of common Istio terms."}); docs.push({path: [ "index.md", ], url: "/docs/reference/index.html", title: "Reference", order: 40, overview: "The Reference section contains detailed authoritative reference material such as command-line options, configuration options, and API calling parameters."}); docs.push({path: [ "release-notes.md", ], url: "/docs/reference/release-notes.html", title: "Release Notes", order: 50, overview: "What's been happening with Istio."}); docs.push({path: [ "release-roadmap.md", ], url: "/docs/reference/release-roadmap.html", title: "Roadmap", order: 60, overview: "What Istio will become in the coming months."}); docs.push({path: [ "writing-config.md", ], url: "/docs/reference/writing-config.html", title: "Writing Configuration", order: 70, overview: "How to write Istio config YAML content."}); genNavBarTree(docs) </script></ul></div><div id="tab-container" class="col-xs-1 tab-neg-margin pull-left"> <a id="sidebar-tab" class="glyphicon glyphicon-chevron-left" href="javascript:void 0;"></a></div><div id="content-container" class="thin-left-border col-sm-9 markdown"><div id="toc" class="toc"></div><div id="doc-content"><h1>Destination Policies</h1><p><a name="istio.proxy.v1.config.DestinationPolicy"></a></p><h3 id="destinationpolicy">DestinationPolicy</h3><p>DestinationPolicy defines client/caller-side policies that determine how to handle traffic bound to a particular destination service. The policy specifies configuration for load balancing and circuit breakers. For example, a simple load balancing policy for the reviews service would look as follows:</p><pre><code>destination: reviews.default.svc.cluster.local
policy:
- loadBalancing:
name: RANDOM
</code></pre><p>Policies are applicable per individual service versions. ONLY ONE policy can be defined per service version. Policy CANNOT be empty.</p><table><tr><th>Field</th><th>Type</th><th>Description</th></tr><a name="istio.proxy.v1.config.DestinationPolicy.destination"></a><tr><td><code>destination</code></td><td>string</td><td>REQUIRED. Service name for which the service version is defined. The value MUST BE a fully-qualified domain name, e.g. <em>my-service.default.svc.cluster.local</em>.</td></tr><a name="istio.proxy.v1.config.DestinationPolicy.policy"></a><tr><td><code>policy[]</code></td><td>repeated <a href="#istio.proxy.v1.config.DestinationVersionPolicy">DestinationVersionPolicy</a></td><td>REQUIRED. List of policies, one per service version.</td></tr></table><p><a name="istio.proxy.v1.config.DestinationVersionPolicy"></a></p><h4 id="destinationversionpolicy">DestinationVersionPolicy</h4><p>A destination policy can be restricted to a particular version of a service or applied to all versions. The tags field in the DestinationVersionPolicy allow restricting the scope of a DestinationPolicy. For example, the following load balancing policy applies to version v1 of the reviews service running in the prod environment:</p><pre><code>destination: reviews.default.svc.cluster.local
policy:
- tags:
env: prod
version: v1
loadBalancing:
name: RANDOM
</code></pre><p>If tags are omitted, the policy applies for all versions of the service. Policy CANNOT BE empty. <em>Note:</em> Destination policies will be applied only if the corresponding tagged instances are explicitly routed to. In other words, for every destination policy defined, at least one route rule must refer to the service version indicated in the destination policy.</p><table><tr><th>Field</th><th>Type</th><th>Description</th></tr><a name="istio.proxy.v1.config.DestinationVersionPolicy.tags"></a><tr><td><code>tags</code></td><td>repeated map&lt;string, string&gt;</td><td>Optional set of tags that identify a particular version of the destination service. If omitted, the policy will apply to all versions of the service.</td></tr><a name="istio.proxy.v1.config.DestinationVersionPolicy.loadBalancing"></a><tr><td><code>loadBalancing</code></td><td><a href="#istio.proxy.v1.config.LoadBalancing">LoadBalancing</a></td><td>Load balancing policy.</td></tr><a name="istio.proxy.v1.config.DestinationVersionPolicy.circuitBreaker"></a><tr><td><code>circuitBreaker</code></td><td><a href="#istio.proxy.v1.config.CircuitBreaker">CircuitBreaker</a></td><td>Circuit breaker policy.</td></tr></table><p><a name="istio.proxy.v1.config.LoadBalancing"></a></p><h3 id="loadbalancing">LoadBalancing</h3><p>Load balancing policy to use when forwarding traffic. These policies directly correlate to <a href="https://lyft.github.io/envoy/docs/intro/arch_overview/load_balancing.html">load balancer types</a> supported by Envoy. Example,</p><pre><code>destination: reviews.default.svc.cluster.local
policy:
- loadBalancing:
name: RANDOM
</code></pre><table><tr><th>Field</th><th>Type</th><th>Description</th></tr><a name="istio.proxy.v1.config.LoadBalancing.name"></a><tr><td><code>name</code></td><td><a href="#istio.proxy.v1.config.LoadBalancing.SimpleLBPolicy">SimpleLBPolicy</a></td><td>Load balancing policy name (as defined in SimpleLBPolicy below)</td></tr></table><p><a name="istio.proxy.v1.config.LoadBalancing.SimpleLBPolicy"></a></p><h4 id="simplelbpolicy">SimpleLBPolicy</h4><p>Load balancing algorithms supported by Envoy proxy.</p><table><tr><th>Value</th><th>Description</th></tr><a name="istio.proxy.v1.config.LoadBalancing.SimpleLBPolicy.ROUND_ROBIN"></a><tr><td>ROUND_ROBIN</td><td>Simple round robin policy.</td></tr><a name="istio.proxy.v1.config.LoadBalancing.SimpleLBPolicy.LEAST_CONN"></a><tr><td>LEAST_CONN</td><td>The least request load balancer uses an O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.</td></tr><a name="istio.proxy.v1.config.LoadBalancing.SimpleLBPolicy.RANDOM"></a><tr><td>RANDOM</td><td>The random load balancer selects a random healthy host. The random load balancer generally performs better than round robin if no health checking policy is configured.</td></tr></table><p><a name="istio.proxy.v1.config.CircuitBreaker"></a></p><h3 id="circuitbreaker">CircuitBreaker</h3><p>Circuit breaker configuration for Envoy. The circuit breaker implementation is fine-grained in that it tracks the success/failure rates of individual hosts in the load balancing pool. Hosts that continually return errors for API calls are ejected from the pool for a pre-defined period of time. See Envoys <a href="https://lyft.github.io/envoy/docs/intro/arch_overview/circuit_breaking.html">circuit breaker</a> and <a href="https://lyft.github.io/envoy/docs/intro/arch_overview/outlier.html">outlier detection</a> for more details.</p><table><tr><th>Field</th><th>Type</th><th>Description</th></tr><a name="istio.proxy.v1.config.CircuitBreaker.simpleCb"></a><tr><td><code>simpleCb</code></td><td><a href="#istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy">SimpleCircuitBreakerPolicy</a></td><td></td></tr></table><p><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy"></a></p><h4 id="simplecircuitbreakerpolicy">SimpleCircuitBreakerPolicy</h4><p>A simple circuit breaker can be set based on a number of criteria such as connection and request limits. For example, the following destination policy sets a limit of 100 connections to “reviews” service version “v1” backends.</p><pre><code>destination: reviews.default.svc.cluster.local
policy:
- tags:
version: v1
circuitBreaker:
simpleCb:
maxConnections: 100
</code></pre><p>The following destination policy sets a limit of 100 connections and 1000 concurrent requests, with no more than 10 req/connection to “reviews” service version “v1” backends. In addition, it configures hosts to be scanned every 5 minutes, such that any host that fails 7 consecutive times with 5XX error code will be ejected for 15 minutes.</p><pre><code>destination: reviews.default.svc.cluster.local
policy:
- tags:
version: v1
circuitBreaker:
simpleCb:
maxConnections: 100
httpMaxRequests: 1000
httpMaxRequestsPerConnection: 10
httpConsecutiveErrors: 7
sleepWindow: 15m
httpDetectionInterval: 5m
</code></pre><table><tr><th>Field</th><th>Type</th><th>Description</th></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.maxConnections"></a><tr><td><code>maxConnections</code></td><td>int32</td><td>Maximum number of connections to a backend.</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpMaxPendingRequests"></a><tr><td><code>httpMaxPendingRequests</code></td><td>int32</td><td>Maximum number of pending requests to a backend. Default 1024</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpMaxRequests"></a><tr><td><code>httpMaxRequests</code></td><td>int32</td><td>Maximum number of requests to a backend. Default 1024</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.sleepWindow"></a><tr><td><code>sleepWindow</code></td><td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td><td>Minimum time the circuit will be closed. format: 1h/1m/1s/1ms. MUST BE &gt;=1ms. Default is 30s.</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpConsecutiveErrors"></a><tr><td><code>httpConsecutiveErrors</code></td><td>int32</td><td>Number of 5XX errors before circuit is opened. Defaults to 5.</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpDetectionInterval"></a><tr><td><code>httpDetectionInterval</code></td><td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td><td>Time interval between ejection sweep analysis. format: 1h/1m/1s/1ms. MUST BE &gt;=1ms. Default is 10s.</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpMaxRequestsPerConnection"></a><tr><td><code>httpMaxRequestsPerConnection</code></td><td>int32</td><td>Maximum number of requests per connection to a backend. Setting this parameter to 1 disables keep alive.</td></tr><a name="istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy.httpMaxEjectionPercent"></a><tr><td><code>httpMaxEjectionPercent</code></td><td>int32</td><td>Maximum % of hosts in the load balancing pool for the destination service that can be ejected by the circuit breaker. Defaults to 10%.</td></tr></table></div></div></div></div></div></div><script src="/v0.1/js/sidemenu.js"></script><footer><div class="container"><div class="row"><div class="col-md-2"></div><div class="col-md-3 col-sm-4 col-xs-12 center-block"><ul class="toggle"><p class="header">Docs</p><li><a href="/v0.1/docs/">Welcome</a></li><li><a href="/v0.1/docs/concepts">Concepts</a></li><li><a href="/v0.1/docs/tasks">Tasks</a></li><li><a href="/v0.1/docs/samples">Samples</a></li><li><a href="/v0.1/docs/reference">Reference</a></li></ul></div><hr class="footer-sections" /><div class="col-md-3 col-sm-4 col-xs-12 center-block"><ul class="toggle"><p class="header">Resources</p><li><a href="/v0.1/faq">Frequently Asked Questions</a></li><li><a href="/v0.1/troubleshooting">Troubleshooting Guide</a></li><li><a href="/v0.1/bugs">Report a Bug</a></li><li><a href="https://github.com/istio/istio.github.io/issues/new?title=Issue with _docs/reference/config/traffic-rules/destination-policies.md">Report a Doc Issue</a></li><li><a href="https://github.com/istio/istio.github.io/edit/master/_docs/reference/config/traffic-rules/destination-policies.md">Edit This Page on GitHub</a></li></ul></div><hr class="footer-sections" /><div class="col-md-3 col-sm-4 col-xs-12 center-block"><ul class="toggle"><p class="header">Community</p><li><a href="https://groups.google.com/forum/#!forum/istio-users" target="_blank"><span class="group">User</span></a> | <a href="https://groups.google.com/forum/#!forum/istio-dev" target="_blank">Dev Mailing Lists</a></li><li><a href="https://twitter.com/IstioMesh" target="_blank"><span class="twitter">Twitter</span></a></li><li><a href="https://github.com/istio/istio" target="_blank"><span class="github">GitHub</span></a></li></ul></div><div class="col-md-1"></div></div><div class="row"><p class="description small text-center"> Copyright &copy; 2017 Istio Authors<br> Istio 0.1<br> Archived on 20-Jul-2017</p></div></div></footer><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js"></script> <script src="/v0.1/js/jquery.form.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <script src="/v0.1/js/slick.min.js"></script> <script src="/v0.1/js/jquery.visible.min.js"></script> <script src="/v0.1/js/common.js" type="text/javascript" charset="utf-8"></script> <script src="/v0.1/js/buttons.js"></script> <script src="/v0.1/js/search.js"></script> <script src="/v0.1/js/prism.js"></script></body></html>