# Spring Cloud Polaris RateLimit Example ## Project Explanation This project shows how to use ratelimit feature of Polaris to complete Spring Cloud application's rate limit ## Example ### How to access Before showcasing the project, let's get to know how to access Polaris rate limit component > ** note: this chapter is to help you understand different ways to access, the codes in the example has been executed, you don't need to re-edit.** 1, first, change document `pom.xml`, introduce Polaris ratelimit starter ```xml com.tencent.cloud spring-cloud-starter-tencent-polaris-ratelimit ``` 2. Launch Application Examples provided by Polaris all support to run at IDE, or compile and run with orders - Launch Polaris locally - at Polaris end, through control panel, under namespace Product, add RateLimitCalleeService - Launch callee server: 1. Launch IDE directly: First find `RateLimitCalleeService`, execute main then launch application 2. compile package then launch: first execute `mvn clean package` compile the package - then execute `java -jar ratelimit-callee-sevice-${verion}.jar` execute the application - then execute `java -jar ratelimit-caller-sevice-${verion}.jar` execute the application - After launching, one can watch server instance from Polaris control panel 3. Invoke Service After visiting http://127.0.0.1:58080/business/invoke, one can see the following information: ```` hello world for ratelimit service 1 hello world for ratelimit service 2 hello world for ratelimit service 3 ... ```` 4. Configuration rate limit and verification Polaris provide three wats to conduct rate limit configuration (control panel, HTTP port and local files) - HTTP configuration. One can figure with the following steps: ```` curl -X POST -H "Content-Type:application/json" 127.0.0.1:8090/naming/v1/ratelimits -d @rule.json ```` - Configuration is done through the console, example as follows. ![](polaris-ratelimit-ui.png) 5. Verify rate limit result continue visit http://127.0.0.1:68080/business/invoke, one can see, after 10 invokes, rate limit will start: ```` hello world for ratelimit service 1 hello world for ratelimit service 2 ````