From a45399ca141d6fae61d5e4716e6978b13888407c Mon Sep 17 00:00:00 2001 From: buildmaster Date: Thu, 26 Jul 2018 11:13:41 +0000 Subject: [PATCH] Sync docs from master to gh-pages --- gateway-grafana-dashboard.json | 760 ++++++++++++++++++++++++++ images/gateway-grafana-dashboard.jpeg | Bin 0 -> 247058 bytes multi/multi__global_filters.html | 2 +- multi/multi_spring-cloud-gateway.html | 2 +- single/spring-cloud-gateway.html | 4 +- spring-cloud-gateway.xml | 19 + 6 files changed, 783 insertions(+), 4 deletions(-) create mode 100644 gateway-grafana-dashboard.json create mode 100644 images/gateway-grafana-dashboard.jpeg diff --git a/gateway-grafana-dashboard.json b/gateway-grafana-dashboard.json new file mode 100644 index 00000000..95defd61 --- /dev/null +++ b/gateway-grafana-dashboard.json @@ -0,0 +1,760 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.4.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "1m", + "rows": [ + { + "collapse": false, + "height": 38, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(191, 148, 112, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "${DS_PROMETHEUS}", + "description": "", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "hideTimeOverride": false, + "id": 28, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 4, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "Value", + "targets": [ + { + "expr": "sum(gateway_requests_seconds_count{job=~\"$gatewayService\"})", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 1200 + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total Requests Served", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(191, 148, 112, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "${DS_PROMETHEUS}", + "description": "", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "hideTimeOverride": false, + "id": 29, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 4, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "Value", + "targets": [ + { + "expr": "sum(gateway_requests_seconds_count{outcome=\"SUCCESSFUL\", job=~\"$gatewayService\"})", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 1200 + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total Successful Requests Served", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(191, 148, 112, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "${DS_PROMETHEUS}", + "description": "", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "hideTimeOverride": false, + "id": 30, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "span": 4, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "Value", + "targets": [ + { + "expr": "sum(gateway_requests_seconds_count{outcome!=\"SUCCESSFUL\", job=~\"$gatewayService\"})", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 1200 + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total Unsuccessful Requests Served", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "Total Throughput", + "titleSize": "h2" + }, + { + "collapse": false, + "height": 250, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fill": 1, + "id": 49, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "routeId", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gateway_requests_seconds_sum{routeId=~\"$routeId\", job=~\"$gatewayService\"}/gateway_requests_seconds_count{routeId=~\"$routeId\", job=~\"$gatewayService\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ status }}", + "metric": "gateway_api_time_seconds_sum", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "$routeId", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "Request Processing Time", + "titleSize": "h2" + }, + { + "collapse": true, + "height": 250, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "minSpan": null, + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "routeId", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gateway_requests_seconds_count{outcome=\"SUCCESSFUL\", routeId=~\"$routeId\", job=~\"$gatewayService\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ job }} / {{ routeUri }}", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "$routeId Success API Gateway Calls", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "Successful API Calls", + "titleSize": "h2" + }, + { + "collapse": true, + "height": 250, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "id": 3, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "routeId", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gateway_requests_seconds_count{outcome!=\"SUCCESSFUL\", routeId=~\"$routeId\", job=~\"$gatewayService\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ job }} / {{ routeUri }}", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "$routeId Unsuccessful GW Calls", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "Unsuccessful API Calls", + "titleSize": "h2" + }, + { + "collapse": false, + "height": 250, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "id": 35, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "routeId", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(gateway_requests_seconds_count{routeId=~\"$routeId\", job=~\"$gatewayService\"}) by (job, status)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{ job }} / {{ status }}", + "metric": "gateway_requests_seconds_count", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "$routeId", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": true, + "title": "API / HTTP Status", + "titleSize": "h2" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "hide": 0, + "includeAll": true, + "label": "Gateway Service", + "multi": true, + "name": "gatewayService", + "options": [], + "query": "label_values(gateway_requests_seconds_count,job)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "hide": 0, + "includeAll": true, + "label": "Route Id", + "multi": true, + "name": "routeId", + "options": [], + "query": "label_values(gateway_requests_seconds_count,routeId)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now/d", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "Spring Cloud Gateway", + "version": 1 +} diff --git a/images/gateway-grafana-dashboard.jpeg b/images/gateway-grafana-dashboard.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7ba7f88ba12dc53750d855879b674df939cf2f17 GIT binary patch literal 247058 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 Rh0&<5gx$5f!1>qQ{{pgZ5mW#G literal 0 HcmV?d00001 diff --git a/multi/multi__global_filters.html b/multi/multi__global_filters.html index 2e29dc31..907421ed 100644 --- a/multi/multi__global_filters.html +++ b/multi/multi__global_filters.html @@ -57,7 +57,7 @@ uri: ws://localhost:3001 predicates: - Path=/websocket/**

-

6.8 Making An Exchange As Routed

After the Gateway has routed a ServerWebExchange it will mark that exchange as "routed" by adding gatewayAlreadyRouted +

6.8 Gateway Metrics Filter

The Gateway Metrics Filter runs as long as the property spring.cloud.gateway.metrics.enabled is not set to false. This filter adds a timer metric named "gateway.requests" with the following tags:

  • routeId: The route id
  • routeUri: The URI that the API will be routed to
  • outcome |Outcome as classified by HttpStatus.Series
  • status: Http Status of the request returned to the client

These metrics are then available to be scraped from /actuator/metrics/gateway.requests and can be easily integated with Prometheus to create a Grafana dashboard.

6.9 Making An Exchange As Routed

After the Gateway has routed a ServerWebExchange it will mark that exchange as "routed" by adding gatewayAlreadyRouted to the exchange attributes. Once a request has been marked as routed, other routing filters will not route the request again, essentially skipping the filter. There are convenience methods that you can use to mark an exchange as routed or check if an exchange has already been routed.

  • ServerWebExchangeUtils.isAlreadyRouted takes a ServerWebExchange object and checks if it has been "routed"
  • ServerWebExchangeUtils.setAlreadyRouted takes a ServerWebExchange object and marks it as "routed"
\ No newline at end of file diff --git a/multi/multi_spring-cloud-gateway.html b/multi/multi_spring-cloud-gateway.html index de657973..eae56261 100644 --- a/multi/multi_spring-cloud-gateway.html +++ b/multi/multi_spring-cloud-gateway.html @@ -1,3 +1,3 @@ - Spring Cloud Gateway

Spring Cloud Gateway


Table of Contents

1. How to Include Spring Cloud Gateway
2. Glossary
3. How It Works
4. Route Predicate Factories
4.1. After Route Predicate Factory
4.2. Before Route Predicate Factory
4.3. Between Route Predicate Factory
4.4. Cookie Route Predicate Factory
4.5. Header Route Predicate Factory
4.6. Host Route Predicate Factory
4.7. Method Route Predicate Factory
4.8. Path Route Predicate Factory
4.9. Query Route Predicate Factory
4.10. RemoteAddr Route Predicate Factory
4.10.1. Modifying the way remote addresses are resolved
5. GatewayFilter Factories
5.1. AddRequestHeader GatewayFilter Factory
5.2. AddRequestParameter GatewayFilter Factory
5.3. AddResponseHeader GatewayFilter Factory
5.4. Hystrix GatewayFilter Factory
5.5. PrefixPath GatewayFilter Factory
5.6. PreserveHostHeader GatewayFilter Factory
5.7. RequestRateLimiter GatewayFilter Factory
5.7.1. Redis RateLimiter
5.8. RedirectTo GatewayFilter Factory
5.9. RemoveNonProxyHeaders GatewayFilter Factory
5.10. RemoveRequestHeader GatewayFilter Factory
5.11. RemoveResponseHeader GatewayFilter Factory
5.12. RewritePath GatewayFilter Factory
5.13. SaveSession GatewayFilter Factory
5.14. SecureHeaders GatewayFilter Factory
5.15. SetPath GatewayFilter Factory
5.16. SetResponseHeader GatewayFilter Factory
5.17. SetStatus GatewayFilter Factory
5.18. StripPrefix GatewayFilter Factory
5.19. Retry GatewayFilter Factory
6. Global Filters
6.1. Combined Global Filter and GatewayFilter Ordering
6.2. Forward Routing Filter
6.3. LoadBalancerClient Filter
6.4. Netty Routing Filter
6.5. Netty Write Response Filter
6.6. RouteToRequestUrl Filter
6.7. Websocket Routing Filter
6.8. Making An Exchange As Routed
7. Configuration
7.1. Fluent Java Routes API
7.2. DiscoveryClient Route Definition Locator
8. CORS Configuration
9. Actuator API
10. Developer Guide
10.1. Writing Custom Route Predicate Factories
10.2. Writing Custom GatewayFilter Factories
10.3. Writing Custom Global Filters
10.4. Writing Custom Route Locators and Writers
11. Building a Simple Gateway Using Spring MVC or Webflux
\ No newline at end of file + Spring Cloud Gateway

Spring Cloud Gateway


Table of Contents

1. How to Include Spring Cloud Gateway
2. Glossary
3. How It Works
4. Route Predicate Factories
4.1. After Route Predicate Factory
4.2. Before Route Predicate Factory
4.3. Between Route Predicate Factory
4.4. Cookie Route Predicate Factory
4.5. Header Route Predicate Factory
4.6. Host Route Predicate Factory
4.7. Method Route Predicate Factory
4.8. Path Route Predicate Factory
4.9. Query Route Predicate Factory
4.10. RemoteAddr Route Predicate Factory
4.10.1. Modifying the way remote addresses are resolved
5. GatewayFilter Factories
5.1. AddRequestHeader GatewayFilter Factory
5.2. AddRequestParameter GatewayFilter Factory
5.3. AddResponseHeader GatewayFilter Factory
5.4. Hystrix GatewayFilter Factory
5.5. PrefixPath GatewayFilter Factory
5.6. PreserveHostHeader GatewayFilter Factory
5.7. RequestRateLimiter GatewayFilter Factory
5.7.1. Redis RateLimiter
5.8. RedirectTo GatewayFilter Factory
5.9. RemoveNonProxyHeaders GatewayFilter Factory
5.10. RemoveRequestHeader GatewayFilter Factory
5.11. RemoveResponseHeader GatewayFilter Factory
5.12. RewritePath GatewayFilter Factory
5.13. SaveSession GatewayFilter Factory
5.14. SecureHeaders GatewayFilter Factory
5.15. SetPath GatewayFilter Factory
5.16. SetResponseHeader GatewayFilter Factory
5.17. SetStatus GatewayFilter Factory
5.18. StripPrefix GatewayFilter Factory
5.19. Retry GatewayFilter Factory
6. Global Filters
6.1. Combined Global Filter and GatewayFilter Ordering
6.2. Forward Routing Filter
6.3. LoadBalancerClient Filter
6.4. Netty Routing Filter
6.5. Netty Write Response Filter
6.6. RouteToRequestUrl Filter
6.7. Websocket Routing Filter
6.8. Gateway Metrics Filter
6.9. Making An Exchange As Routed
7. Configuration
7.1. Fluent Java Routes API
7.2. DiscoveryClient Route Definition Locator
8. CORS Configuration
9. Actuator API
10. Developer Guide
10.1. Writing Custom Route Predicate Factories
10.2. Writing Custom GatewayFilter Factories
10.3. Writing Custom Global Filters
10.4. Writing Custom Route Locators and Writers
11. Building a Simple Gateway Using Spring MVC or Webflux
\ No newline at end of file diff --git a/single/spring-cloud-gateway.html b/single/spring-cloud-gateway.html index 6eb2bb39..13925ebe 100644 --- a/single/spring-cloud-gateway.html +++ b/single/spring-cloud-gateway.html @@ -1,6 +1,6 @@ - Spring Cloud Gateway

Spring Cloud Gateway


Table of Contents

1. How to Include Spring Cloud Gateway
2. Glossary
3. How It Works
4. Route Predicate Factories
4.1. After Route Predicate Factory
4.2. Before Route Predicate Factory
4.3. Between Route Predicate Factory
4.4. Cookie Route Predicate Factory
4.5. Header Route Predicate Factory
4.6. Host Route Predicate Factory
4.7. Method Route Predicate Factory
4.8. Path Route Predicate Factory
4.9. Query Route Predicate Factory
4.10. RemoteAddr Route Predicate Factory
4.10.1. Modifying the way remote addresses are resolved
5. GatewayFilter Factories
5.1. AddRequestHeader GatewayFilter Factory
5.2. AddRequestParameter GatewayFilter Factory
5.3. AddResponseHeader GatewayFilter Factory
5.4. Hystrix GatewayFilter Factory
5.5. PrefixPath GatewayFilter Factory
5.6. PreserveHostHeader GatewayFilter Factory
5.7. RequestRateLimiter GatewayFilter Factory
5.7.1. Redis RateLimiter
5.8. RedirectTo GatewayFilter Factory
5.9. RemoveNonProxyHeaders GatewayFilter Factory
5.10. RemoveRequestHeader GatewayFilter Factory
5.11. RemoveResponseHeader GatewayFilter Factory
5.12. RewritePath GatewayFilter Factory
5.13. SaveSession GatewayFilter Factory
5.14. SecureHeaders GatewayFilter Factory
5.15. SetPath GatewayFilter Factory
5.16. SetResponseHeader GatewayFilter Factory
5.17. SetStatus GatewayFilter Factory
5.18. StripPrefix GatewayFilter Factory
5.19. Retry GatewayFilter Factory
6. Global Filters
6.1. Combined Global Filter and GatewayFilter Ordering
6.2. Forward Routing Filter
6.3. LoadBalancerClient Filter
6.4. Netty Routing Filter
6.5. Netty Write Response Filter
6.6. RouteToRequestUrl Filter
6.7. Websocket Routing Filter
6.8. Making An Exchange As Routed
7. Configuration
7.1. Fluent Java Routes API
7.2. DiscoveryClient Route Definition Locator
8. CORS Configuration
9. Actuator API
10. Developer Guide
10.1. Writing Custom Route Predicate Factories
10.2. Writing Custom GatewayFilter Factories
10.3. Writing Custom Global Filters
10.4. Writing Custom Route Locators and Writers
11. Building a Simple Gateway Using Spring MVC or Webflux

2.0.1.BUILD-SNAPSHOT

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

1. How to Include Spring Cloud Gateway

To include Spring Cloud Gateway in your project use the starter with group org.springframework.cloud + Spring Cloud Gateway

Spring Cloud Gateway


Table of Contents

1. How to Include Spring Cloud Gateway
2. Glossary
3. How It Works
4. Route Predicate Factories
4.1. After Route Predicate Factory
4.2. Before Route Predicate Factory
4.3. Between Route Predicate Factory
4.4. Cookie Route Predicate Factory
4.5. Header Route Predicate Factory
4.6. Host Route Predicate Factory
4.7. Method Route Predicate Factory
4.8. Path Route Predicate Factory
4.9. Query Route Predicate Factory
4.10. RemoteAddr Route Predicate Factory
4.10.1. Modifying the way remote addresses are resolved
5. GatewayFilter Factories
5.1. AddRequestHeader GatewayFilter Factory
5.2. AddRequestParameter GatewayFilter Factory
5.3. AddResponseHeader GatewayFilter Factory
5.4. Hystrix GatewayFilter Factory
5.5. PrefixPath GatewayFilter Factory
5.6. PreserveHostHeader GatewayFilter Factory
5.7. RequestRateLimiter GatewayFilter Factory
5.7.1. Redis RateLimiter
5.8. RedirectTo GatewayFilter Factory
5.9. RemoveNonProxyHeaders GatewayFilter Factory
5.10. RemoveRequestHeader GatewayFilter Factory
5.11. RemoveResponseHeader GatewayFilter Factory
5.12. RewritePath GatewayFilter Factory
5.13. SaveSession GatewayFilter Factory
5.14. SecureHeaders GatewayFilter Factory
5.15. SetPath GatewayFilter Factory
5.16. SetResponseHeader GatewayFilter Factory
5.17. SetStatus GatewayFilter Factory
5.18. StripPrefix GatewayFilter Factory
5.19. Retry GatewayFilter Factory
6. Global Filters
6.1. Combined Global Filter and GatewayFilter Ordering
6.2. Forward Routing Filter
6.3. LoadBalancerClient Filter
6.4. Netty Routing Filter
6.5. Netty Write Response Filter
6.6. RouteToRequestUrl Filter
6.7. Websocket Routing Filter
6.8. Gateway Metrics Filter
6.9. Making An Exchange As Routed
7. Configuration
7.1. Fluent Java Routes API
7.2. DiscoveryClient Route Definition Locator
8. CORS Configuration
9. Actuator API
10. Developer Guide
10.1. Writing Custom Route Predicate Factories
10.2. Writing Custom GatewayFilter Factories
10.3. Writing Custom Global Filters
10.4. Writing Custom Route Locators and Writers
11. Building a Simple Gateway Using Spring MVC or Webflux

2.0.1.BUILD-SNAPSHOT

This project provides an API Gateway built on top of the Spring Ecosystem, including: Spring 5, Spring Boot 2 and Project Reactor. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.

1. How to Include Spring Cloud Gateway

To include Spring Cloud Gateway in your project use the starter with group org.springframework.cloud and artifact id spring-cloud-starter-gateway. See the Spring Cloud Project page for details on setting up your build system with the current Spring Cloud Release Train.

If you include the starter, but, for some reason, you do not want the gateway to be enabled, set spring.cloud.gateway.enabled=false.

[Important]Important

Spring Cloud Gateway requires the Netty runtime provided by Spring Boot and Spring Webflux. It does not work in a traditional Servlet Container or built as a WAR.

2. Glossary

  • Route: Route the basic building block of the gateway. It is defined by an ID, a destination URI, a collection of predicates and a collection of filters. A route is matched if aggregate predicate is true.
  • Predicate: This is a Java 8 Function Predicate. The input type is a Spring Framework ServerWebExchange. This allows developers to match on anything from the HTTP request, such as headers or parameters.
  • Filter: These are instances Spring Framework GatewayFilter constructed in with a specific factory. Here, requests and responses can be modified before or after sending the downstream request.

3. How It Works

Spring Cloud Gateway Diagram

Clients make requests to Spring Cloud Gateway. If the Gateway Handler Mapping determines that a request matches a Route, it is sent to the Gateway Web Handler. This handler runs sends the request through a filter chain that is specific to the request. The reason the filters are divided by the dotted line, is that filters may execute logic before the proxy request is sent or after. All "pre" filter logic is executed, then the proxy request is made. After the proxy request is made, the "post" filter logic is executed.

[Note]Note

URIs defined in routes without a port will get a default port set to 80 and 443 for HTTP and HTTPS URIs respectively.

4. Route Predicate Factories

Spring Cloud Gateway matches routes as part of the Spring WebFlux HandlerMapping infrastructure. Spring Cloud Gateway includes many built-in Route Predicate Factories. All of these predicates match on different attributes of the HTTP request. Multiple Route Predicate Factories can be combined and are combined via logical and.

4.1 After Route Predicate Factory

The After Route Predicate Factory takes one parameter, a datetime. This predicate matches requests that happen after the current datetime.

application.yml. 

spring:
@@ -390,7 +390,7 @@ using something like         uri: ws://localhost:3001
         predicates:
         - Path=/websocket/**

-

6.8 Making An Exchange As Routed

After the Gateway has routed a ServerWebExchange it will mark that exchange as "routed" by adding gatewayAlreadyRouted +

6.8 Gateway Metrics Filter

The Gateway Metrics Filter runs as long as the property spring.cloud.gateway.metrics.enabled is not set to false. This filter adds a timer metric named "gateway.requests" with the following tags:

  • routeId: The route id
  • routeUri: The URI that the API will be routed to
  • outcome |Outcome as classified by HttpStatus.Series
  • status: Http Status of the request returned to the client

These metrics are then available to be scraped from /actuator/metrics/gateway.requests and can be easily integated with Prometheus to create a Grafana dashboard.

6.9 Making An Exchange As Routed

After the Gateway has routed a ServerWebExchange it will mark that exchange as "routed" by adding gatewayAlreadyRouted to the exchange attributes. Once a request has been marked as routed, other routing filters will not route the request again, essentially skipping the filter. There are convenience methods that you can use to mark an exchange as routed or check if an exchange has already been routed.

  • ServerWebExchangeUtils.isAlreadyRouted takes a ServerWebExchange object and checks if it has been "routed"
  • ServerWebExchangeUtils.setAlreadyRouted takes a ServerWebExchange object and marks it as "routed"

7. Configuration

Configuration for Spring Cloud Gateway is driven by a collection of `RouteDefinitionLocator`s.

RouteDefinitionLocator.java.  diff --git a/spring-cloud-gateway.xml b/spring-cloud-gateway.xml index 6aeb35e9..af8e6b2c 100644 --- a/spring-cloud-gateway.xml +++ b/spring-cloud-gateway.xml @@ -945,6 +945,25 @@ public GlobalFilter c() { +

+Gateway Metrics Filter +The Gateway Metrics Filter runs as long as the property spring.cloud.gateway.metrics.enabled is not set to false. This filter adds a timer metric named "gateway.requests" with the following tags: + + +routeId: The route id + + +routeUri: The URI that the API will be routed to + + +outcome |Outcome as classified by HttpStatus.Series + + +status: Http Status of the request returned to the client + + +These metrics are then available to be scraped from /actuator/metrics/gateway.requests and can be easily integated with Prometheus to create a Grafana dashboard. +
Making An Exchange As Routed After the Gateway has routed a ServerWebExchange it will mark that exchange as "routed" by adding gatewayAlreadyRouted