Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序猿小郑
microservices-platform
提交
2d67a0ae
microservices-platform
项目概览
程序猿小郑
/
microservices-platform
与 Fork 源项目一致
Fork自
zlt2000 / microservices-platform
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
microservices-platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2d67a0ae
编写于
4月 16, 2020
作者:
zlt2000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update spring-cloud-alibaba to v2.1.2.RELEASE
上级
5b1f1b55
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
55 addition
and
16 deletion
+55
-16
pom.xml
pom.xml
+1
-1
zlt-commons/zlt-sentinel-spring-boot-starter/pom.xml
zlt-commons/zlt-sentinel-spring-boot-starter/pom.xml
+6
-0
zlt-commons/zlt-sentinel-spring-boot-starter/src/main/java/com/central/sentinel/config/SentinelAutoConfigure.java
...va/com/central/sentinel/config/SentinelAutoConfigure.java
+43
-12
zlt-config/src/main/resources/bootstrap.properties
zlt-config/src/main/resources/bootstrap.properties
+2
-0
zlt-gateway/sc-gateway/src/main/resources/application.yml
zlt-gateway/sc-gateway/src/main/resources/application.yml
+1
-1
zlt-gateway/zuul-gateway/src/main/resources/application.yml
zlt-gateway/zuul-gateway/src/main/resources/application.yml
+2
-2
未找到文件。
pom.xml
浏览文件 @
2d67a0ae
...
...
@@ -13,7 +13,7 @@
<maven.compiler.target>
1.8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<java.version>
8
</java.version>
<spring-cloud-alibaba-dependencies.version>
2.1.
1
.RELEASE
</spring-cloud-alibaba-dependencies.version>
<spring-cloud-alibaba-dependencies.version>
2.1.
2
.RELEASE
</spring-cloud-alibaba-dependencies.version>
<spring-boot-dependencies.version>
2.1.12.RELEASE
</spring-boot-dependencies.version>
<spring-cloud-dependencies.version>
Greenwich.SR5
</spring-cloud-dependencies.version>
<commons-collections4.version>
4.4
</commons-collections4.version>
...
...
zlt-commons/zlt-sentinel-spring-boot-starter/pom.xml
浏览文件 @
2d67a0ae
...
...
@@ -40,5 +40,11 @@
<artifactId>
spring-boot-configuration-processor
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-webflux
</artifactId>
<optional>
true
</optional>
</dependency>
</dependencies>
</project>
zlt-commons/zlt-sentinel-spring-boot-starter/src/main/java/com/central/sentinel/config/SentinelAutoConfigure.java
浏览文件 @
2d67a0ae
package
com.central.sentinel.config
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.csp.sentinel.adapter.servlet.callback.UrlBlockHandler
;
import
com.alibaba.csp.sentinel.adapter.servlet.callback.WebCallbackManager
;
import
com.alibaba.csp.sentinel.slots.block.BlockException
;
import
com.alibaba.csp.sentinel.adapter.spring.webflux.callback.BlockRequestHandler
;
import
com.alibaba.csp.sentinel.adapter.spring.webflux.callback.WebFluxCallbackManager
;
import
com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.BlockExceptionHandler
;
import
com.alibaba.csp.sentinel.adapter.spring.webmvc.config.SentinelWebMvcConfig
;
import
com.central.common.model.Result
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.reactive.function.BodyInserters
;
import
org.springframework.web.reactive.function.server.ServerResponse
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
/**
* Sentinel配置类
*
* @author zlt
* @date 2019/1/22
* <p>
* Blog: https://blog.csdn.net/zlt2000
* Github: https://github.com/zlt2000
*/
public
class
SentinelAutoConfigure
{
public
SentinelAutoConfigure
()
{
WebCallbackManager
.
setUrlBlockHandler
(
new
CustomUrlBlockHandler
());
/**
* 限流、熔断统一处理类
*/
@Configuration
@ConditionalOnClass
(
HttpServletRequest
.
class
)
public
static
class
WebmvcHandler
{
public
WebmvcHandler
(
SentinelWebMvcConfig
config
)
{
config
.
setBlockExceptionHandler
(
webmvcBlockExceptionHandler
());
}
public
BlockExceptionHandler
webmvcBlockExceptionHandler
()
{
return
(
request
,
response
,
e
)
->
{
response
.
setStatus
(
429
);
Result
result
=
Result
.
failed
(
e
.
getMessage
());
response
.
getWriter
().
print
(
JSONUtil
.
toJsonStr
(
result
));
};
}
}
/**
* 限流、熔断统一处理类
*/
public
class
CustomUrlBlockHandler
implements
UrlBlockHandler
{
@Override
public
void
blocked
(
HttpServletRequest
httpServletRequest
,
HttpServletResponse
httpServletResponse
,
BlockException
e
)
throws
IOException
{
Result
result
=
Result
.
failed
(
"flow-limiting"
);
httpServletResponse
.
getWriter
().
print
(
JSONUtil
.
toJsonStr
(
result
));
@Configuration
@ConditionalOnClass
(
ServerResponse
.
class
)
public
static
class
WebfluxHandler
{
public
WebfluxHandler
()
{
WebFluxCallbackManager
.
setBlockHandler
(
webfluxBlockExceptionHandler
());
}
public
BlockRequestHandler
webfluxBlockExceptionHandler
()
{
return
(
exchange
,
t
)
->
ServerResponse
.
status
(
HttpStatus
.
TOO_MANY_REQUESTS
)
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
body
(
BodyInserters
.
fromObject
(
Result
.
failed
(
t
.
getMessage
())));
}
}
}
zlt-config/src/main/resources/bootstrap.properties
浏览文件 @
2d67a0ae
...
...
@@ -4,6 +4,8 @@ spring.profiles.active=dev
##### nacos(注册中心和配置中心)地址
spring.cloud.nacos.server-addr
=
192.168.28.130:8848
spring.cloud.nacos.username
=
nacos
spring.cloud.nacos.password
=
nacos
spring.cloud.nacos.config.file-extension
=
yml
spring.cloud.nacos.config.shared-dataids
=
common.yml
spring.cloud.nacos.config.refreshable-dataids
=
common.yml
...
...
zlt-gateway/sc-gateway/src/main/resources/application.yml
浏览文件 @
2d67a0ae
...
...
@@ -75,7 +75,7 @@ spring:
-
StripPrefix=1
# sentinel:
# datasource.ds1.nacos:
# server-addr: ${
zlt
.nacos.server-addr}
# server-addr: ${
spring.cloud
.nacos.server-addr}
# data-id: ${spring.application.name}-sentinel-gw-flow
# group-id: DEFAULT_GROUP
# ruleType: gw-flow
...
...
zlt-gateway/zuul-gateway/src/main/resources/application.yml
浏览文件 @
2d67a0ae
...
...
@@ -14,14 +14,14 @@
# 限流
# ds1:
# nacos:
# server-addr: ${
zlt
.nacos.server-addr}
# server-addr: ${
spring.cloud
.nacos.server-addr}
# dataId: ${spring.application.name}-sentinel-gw-flow
# groupId: DEFAULT_GROUP
# rule-type: gw-flow
# api分组
# ds2:
# nacos:
# server-addr: ${
zlt
.nacos.server-addr}
# server-addr: ${
spring.cloud
.nacos.server-addr}
# dataId: ${spring.application.name}-sentinel-gw-api-group
# groupId: DEFAULT_GROUP
# rule-type: gw-api-group
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录