Commit Graph

756 Commits

Author SHA1 Message Date
Eric Zhao 22ab527064 Update README.md and doc
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-28 14:23:34 +08:00
Eric Zhao d85c385caa Add awesome-sentinel and README to doc
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-28 10:34:34 +08:00
format 4592c45741 Upgrade nacos-client version and construct NacosDataSource by Properties (#348)
* Polish #272: upgrade nacos-client version and create a new constructor for NacosDataSource to support namespace, endpoint, ak, sk and so on
* check properties in NacosDataSource
2018-12-28 00:27:25 +08:00
Allen Sun af3360948d CI: make Circle CI to linter repo details (#344)
Signed-off-by: Allen Sun <allensun.shl@alibaba-inc.com>
2018-12-27 17:39:11 +08:00
leitao 8d5834d2d3 Translate some javadoc to English in MetricFetcher (#338) 2018-12-26 16:13:05 +08:00
cdfive 4fbccd879b Add some unit test for sentinel-transport-netty-http module (#321) 2018-12-26 16:08:04 +08:00
Eric Zhao f046194d6b Add sampleCount and windowInterval item to cluster config of flow rule and param rule
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-25 11:44:40 +08:00
Carpenter Lee c047457c2f
Fix/list metric files (#331)
* Fix #330 : fix listMetricFiles() returns wrong file name list.

Signed-off-by: Carpenter Lee <hooleeucas@163.com>

* Add timestamp check when read metrics.

Signed-off-by: Carpenter Lee <hooleeucas@163.com>

* Refine test case

Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2018-12-25 09:31:18 +08:00
Eric Zhao d3bbe290c2
Refinement for heartbeat logic in sentinel-transport related module (#312)
- Code refinement for heartbeat component in transport related module
- Add remove support of `SentinelConfig`

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-24 18:03:31 +08:00
Eric Zhao 96dac7a1e0 Update constructor of Sentinel cluster server statistic component
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-24 18:02:50 +08:00
Eric Zhao a2b91a9030 Refactor the constructor and units of LeapArray and related statistic class
- The constructor now accept `sampleCount` and `windowIntervalMs` so that it can match the two basic properties

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-24 18:02:50 +08:00
Eric Zhao c7c59e9de7 Move local frontend lib assets from dist to lib directory
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-19 16:42:40 +08:00
Eric Zhao d88ffcd697 Small improvements for `sentinel-transport`
- Modify the init order of command center init func to -1 (prioritized than before)
- Add CommandConstants for common use

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-18 21:13:07 +08:00
Eric Zhao 8096b22eb1 Add cluster embedded mode handling logic for parameter flow checker
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-18 19:58:08 +08:00
Eric Zhao d3eb638931 Update README.md
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-17 14:51:09 +08:00
leitao e5cc277f0a Remove duplicate class in sentinel-core (#309)
ClusterTokenClient.java,TokenClientProvider.java in package `com.alibaba.csp.sentinel.cluster`
2018-12-17 14:14:16 +08:00
Eric Zhao cfcf45de99
Update README.md 2018-12-17 11:14:27 +08:00
Eric Zhao 9916dad403 Bump version to 1.4.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-17 10:23:19 +08:00
Carpenter Lee 84934b8679 Catch Throwable rather than Exception when sending heartbeat.
Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2018-12-15 09:05:28 +08:00
Eric Zhao c7b5653249 Bump version to 1.4.0
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 14:59:27 +08:00
Eric Zhao 40cd335ec1 Update fastjson dependency to 1.2.54
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 14:46:52 +08:00
Eric Zhao f49870402d Move CDN resources to local in Sentinel Dashboard
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 14:41:12 +08:00
Eric Zhao 0059b1a42d Add frontend service and pages for Sentinel cluster flow control in dashboard
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 14:33:57 +08:00
Eric Zhao 8961927a12 Add dashboard logic for Sentinel cluster flow control
- Update SentinelApiClient to support new-added command APIs
- Add controller for cluster config
- Add flow controller v2 for global rule pulling / pushing
- Extract dynamic rule provider and publisher interface for customized extensions
- Add basic cluster config service
- Add basic Nacos integration (in test as an example)

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 14:33:57 +08:00
Eric Zhao fba114d43e
Merge pull request #294 from alibaba/feature/cluster-flow-control
- Add default cluster flow control implementation
2018-12-14 12:37:30 +08:00
Eric Zhao 465b44b7e7
Merge branch 'master' into feature/cluster-flow-control 2018-12-14 10:58:20 +08:00
Eric Zhao f01fe2b437 Add demo module for Sentinel cluster flow control
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:54:30 +08:00
Eric Zhao 2735954afd Update cluster related command APIs and some enhancement and fix for cluster module
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:54:30 +08:00
Eric Zhao a5819e092d Add HTTP command for modifying global state and client config
- Add several command handlers
- Update cluster state manager

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:54:30 +08:00
Eric Zhao 2d1313f220 Update test dependency of sentinel-cluster-server-default
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:54:30 +08:00
Eric Zhao a731811d27 Polish default cluster server module for initial work
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 138c265a34 Polish cluster client module
- Initial work

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 9a69104f79 Refactor param flow checker to support embedded server mode
- Add exception item extracting method in ParamFlowRule

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 2689a3ff43 Add `@RequestType` annotation and common config supplier registry
- Add a `@RequestType` annotation for common use (e.g. request handler, encoder or decoder)
- Add a registry for universal config supplier (e.g. namespace of client)

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 9314fca8a6 Add cluster state manager to manage cluster mode
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao e31e7e0208 Update cluster related logic in core
- Remove "borrow-from-ref" mode
- Improve flow checker to support both embedded server mode and client mode

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao ba72d4c67a Rearrangement and refinement of statistic code in core
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 9d42edcffa Add cluster token server interface to core and support embedded mode
- Add a EmbeddedClusterTokenServer interface

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 9f2678eb6c Update token client interface in sentinel-core
- Add `start` and `stop` method for automatic control
- Update TokenClientProvider using SpiLoader

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao b973aca1f5 Add implementation for default token server module
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao f83ea428ff Update token client interface and default implementation
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao 6caa19ea95 Add default Sentinel cluster transport implementation with Netty
- Add Netty transport client implementation and default cluster token client
- Add config manager for cluster client
- Add codec SPI mechanism for client entity decoder / writer

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:28 +08:00
Eric Zhao b3ae7f58bf Add common module for Sentinel default cluster implementation
- Add a `ClusterTransportClient` for transport abstraction of Sentinel cluster
- Add universal request/response interface and common ClusterRequest/ClusterResponse abstraction
- Add common request/response data entity
- Add basic abstraction of codec (EntityWriter and EntityDecoder)

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:21 +08:00
Eric Zhao 1043648fbc Update parameter flow rule to adapt to cluster mode and extract rule util class
- Update ParamFlowRule to support cluster mode
- Add `ParamFlowClusterConfig` to provide cluster mode items for the rule
- Update ParamFlowChecker to support cluster flow mode
- Extract ParamFlowRuleUtil class
- Change type of `flowId` from Integer to Long

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:21 +08:00
Eric Zhao b215e8784e Update flow rule for cluster mode and extract util class
- Add new field `clusterMode` and `clusterConfig` for cluster mode
- Add a `ClusterFlowConfig` class for specific items for cluster flow control
- Update FlowRuleChecker to support cluster mode
- Extract valid rule checking and rule map generating logic to FlowRuleUtil

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:21 +08:00
Eric Zhao 6545a90d46 Add basic interface and entity for Sentinel cluster flow control
- Add a universal `TokenService` SPI interface for both local flow control and distributed flow control
- Add TokenResult entity to represents result of acquiring token
- Add `ClusterTokenClient` as the SPI interface for client of Sentinel cluster flow control

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2018-12-14 10:52:21 +08:00
leitao 512b27bba3 Fix javadoc typo in decreaseThreadNum() method of Node interface (#296) 2018-12-11 11:56:45 +08:00
Yuanqing Luo 6802f97528 Add HTTP-method level flow control support in Sentinel Web Servlet Filter (#282)
- Add HTTP method level support for servlet filter with a init parameter `HTTP_METHOD_SPECIFY` as the switch. This is useful for REST APIs.
- Add test cases and fix test bug by reset the cluster node in ClusterBuilderSlot
2018-12-09 23:08:03 +08:00
Eric Zhao ad1d9f0270
Update README.md 2018-12-03 15:13:14 +08:00
nick.tan eb29cc929f Add heartbeat client ip config to resolve ip problem in Docker env (#261) 2018-12-03 09:48:15 +08:00