spring-cloud-gateway网关设计最强实践(附完整代码)

微信号:hbhk1314

 

一、gateway的常用功能实现

1、动态路由添加(自动或手动)(已支持数据库配置管理功能)

自动:根据注册获取添加

手动:根据spring-cloud-gateway 提供刷新接口:

org.springframework.cloud.gateway.event.RefreshRoutesEvent.RefreshRoutesEvent

2、服务治理(降级、限流、隔离、熔断)(已支持数据库配置管理功能)

降级:提供降级配置、提供服务的启用和关闭,使用GlobalFilter拦截。

限流:提供限流配置、使用guava RateLimiter实现单机信号量限流。

隔离:提供隔离配置、使用GlobalFilter拦截,进入前设置信号量、完成时释放信号量

熔断:提供隔离配置、使用GlobalFilter拦截,发生异常时,记录异常次数,到达次数开启熔

断,进入半开。之后根据配置时间,进入尝试,成功开启、失败后续继续重试

 

3、网关统一异常处理

实现org.springframework.boot.web.reactive.error.ErrorWebExceptionHandler统一封装返回格

式。

 

二、高性能网关设计

a、网关核心系统必须是无状态的、便于扩展

b、运行时本地存储,尽量在内存里面完成服务的处理和路由

c、减少对线程的依赖,采用非阻塞IO和异步事件响应机制

d、网关必须要自己的超时策略、不要依赖服务的超时时间

e、servlet 3 异步,netty 多路复用、netty work线程与业务线程分离

 

三、网关使用:

a、执行脚本

b、启动:org.hbhk.hxl.gateway.GatewayApplication

c、代码地址:https://gitee.com/hbhk/hxl-gateway

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值