# Spring Cloud Polaris Gateway example ## Example Introduction This example shows how to use ```spring-cloud-tencent-polaris-gateway``` in Spring Cloud project for its features. This example contains ```gateway-zuul-service```, ```gateway-scg-service``` and ```gateway-callee-service```. ```gateway-zuul-service``` and ```gateway-scg-service``` invoke ```gateway-callee-service```. ## Instruction ### Configuration The configuration is as the following shows. ${ip} and ${port} are Polaris backend IP address and port number. ```yaml spring: application: name: ${application.name} cloud: polaris: address: ${ip}:${port} ``` ### Launching Example #### Launching Polaris Backend Service Reference to [Polaris Getting Started](https://github.com/PolarisMesh/polaris#getting-started) #### Launching Application - IDEA Launching Launching ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-zuul-service```'s ```GatewayZuulService```, ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-scg-service```'s ```GatewayScgService``` and ```spring-cloud-tencent-examples/polaris-gateway-example/gateway-callee-service```'s ```GatewayCalleeService``` - Maven Package Launching Execute under ```spring-cloud-tencent-examples/polaris-gateway-example``` ```sh mvn clean package ``` Then find the jars under ```gateway-zuul-service```, ```gateway-scg-service``` and ```gateway-callee-service```, and run it: ``` java -jar ${app.jar} ``` Launch application, change ${app.jar} to jar's package name. ### Verify #### Zuul Invoke ```shell curl -L -X GET 'http://localhost:48082/GatewayCalleeService/gateway/example/callee/echo' -H 'SCT-CUSTOM-METADATA: {"b": 2}' ``` Expected return rate ``` {"a":"1","b":2} ``` #### Spring-Cloud-Gateway Invoke ```shell curl -L -X GET 'http://localhost:48083/GatewayCalleeService/gateway/example/callee/echo' -H 'SCT-CUSTOM-METADATA: {"b": 2}' ``` Expected return rate ``` {"a":"1","b":2} ``` #### Gateway Rate Limit See [Polaris RateLimit Example](../polaris-ratelimit-example/README.md)