Commit Graph

846 Commits

Author SHA1 Message Date
mshe c48e742041 refactor(nacos): 重构Nacos配置管理并更新默认设置
- 使用@Autowired注入Nacos配置信息,替换原有@Value方式
- 新增NacosServerConfig类统一管理Nacos服务器配置
- 更新application.properties中的默认用户名和密码为admin/admin
- 修改Nacos命名空间配置为namespace-sentinel
- 调整Nacos配置工具类中的数据ID前缀和组ID常量
- 添加API分组和网关流控规则相关的数据ID生成方法
- 统一Nacos配置服务创建逻辑,使用新的配置注入方式
2025-11-21 02:50:01 +08:00
mshe 35dbe68c4d feat(sentinel): 实现Nacos规则推送功能并优化包结构
- 新增AuthorityRule、DegradeRule、ParamFlowRule和SystemRule的Nacos推送实现
- 重构FlowRule相关类到独立的flow包下
- 统一Nacos配置工具类,支持多种规则类型的dataId生成
- 移除对nacos-api的直接依赖声明
- 为各类规则增加Nacos配置的编解码器
- 在控制器中集成Nacos推送逻辑,增强规则发布的可靠性
2025-11-20 23:07:05 +08:00
mshe bbe93b0bf3 feat(sentinel): 配置nacos地址并优化流控规则推送逻辑
- 修改nacos配置中心地址为172.16.8.70:8848
- 注入FlowRuleNacosPublisher实现流控规则发布功能
- 重构publishRules方法增加异常处理和日志记录
- 调整流控规则dataId格式从后缀改为前缀方式
- 更新Nacos配置发布方法参数支持JSON类型
- 修复代码缩进和格式问题提升可读性
2025-11-20 20:24:50 +08:00
mshe 01e806b87b feat(dashboard): 集成Nacos配置中心支持
- 添加Nacos配置属性以连接配置中心
- 引入sentinel-datasource-nacos依赖用于规则持久化
- 实现FlowRuleNacosProvider从Nacos获取流控规则
- 实现FlowRuleNacosPublisher向Nacos发布流控规则
- 创建NacosConfig配置类管理Nacos连接和服务实例
- 定义NacosConfigUtil常量类统一配置标识符
- 配置文件中增加默认Nacos服务器地址和认证信息
2025-11-20 09:29:42 +08:00
ylnxwlp a08dc695ba
fix: fix the bugs about http-method-specify in spring-webmvc-v6x and incorrect time unit in dashboard (#3569)
* Fix the bugs mentioned in issue #3562 and #3563.
Fix the issue in the spring-webmvc-v6x-adapter where, after configuring http-method-specify:true, the prefixes for different request methods were not concatenated.
Fix incorrect time unit in the tooltip when adding a new circuit breaker rule with statistical window duration.

* Fix the bugs mentioned in issue #3562 and #3563.
Fix the issue in the spring-webmvc-v6x-adapter where, after configuring http-method-specify:true, the prefixes for different request methods were not concatenated.
Fix incorrect time unit in the tooltip when adding a new circuit breaker rule with statistical window duration.

* Fixed the issue where the original test class was affected by the concatenation of resource names after adding the logic for the HTTP prefix concatenation.

* remove mseHttpMethodSpecify field and update the unit test as suggested.

* retrigger CI
2025-11-03 18:01:05 +08:00
gaoyf e60f0d0eee
feat: skip regex resource matching when exact match exists (default disabled, configurable)(#3565)
* Simple rules should have higher priority than regular expression rules

* Add optional switch to skip regex matching when simple rules already match, default: false, keeps backward compatibility.

* fix RuleManagerTest unit test failure
2025-11-03 17:57:14 +08:00
LearningGp d75a6687b8 chore: update release configuration
Change-Id: Ic0556103ed65c4c760bb9b21132b72cd22770b68
2025-10-17 14:14:18 +08:00
LearningGp eb3a9b099a
Bump version to 1.8.9 (#3566)
* chore: update release configuration

* Bump version to 1.8.9
2025-10-16 20:26:58 +08:00
XenoAmess 7e17ae7c0d
chore: refine pom (#3560) 2025-09-30 15:08:50 +08:00
manojks1999 4a419818af
perf: improved Date formatter (#3466)
* Improved Date formatter

* change in naming conv

* change in datetime format

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-16 09:42:41 +08:00
Heramb Joshi d9398b4f75
chore(test): fixed offset syntax by using a correct method. (#3459) 2025-09-15 19:34:41 +08:00
uuuyuqi 4cad353dda
feat(adapter): new SpringCloudGateway v6 adapter for supporting the SpringCloud 2025 version (#3542)
* feat: support Spring Cloud Alibaba 2025

* Add maven property to fix ci failure

* doc: Update README.md
2025-08-25 15:11:46 +08:00
mawen ca596457b0
refactor: remove repeat check code (#3501) 2025-08-19 19:27:34 +08:00
DepUpdater 9fa818cbc9
chore(deps): bump slf4j-api version to 2.0.16(#3536) 2025-08-19 11:42:36 +08:00
LearningGp 5473ad7b3e
fix(README.md): Fix MD059 issue (#3539) 2025-08-07 15:38:27 +08:00
Lingzhi 195150bc74
fix issue 2485 which occur oom when using async servlet request. (#3440)
* fix issue 2485 which occur oom when using async servlet request.

* optimize imports

* 1. fix the same issue in the webmvc-v6x
2. improve based on review comments
2024-08-23 13:43:53 +08:00
lemonJ b78b09d324
feat: sentinel can feel exception though application has configured ExceptionHandler (#3409) 2024-08-20 16:29:38 +08:00
zhangxunwei 02c97fef65
Add sentinel servlet adapter demo (#3422) 2024-08-16 14:30:07 +08:00
LearningGp 3892514c53 Bump version to 1.8.8 2024-06-04 16:05:34 +08:00
dependabot[bot] 773a715827
build(deps-dev): Bump org.springframework:spring-context (#3404)
Bumps [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) from 5.1.5.RELEASE to 5.2.21.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.1.5.RELEASE...v5.2.21.RELEASE)

---
updated-dependencies:
- dependency-name: org.springframework:spring-context
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-29 20:39:59 +08:00
dependabot[bot] cf81be1bb0
build(deps): Bump com.fasterxml.jackson.core:jackson-databind (#3342)
Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.13.0 to 2.13.4.2.
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-29 20:32:58 +08:00
dowenliu-xyz 568e2df296
Fix reflection exceptions caused by having identically named fallback/blockHandler with different parameter types (#3395) 2024-05-29 20:26:30 +08:00
dependabot[bot] bb813ddff3
build(deps-dev): Bump org.springframework:spring-expression (#3375)
Bumps [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) from 5.1.8.RELEASE to 5.2.24.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v5.1.8.RELEASE...v5.2.24.RELEASE)

---
updated-dependencies:
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-27 21:02:44 +08:00
cdfive dbd3c06ca7
Fix when duplication spi class found using SpiLoader (#3387) 2024-04-28 09:53:01 +08:00
Robert Lu cd02b1dc8d
fix flaky tests and fix passDefaultLocalCheck (#3367)
* fix test case SentinelDubboConsumerFilterTest#testDegradeSync

* When test is run slow, count bucket will count on next time span, causing failed test.

* dos2unix ParamFlowDefaultCheckerTest.java

* fix testParamFlowDefaultCheckSingleValueCheckQpsMultipleThreads by rule.setDurationInSec(2)

* set threshold as count in 2 seconds to prevent the failure of the unit test when the unit test runs longer than 1 second.

* fix quarkus test by set /txt sleep 300

* If /txt sleep 500 ms, in testSentinelJaxRsQuarkusAdapter, may cause 2 request intervals of more than 1 s, which cause rate limit policy is not effective.

* fix testDegradeAsync

* When test is run slow, count bucket will count on next time span, causing failed test.

* use testcontainers to fix testConsulDataSourceWhenInit

* Project embedded-consul has been deprecated in favour of org.testcontainers:consul
* use consul testcontainers to fix testConsulDataSourceWhenInit, which means docker is required to run tests.
```
Error:  com.alibaba.csp.sentinel.datasource.consul.ConsulDataSourceTest.testConsulDataSourceWhenInit -- Time elapsed: 34.47 s <<< ERROR!
  com.pszymczyk.consul.EmbeddedConsulException: Could not start Consul process in 30 seconds
  	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
  	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
  	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
  	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:72)
 ```

* introduce intermediate node to avoid ABA problem
2024-04-17 10:25:25 +08:00
Robert Lu befdc56885
fix flaky tests (#3364)
* fix ParamFlowPartialIntegrationTest

mock TimeUtil to avoid time changed, and bucket moved to next.

* remove csp.sentinel.log.output.type

remove sysprop csp.sentinel.log.output.type in TimeUtilTest,
to avoid a few outputs.

* try fix testConcurrentAcquireAndRelease

* remove stdout

remove sout in ParamFlowThrottleRateLimitingCheckerTest,
to avoid a few outputs.

* ConcurrentClusterFlowCheckerTest,djust the flowId to prevent conflicts

* CurrentConcurrencyManagerTest,adjust the flowId to prevent conflicts

* update year
2024-03-25 10:09:16 +08:00
袁世超 24c93c8a1a
replace ThreadLocal<DateFormat> with DateTimeFormatter (#3353) 2024-03-21 13:41:11 +08:00
LearningGp ffe0d1ec81
Polish CodeCov related config (#3358) 2024-03-05 13:42:31 +08:00
LearningGp e945ffc3f5
Update .codecov.yml (#3356) 2024-03-01 18:33:49 +08:00
LearningGp 5a7a31087b
Update ci.yml (#3354) 2024-03-01 18:05:18 +08:00
luyanbo 669595d6a0 add depth: 0 2024-03-01 09:58:58 +08:00
luyanbo 6c475480eb rename to package com.alibaba.csp.sentinel.adapter.spring.webmvc_v6x 2024-03-01 09:58:58 +08:00
ruansheng 0ca82b63b7 update slf4j version 2024-03-01 09:58:58 +08:00
ruansheng d1d3d36054 Add webmvc-6x-adapter module 2024-03-01 09:58:58 +08:00
Robert Lu d995dfe2e7
try fix ci (#3350) 2024-02-28 20:51:17 +08:00
Robert Lu 3b9be97e75
configure codecov (#3349) 2024-02-28 19:35:30 +08:00
Robert Lu 41569f9a41
update CONTRIBUTING.md (#3346) 2024-02-27 19:02:31 +08:00
Robert Lu ae6ebb49d0
Move document-lint from circleci to github-actions (#3345)
Move document-lint from circleci to github-actions.
Adjust document according to markdownlint-cli rules.
2024-02-21 17:05:29 +08:00
Robert Lu 03fe33ee0b
Support run test at jdk21 (#3344)
Adjust the test logic, build with jdk17, and run with jdk21 (and the original 8, 11, 17)
2024-02-20 20:58:15 +08:00
Robert Lu 8fef1b5eee
Support jdk17 (#3339)
Adjust the test logic, use jdk17 to build, 8, 11, 17 to run
2024-02-20 18:58:52 +08:00
LearningGp 2b7a989e29
Update workflows (#3325) 2024-02-01 19:45:41 +08:00
LearningGp f3fd4e6187 Bump version to 1.8.7 2023-12-28 19:32:10 +08:00
LearningGp 665fb541a7 Bump version to 1.8.7-SNAPSHOT 2023-12-28 17:48:44 +08:00
LearningGp 15bd6c62b9
Add FlowQpsRegexDemo in sentinel-demo-basic (#3296) 2023-12-28 17:44:48 +08:00
quguai c4ed9a3aba Resource rules (flow/degrade/param/authority) support regex matching (#3251) 2023-12-27 20:44:06 +08:00
karl-sy 2e18c3e916 metric: Add Prometheus exporter module for Sentinel metrics (#3173) 2023-12-27 20:43:41 +08:00
SaaiVenkat 1dea35095b Fix order dependent tests in SofaRpcFallbackRegistryTest (#3282) 2023-12-27 20:40:27 +08:00
Robert Lu 94f92ea635 make all ThreadPool static final (#3243)
* make all ThreadPool static final

* update github workflow
2023-12-27 20:40:27 +08:00
karl-sy ae42ddd35f Make default JUL-based logging asynchronous (#3136)
* fix issues/1463 : Make default JUL-based logging asynchronous
2023-12-27 20:40:27 +08:00
quguai c4997eee15 Remove the requirement of carrying batchCount and args in entry.exit() (#3114) 2023-12-27 20:40:27 +08:00