-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Add Sentinel Spring WebFlux adapter module #556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fe52e30
to
14e839c
Compare
Codecov Report
@@ Coverage Diff @@
## master #556 +/- ##
============================================
+ Coverage 38.31% 39.38% +1.06%
- Complexity 1158 1210 +52
============================================
Files 267 271 +4
Lines 8414 8499 +85
Branches 1133 1134 +1
============================================
+ Hits 3224 3347 +123
+ Misses 4777 4727 -50
- Partials 413 425 +12
Continue to review full report at Codecov.
|
- The implementation leverages Sentinel Reactor Adapter. Two main components: SentinelWebFluxFilter and SentinelBlockExceptionHandler Signed-off-by: Eric Zhao <[email protected]>
Signed-off-by: Eric Zhao <[email protected]>
Signed-off-by: Eric Zhao <[email protected]>
14e839c
to
fdeb4de
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
[ISSUE alibaba#556]Fix useEpollNativeSelector=true Broker Start Exception
Describe what this PR does / why we need it
Add Sentinel Spring WebFlux adapter to support integration with Spring WebFlux (reactive). I've also provided a demo for it.
Does this pull request fix one issue?
Resolves #230
Describe how you did it
SentinelWebFluxFilter
to intercept the request and wrap with Sentinel using Sentinel Reactor transformer.SentinelBlockExceptionHandler
that will handle theBlockException
and return a default message body by default.Default message body resembles:
Describe how to verify it
Run the test cases.
Special notes for reviews
Plz run the demo in local to see whether it works correctly.