Spring WebFlux下相同Pattern不同的Path参数会被视为不同的资源名,导致容易达到SlotChain的上限
- Dominant language
- Java
- Stars
- 23.1k
- Forks
- 8.1k
- PR merge metrics
- No merged PRs in 30d
Description
## Issue Description
Spring WebFlux下使用Sentinel,没有对带有Path参数的路径做归类统一,每个不同的Path参数将会被当成不同的资源,极其容易将6000个SlotChain上限给打满,进而使得后续资源无法正常使用相应的治理功能
Type: bug report
### Describe what you expected to happen
可以对相同Pattern且包含Path参数的路径视为同一个资源
### How to reproduce it (as minimally and precisely as possible)
1. master分支上的Sentinel
2. 使用Spring WebFlux adapter
3. 在WebFlux应用中构造带有path参数的端点
### Tell us your environment
1.最新版Sentinel
2.JDK 1.8
### Anything else we need to know?
个人测试截图如下:
dashboard:
RouterFunction类型包含Path参数的端点:
RequestMappingHandlerMapping类型包含Path参数的端点:

Contributor guide
Research direction
Start with the Spring WebFlux adapter and reproduce the report using both RouterFunction and RequestMappingHandlerMapping endpoints that contain path parameters. Compare resource names for requests matching the same pattern; done means those requests share one resource and do not consume separate SlotChain entries up to the reported limit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100