* Rename: MetricsLeapArray -> BucketLeapArray
* Add implementation for `FutureBucketLeapArray`, a kind of `BucketLeapArray` that only reserves for future buckets, which is used for calculating occupied future tokens.
* Add OccupiableBucketLeapArray that combines common BucketLeapArray with FutureBucketLeapArray. The rollingNumberInSecond in StatisticNode now uses OccupiableBucketLeapArray by default.
* Add OccupySupport interface. Node now implements OccupySupport interface.
* Add occupy-related methods in Metric and ArrayMetric.
* Handle prioritized requests in default traffic shaping controller.
* Update default occupyTimeout to 500ms
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
- Update test cases (use assertEquals(e, a, delta) instead)
- Also add `totalPass` method in Node interface
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
- The implementation leverages Sentinel Reactor Adapter. Two main components: SentinelWebFluxFilter and SentinelBlockExceptionHandler
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
- `Entry` class now implements `AutoCloseable` so it supports try-with-resources (`close` method adapts to `exit`)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
* Add reactive adapter implementation for Project Reactor (Mono/Flux) including a reactor transformer and an experimental `ReactorSphU`
* Add an `InheritableBaseSubscriber` that derives from the original BaseSubscriber of reactor-core
* Add basic test cases for reactor adapter
* Add Sentinel context enter support for EntryConfig in reactor transformer
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
* Support removing unhealthy machine manually
* Auto removal support for dead machine
* Auto hidden for app if one have no healthy machine after some time(configurable)
* Auto removal for app if hidden status lasts(configurable).
* Add a ApiCommandHandler which fetch all registered CommandHandlers so that user can get all available CommandHandlers by request /api
* Add a customized CommandHandler demo
- The NPE will occur when multiple threads are trying to create the connection group for the same namespace
Signed-off-by: Eric Zhao <sczyh16@gmail.com>